日志归档解决方案
- 格式:docx
- 大小:11.17 KB
- 文档页数:2
oracle清理30天归档日志-回复Oracle数据库是一种非常强大且广泛使用的关系型数据库管理系统。
随着时间的推移,数据库中的日志文件会逐渐增加,占用大量的存储空间。
为了确保系统正常运行并节约存储资源,定期清理归档日志文件变得至关重要。
本文将逐步介绍如何清理Oracle数据库中30天前的归档日志文件。
步骤一:确认数据库归档模式和归档日志保存期限在执行清理归档日志的操作之前,我们需要确认数据库当前的归档模式以及归档日志的保存期限。
归档模式主要有两种:归档模式(ARCHIVELOG)和非归档模式(NOARCHIVELOG)。
归档模式下,Oracle 会将已经使用的日志文件以及在线日志文件归档并保存为归档日志文件。
非归档模式下,Oracle只保留正在使用的日志文件,不会进行归档保存。
要确认数据库的归档模式,可以执行以下SQL语句:SELECT log_mode FROM vdatabase;该查询结果将显示数据库当前的归档模式。
另外,我们还需要确认数据库的归档日志保存期限。
Oracle会根据数据库的配置自动删除30天以前的归档日志文件。
如果需要更改归档日志保存期限,可以执行以下SQL语句:ALTER SYSTEM SET LOG_ARCHIVE_RETENTION_TARGET=30;该语句将设置归档日志保存期限为30天。
请注意,更改归档日志保存期限可能会有一定的风险,请谨慎操作。
步骤二:确认数据库归档日志文件的位置在执行清理归档日志的操作之前,我们还需要确认数据库归档日志文件的位置。
可以执行以下SQL语句来获取归档日志文件的存储位置:SELECT name FROM VARCHIVE_DEST WHERE status='VALID';该查询结果将显示归档日志文件存储的位置。
步骤三:清理30天前的归档日志一旦确认了数据库的归档模式、归档日志保存期限以及归档日志文件的位置,我们就可以开始清理30天前的归档日志文件了。
oracle 归档日志解析摘要:一、归档日志概述二、归档日志的作用三、归档日志的解析方法四、归档日志解析的应用场景五、总结与建议正文:随着大数据时代的到来,Oracle 数据库归档日志在各行各业中发挥着越来越重要的作用。
本文将对归档日志进行简要概述,分析其作用,介绍解析方法,并讨论应用场景。
最后给出总结与建议。
一、归档日志概述Oracle 归档日志(Archive Log)是一种用于记录数据库事务日志的技术。
它可以将数据库中的更改操作(如插入、更新和删除)记录下来,以便在出现故障时恢复数据。
归档日志采用增量方式记录,即每次更改操作后,日志文件会逐步变大。
二、归档日志的作用1.数据恢复:归档日志可以在数据库发生故障时,用于恢复数据至故障发生前的状态。
2.数据审计:归档日志可以记录所有对数据库的更改操作,方便审计人员追溯和分析数据变更原因。
3.性能优化:通过分析归档日志,可以找出数据库性能瓶颈,为优化数据库性能提供依据。
三、归档日志解析方法1.手工解析:通过编写SQL 语句或使用第三方工具,查询归档日志文件内容,分析日志中的数据。
2.使用Oracle 提供的事件解析工具:如DBMS_LOGSTD.REPORT 等,可以方便地生成归档日志的报表和统计数据。
3.使用第三方归档日志分析工具:如Oracle 的Partner 产品OraInsight 等,可以提供更丰富的归档日志分析功能。
四、归档日志解析的应用场景1.数据库故障排查:通过分析归档日志,可以找出导致数据库故障的原因,快速恢复业务。
2.性能监控与优化:分析归档日志中的SQL 语句执行情况,找出性能瓶颈,优化数据库性能。
3.数据审计与追溯:归档日志可以记录所有数据变更操作,方便审计人员分析和追溯数据变更原因。
4.数据库安全分析:通过分析归档日志,可以监控数据库访问权限和操作,提高数据库安全。
五、总结与建议归档日志在数据库管理中具有重要意义。
对于数据库管理员而言,应充分利用归档日志进行故障排查、性能优化和数据审计等工作。
数据库的日志与归档说明书一、引言数据库的日志与归档是数据库管理的重要组成部分,它们扮演着记录和保护数据库操作的重要角色。
本说明书将介绍数据库的日志和归档功能的原理、使用方法以及一些注意事项。
二、日志1. 日志的定义及作用数据库的日志是一种记录数据库操作的手段,它可以追踪并记录数据库的每一次变更,包括数据的增删改等操作。
日志记录对于数据库的性能优化、错误恢复以及数据一致性都起到了至关重要的作用。
2. 日志的工作原理当数据库执行一项操作时,例如插入一条新数据,日志会记录这次操作的详细信息,包括操作的类型、执行的时间、执行的用户等。
数据库会先将这次操作写入日志文件,然后再将操作应用到数据库中,保证操作的持久性。
如果在操作执行过程中发生了错误,通过日志可以实现对数据库的错误恢复,确保数据的完整性。
3. 日志的使用方法在数据库管理系统中,我们可以通过设置日志级别来控制日志的详细程度。
一般情况下,我们可以将日志级别设置为适当的水平,既能满足性能要求,又能保证数据的完整性。
4. 日志的备份与恢复为了保证日志的安全性和可恢复性,我们需要定期对日志进行备份。
数据库管理系统通常提供了自动备份功能,我们只需要设置好备份策略即可。
而在数据库发生故障时,可以通过日志文件进行恢复,将数据库恢复到故障发生前的状态。
三、归档1. 归档的定义及作用数据库的归档是将数据库的日志文件进行存档,以便在需要时进行恢复和审计。
归档可以保留历史操作的记录,方便进行错误分析和审计追踪。
2. 归档的工作原理当数据库的日志文件达到一定大小或时间间隔时,数据库管理系统会将日志文件进行归档。
归档操作将当前的日志文件复制到一个指定的归档位置,并对归档文件进行命名和索引。
3. 归档的注意事项- 归档位置的选择:应选择一个安全的存储位置,确保归档文件不会因为磁盘故障或其他原因丢失。
- 归档策略的设置:应根据业务需求和存储容量来设置合理的归档策略,避免过多或过少的归档操作。
标题:Oracle数据库清理30天归档日志的最佳实践一、概述Oracle数据库在运行过程中会生成大量的归档日志,这些归档日志对于数据库的正常运行至关重要。
但是随着时间的推移,归档日志会逐渐堆积,影响数据库的性能和稳定性。
定期清理归档日志成为了数据库管理员必须要做的工作之一。
本文将就Oracle数据库清理30天归档日志的最佳实践进行详细介绍。
二、归档日志的作用1. 归档日志是数据库备份和恢复的重要组成部分,能够保证数据库发生故障时能够及时恢复到指定的时间点。
2. 归档日志还可以用于数据库的数据复制和迁移,保证数据的一致性和完整性。
3. 归档日志也是检测数据库性能问题和故障的重要依据,有助于数据库的运行监控和故障排查。
三、清理30天归档日志的必要性1. 避免归档日志文件过多导致空间不足的问题。
2. 提高数据库的性能和稳定性,减少I/O压力。
3. 降低数据库维护成本和工作量,在归档日志过多的情况下备份、恢复和数据导入导出都会受到影响。
四、清理30天归档日志的步骤1. 确认数据库当前的归档日志文件所在的位置和数量,可以使用以下SQL查询:SELECT * FROM V$LOG;SELECT * FROM V$LOGFILE;2. 确认需要保留的归档日志时间范围,一般推荐保留30天的归档日志。
3. 使用RMAN命令来清理归档日志,可以通过以下命令来实现:RMAN> DELETE ARCHIVELOG UNTIL TIME 'SYSDATE-30';4. 确认归档日志文件是否成功清理,可以通过以下SQL查询来验证: SELECT * FROM V$LOG;SELECT * FROM V$LOGFILE;五、清理策略的注意事项1. 确保在清理归档日志之前已经完成了相关的备份工作,以避免数据丢失的风险。
2. 定期监控数据库的归档日志文件数量和大小,及时调整清理策略以保证数据库的正常运行。
3. 在清理归档日志的过程中,要避免影响数据库的正常运行,可以选择在低峰期进行清理操作。
日志分析平台解决方案
《日志分析平台解决方案》
随着互联网和移动应用的普及,各种业务系统产生的日志数量急剧增加,如何高效地分析和利用这些日志成为了企业关注的焦点。
日志分析平台解决方案应运而生,成为企业管理日志的得力工具。
日志分析平台解决方案可以帮助企业实时地收集、处理、分析和存储各种日志数据,从而提供实时的监控、统计和可视化分析功能。
它可以帮助企业对业务系统进行监控和分析,以及发现业务问题、优化系统性能、预测潜在故障,从而提高系统的稳定性和可靠性。
日志分析平台解决方案通常包括以下几个功能模块:
1. 数据采集:支持多种数据源的日志采集,包括服务器日志、网络设备日志、数据库日志、应用程序日志等;
2. 数据处理:对采集到的日志数据进行清洗、解析、转换和聚合等处理,以便进一步分析和利用;
3. 数据存储:支持大规模的日志数据存储和管理,包括文件存储、数据库存储等多种存储方式;
4. 数据分析:提供强大的数据分析和挖掘功能,以及实时的监控和报警功能;
5. 数据展现:支持可视化地展现分析结果,如图表、报表、仪表盘等形式。
日志分析平台解决方案的优势在于其高效、可靠、实时的特点。
它可以帮助企业快速地发现问题和故障根因,并提供实时的反馈和预警,从而大大缩短故障处理的时间,提高系统的稳定性和可靠性。
总而言之,日志分析平台解决方案是企业管理日志的得力助手,它为企业提供了高效、可靠、实时的日志管理和分析功能,帮助企业提高系统的稳定性和可靠性,同时降低故障处理的成本和风险。
随着大数据和人工智能技术的不断发展,日志分析平台解决方案将发挥越来越重要的作用。
归档日志空间不足现的问题的现象1、软件正在操作,突然点击任何菜单无反应;2、打开登录界面后,输入用户名和密码长时间没反应;3、再次打开登录界面登录时,登录画面异常,同时输入用户名和密码后,出现需要提交license 提示界面;以下系统管理员操作4、oracle登录操作系统,输入以下命令:[oracle@OASERVER ~]$sqlplussql>connect oa/oa //回车后出现报错5、打开EM时(IE中输入http://10.31.1.200:1158/em),报ORA-00257、ORA-01033等错误;6、oracle客户端工具(如:PLSQL Developer等)连接数据库时报ORA-00257、ORA-01033等错误;******************************************************************************* *******说明:因oracle归档日志还在开启,需定期检测归档日志占用空间大小,归归档日志达到一定比例时要及时清理,以防止归档日志问题导致的oracle服务停止现象,从而影响使用使用OA系统。
1、检测oracle是否可以正常归档oracle用户登录系统[oracle@OASERVER ~]$sqlplussql>connect / as sysdbasql>select * from v$logGROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS---------- ---------- ---------- ---------- ---------- --- ----------------FIRST_CHANGE# FIRST_TIME------------- ------------1 1 263 52428800 1 NO CURRENT5924771 13-DEC-102 1 261 52428800 1 YES INACTIVE5878129 12-DEC-103 1 262 52428800 1 YES INACTIVE5899219 13-DEC-10说明:上面列表可看出ARC列可正常归档,如果全部为NO,oracle将无法进行归档,此时oracle实例会自动关闭。
解决OracleRMAN删除归档⽇志不释放问题的⽅法前⾔当Oracle 归档⽇志满了后,将⽆法正常登⼊oracle,需要删除⼀部分归档⽇志才能正常登⼊ORACLE。
最近同事在⼯作中遇到⼀个问题,他那边的⼀套Oracle 11g数据库使⽤RMAN没办法删除旧的归档,导致磁盘使⽤率很⾼。
oracle@ps251n2s:[/opt/oracle/archive/db] ls -ltr |moretotal 3059881082-rw-r----- 1 oracle oinstall 725320704 May 20 2016 1_1_91233774.dbf-rw-rw---- 1 oracle oinstall 1756937216 Jun 7 2016 1_2_91233774.dbf-rw-rw---- 1 oracle oinstall 1756731392 Jun 21 2016 1_3_91233774.dbf-rw-rw---- 1 oracle oinstall 1758001152 Jul 3 2016 1_4_91233774.dbf-rw-rw---- 1 oracle oinstall 1756729344 Jul 15 2016 1_5_91233774.dbf-rw-rw---- 1 oracle oinstall 1765750784 Jul 26 22:00 1_6_91233774.dbf-rw-rw---- 1 oracle oinstall 1760346112 Aug 6 14:04 1_7_91233774.dbf......使⽤RMAN list archivelog all;查看⽇志也没有显⽰旧归档⽇志的记录RMAN> list archivelog all;using target database control file instead of recovery catalogList of Archived Log Copies for database with db_unique_name DBS=====================================================================Key Thrd Seq S Low Time------- ---- ------- - ---------1206 1 1206 A 14-JAN-17Name: /opt/oracle/archive/db/1_1206_91233774.dbf1207 1 1207 A 14-JAN-17Name: /opt/oracle/archive/db/1_1207_91233774.dbf1208 1 1208 A 14-JAN-17Name: /opt/oracle/archive/db/1_1208_91233774.dbf......使⽤crosscheck检查也没有查到旧归档⽇志记录RMAN> crosscheck archivelog all;using target database control file instead of recovery catalogallocated channel: ORA_DISK_1channel ORA_DISK_1: SID=16 device type=DISKvalidation succeeded for archived logarchived log file name=/opt/oracle/archive/db/1_1206_91233774.dbf RECID=1206 STAMP=933244655validation succeeded for archived logarchived log file name=/opt/oracle/archive/db/1_1207_91233774.dbf RECID=1207 STAMP=933249510validation succeeded for archived logarchived log file name=/opt/oracle/archive/db/1_1208_91233774.dbf RECID=1208 STAMP=933254500validation succeeded for archived logarchived log file name=/opt/oracle/archive/db/1_1209_91233774.dbf RECID=1209 STAMP=933259445validation succeeded for archived log查看v$archived_log视图也没有旧归档⽇志记录解决过程于是在⽹上找到⼀篇⽂章,⼤体意思是MAN删除归档⽇志的依据是controlfile中记录的归档⽇志,⽽不是你磁盘上实际存在的归档⽇志,如果你的归档⽇志已经不在controlfile中就⽆法被RMAN识别到,也就⽆法被删除。
部门日志管理制度一、背景为了规范部门日志的记录、归档和管理,提高工作效率和保障信息安全,制定本制度。
二、适用范围本制度适用于所有部门的日常工作日志的管理。
三、日志记录要求1. 每个部门应设立专门的日志记录人员,负责日常工作的记录。
2. 日志记录内容应真实、准确、完整,不得有虚假、遗漏、错误信息。
3. 日志记录人员应按照规定的时间、格式进行日志记录,确保记录的连续性和及时性。
4. 对于涉及机密信息的日志,应按照部门保密制度进行记录和管理。
四、日志归档管理1. 每个部门应设立专门的归档管理人员,负责日志的整理、归档和保管。
2. 日志归档管理人员应按照规定的归档规范和流程,将日志按时间先后顺序进行整理和归档。
3. 对于重要的日志,应设立备份并进行定期的归档和保存,确保信息的安全和稳定性。
4. 对于机密日志,应按照部门保密制度进行保密管理,严格控制查阅和复制权限。
五、日志查阅管理1. 任何人员在查阅日志前应事先经过管理人员的授权和审批,不得擅自查阅。
2. 查阅人员应按照规定的流程进行日志的查阅,并在查阅后进行记录和报告。
3. 对于机密日志的查阅,应按照部门保密制度进行审批和管理,确保信息的安全和保密。
六、日志审查管理1. 每个部门应设立专门的审查人员,定期对日志进行审查和核实,确保日志的真实性和准确性。
2. 审查人员应对发现的问题和疑点进行调查和处理,确保日志记录的合法性和规范性。
七、责任追究对于违反本制度的行为,应按照部门的规定进行责任追究,严格惩处违规人员。
以上就是部门日志管理制度的内容,希望各位同事严格执行,确保日志管理的规范和透明。
统一日志管理方案框架实施统一日志管理方案是确保系统和应用程序正常运行、监测性能、诊断问题以及满足合规性要求的重要步骤。
以下是一个简单的统一日志管理方案的框架,具体实施可能根据组织需求和技术环境的不同而有所调整:1. 日志收集:- 集中式日志收集器:部署一个中央日志收集系统,能够从各个系统、应用程序和设备中收集日志数据。
- 代理/轻量级日志收集:在各个服务器和终端设备上安装轻量级代理,负责本地日志收集,并将数据发送到中央收集器。
2. 日志格式标准化:- 统一格式:确保所有系统和应用程序生成的日志都采用统一的格式,以便于后续的分析和查询。
- 时间戳标准:统一使用标准的时间戳格式,便于时间线分析。
3. 安全与权限控制:- 访问控制:基于角色的访问控制,确保只有授权的人员可以访问特定类型的日志。
- 数据加密:对敏感信息进行加密,确保日志数据的机密性。
4. 日志存储与归档:- 分层存储:将日志数据根据重要性分层存储,便于更快速地检索最关键的信息。
- 自动归档:设定自动归档策略,确保长期存储的日志数据不影响系统性能,并能够满足合规性需求。
5. 实时监控与报警:- 实时监控:设置实时监控机制,及时发现异常和问题。
- 报警系统:集成报警系统,当发生关键事件时,及时通知相关人员。
6. 日志分析与搜索:- 强大的搜索工具:部署强大的日志分析工具,支持复杂的查询和筛选。
- 自定义仪表板:创建可视化的仪表板,方便快速了解系统和应用程序的状态。
7. 合规性与审计:- 合规性检查:针对行业和法规的合规性要求,确保日志满足相关规定。
- 审计功能:配置审计功能,记录对日志系统的访问和修改。
8. 日志保留策略:- 法规要求:根据法规和行业标准,定义合适的日志保留期限。
- 自动清理:实施自动清理机制,定期删除不再需要的日志数据。
9. 容灾和备份:- 日志备份:设定定期备份日志数据,确保即使发生故障,也能够迅速恢复。
- 容灾计划:制定容灾计划,确保在灾难性事件发生时,日志系统能够迅速恢复。
Oracle归档⽇志与⾮归档⽇志的切换及路径设置--====================-- Oracle 归档⽇志--====================Oracle可以将联机⽇志⽂件保存到多个不同的位置,将联机⽇志转换为归档⽇志的过程称之为归档。
相应的⽇志被称为归档⽇志。
⼀、归档⽇志是联机重做⽇志组⽂件的⼀个副本包含redo记录以及⼀个唯⼀的log sequence number对⽇志组中的⼀个⽇志⽂件进⾏归档,如果该组其中⼀个损坏,则另⼀个可⽤的⽇志将会被归档对于归档模式的⽇志切换,当⽇志归档完成后,下⼀个⽇志才能被覆盖或重新使⽤⾃动归档功能如开启,则后台进程arcn在⽇志切换时⾃动完成归档,否则需要⼿动归档归档⽇志⽤途恢复数据库更新standby数据库使⽤LogMiner 提取历史⽇志的相关信息⼆、⽇志的两种模式1.⾮归档模式不适⽤与⽣产数据库创建数据库时,缺省的⽇志管理模式为⾮归档模式当⽇志切换,检查点产⽣后,联机重做⽇志⽂件即可被重新使⽤联机⽇志被覆盖后,介质恢复仅仅⽀持到最近的完整备份不⽀持联机备份表空间,⼀个表空间损坏将导致整个数据库不可⽤,需要删除掉损坏的表空间或从备份恢复对于操作系统级别的数据库备份需要将数据库⼀致性关闭应当备份所有的数据⽂件、控制⽂件(单个)、参数⽂件、密码⽂件、联机⽇志⽂件(可选)2.归档模式能够对联机⽇志⽂件进⾏归档,⽣产数据库强烈建议归档在⽇志切换时,下⼀个即将被写⼊⽇志组必须归档完成之后,⽇志组才可以使⽤归档⽇志的Log sequence number信息会记录到控制⽂件之中必须有⾜够的磁盘空间⽤于存放归档⽇志Oracle 9i 需要设置参数log_archive_start=true 才能够进⾏⾃动归档备份与恢复⽀持热备份,且当某个⾮系统表空间损坏,数据库仍然处于可⽤状态,且⽀持在线恢复使⽤归档⽇志能够实现联机或脱机时点恢复(即可以恢复到指定的时间点、指定的归档⽇志或指定的SCN)三、两种模式的切换设置及⼿动归档1.⾮归档到归档模式a.⼀致性关闭数据库(shutdown [immediate | transactional |normal])b.启动到mount阶段(startup mount)c.切换到归档模式(alter database archivelog [manual])d.切换到open阶段(alter database open)e.对数据做⼀个完整备份(full backup)--演⽰⾮归档到归档模式SQL> ARCHIVE LOG LIST --查看数据库是否处于归档模式Database log mode No Archive ModeAutomatic archival DisabledArchive destination USE_DB_RECOVERY_FILE_DESTOldest online log sequence 14Current log sequence 16SQL> SELECT log_mode FROM v$database; --查看数据库是否处于归档模式LOG_MODE------------NOARCHIVELOGSQL> SHUTDOWN IMMEDIATE; --⼀致性关闭数据库Database closed.Database dismounted.ORACLE instance shut down.SQL> STARTUP MOUNT; --启动到mount状态ORACLE instance started.Total System Global Area 251658240 bytesFixed Size 1218796 bytesVariable Size 75499284 bytesDatabase Buffers 171966464 bytesRedo Buffers 2973696 bytesDatabase mounted.SQL> ALTER DATABASE ARCHIVELOG; --切换到⾃动归档模式Database altered.SQL> ALTER DATABASE OPEN; --切换到open状态Database altered.SQL> ARCHIVE LOG LIST; --查看数据库的归档状态Database log mode Archive Mode --已置为归档模式Automatic archival Enabled --对⽇志进⾏⾃动归档Oldest online log sequence 14Next log sequence to archive 16Current log sequence 16--备份数据库步骤省略2.归档模式切换到⾮归档模式(步骤同⾮归档到归档模式仅仅是c步骤使⽤alter database noarchivelog,演⽰省略)a.⼀致性关闭数据库(shutdown [immediate | transactional |normal])b.启动到mount阶段(startup mount)c.切换到归档模式(alter database noarchivelog )d.切换到open阶段(alter database open)e.对数据做⼀个完整备份(full backup)3.⼿动归档⼿动归档时需要将⽇志模式切换为alter database archivelog manual再使⽤alter system archive log current | all 实现归档更多⼿动归档命令:ALTER SYSTEM archive_log_clause注意:⼿动归档模式下不⽀持stanby数据库在alter database archivelog模式下也可以实现对⽇志的归档SQL> ALTER DATABASE ARCHIVELOG MANUAL; --将⽇志模式切换为⼿⼯归档模式Database altered.SQL> ALTER DATABASE OPEN; --打开数据库Database altered.SQL> ALTER SYSTEM ARCHIVE LOG CURRENT; --对当前的⽇志进⾏归档(建议在mount阶段完成)System altered.SQL> ALTER SYSTEM ARCHIVE LOG ALL; --对所有的⽇志进⾏归档alter system archive log all*ERROR at line 1:ORA-00271: there are no logs that need archiving --没有需要归档的⽇志通过设置LOG_ARCHIVE_MAX_PROCESSES 参数,可以指定数据库规定所需初始化的进程数,缺省的归档进程数为2⼀般情况下不需要修改该参数,Oracle会根据归档情况⾃动启动额外的归档进程也可以动态的增加或减少归档进程数,⽐如有些业务在⽉底需要进⾏⼤量归档,平时则归档较少,对此可以动态修改修改⽅法ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=3;5.配置归档(两种归档位置配置⽅法)a.归档到本机且少于等于两个归档位置设置LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST参数alter system set log_archive_dest = '/u01/app/oracle/archivelog1' scope = spfile;alter system set log_archive_duplex_dest = '/u01/app/oracle/archivelog2' scope = spfile;b.归档到本机或远程主机设置LOG_ARCHIVE_DEST_n 参数,n最⼤值为10alter system set log_archive_dest_1 = 'LOCATION=/u01/app/oracle/archivelog3';alter system set log_archive_dest_2 = 'SERVICE=standby1';对于远程归档位置,SERVICE选项需要指定远程数据库的⽹络服务名(在tnsnames.ora⽂件中配置)LOG_ARCHIVE_DEST_n的两个常⽤选项MANADATORY | OPTIONAL:MANADATORY表⽰归档必须成功复制到⽬的路径之后,联机重做⽇志才能被复⽤,OPTIONAL正好相反REOPEN:指定归档失败后指定间隔多少时间重试归案,缺省的为300秒⽰例:log_archive_dest_1 = 'LOCATION=/u01/app/oracle/archivelog3 manadatory reopen = 600'log_archive_dest_2 = 'SERVICE=standby1 manadatory reopen'c.两种归档⽅法异同(前者log_archive_dest、log_archive_duplex_dest ,后者log_archive_dest_n)两者都可以归档到本机,后者可以归档到远程主机,前者不⽀持该功能前者最多配置两个归档位置,后者可以配置10个归档位置两者互不兼容,要么使⽤前者,要么使⽤后者使⽤后者归档到本地时需要增加LOCATION选项,备份到远程主机需要使⽤SERVICE选项但上述两种⽅式未指定路径时,归档⽇志位于db_recovery_file_dest 缺省为$ORACLE_BASE/flash_recovey_aread.归档⽇志命名格式设置LOG_ARCHIVE_FORMAT参数,Unix下的缺省设置为LOG_ARCHIVE_FORMAT=%t_%s_%r.dbf%s: ⽇志序列号:%S: ⽇志序列号(带有前导)%t: 重做线程编号.%a: 活动ID号%d: 数据库ID号%r RESETLOGS的ID值.alter system set log_archive_format = 'arch_%t_%s_%r.arc';e.归档位置状态Valid/Invalid --磁盘位置及服务名等是否有效Enabled/Disabled --磁盘位置的可⽤状态及数据库能否使⽤该归档位置Active/Inactive --访问归档⽬的地是否有异常f.归档成功的最⼩个数(使⽤参数log_archive_min_succeed_dest = n)alter system set log_archive_min_succeed_dest = 2; --缺省为1联机重做⽇志组能够被覆盖的前提所有强制路径归档位置成功实现归档归档⽬的地的成功归档的个数⼤于或等于上述参数设定的值当强制个数⼤于该参数设定的个数,则以强制个数为准当强制个数⼩于该参数设定的个数,则可选的成功归档路径加上强制的归档路径个数⾄少等于该参数设定值g.控制归档的可⽤性(使⽤参数log_archive_dest_state_n)alter system set log_archive_dest_state_1 = enable | deferenable -->缺省状态,可以在该归档位置进⾏归档defer -->禁⽤该归档位置h.演⽰归档路径配置及查看归档进程,归档位置状态SQL> ARCHIVE LOG LIST; --查看⽇志是否处于归档状态Database log mode Archive ModeAutomatic archival EnabledArchive destination USE_DB_RECOVERY_FILE_DESTOldest online log sequence 24Next log sequence to archive 26Current log sequence 26SQL> ho ps -ef | grep ora_arc --查看归档进程是否已启动oracle 4062 1 0 11:43 ? 00:00:00 ora_arc0_orcloracle 4064 1 0 11:43 ? 00:00:00 ora_arc1_orclSQL> SHOW PARAMETER ARCHIVE --查看归档路径是否已设置,为空值表⽰未设置------------------------------------ ----------- ------------------------------archive_lag_target integer 0log_archive_config stringlog_archive_dest stringlog_archive_dest_1 stringlog_archive_dest_10 stringlog_archive_dest_2 stringlog_archive_dest_3 stringlog_archive_dest_4 stringlog_archive_dest_5 stringlog_archive_dest_6 stringlog_archive_dest_7 stringNAME TYPE VALUE------------------------------------ ----------- ------------------------------log_archive_dest_8 stringlog_archive_dest_9 stringlog_archive_dest_state_1 string enablelog_archive_dest_state_10 string enablelog_archive_dest_state_2 string enablelog_archive_dest_state_3 string enablelog_archive_dest_state_4 string enablelog_archive_dest_state_5 string enablelog_archive_dest_state_6 string enablelog_archive_dest_state_7 string enablelog_archive_dest_state_8 string enableNAME TYPE VALUE------------------------------------ ----------- ------------------------------log_archive_dest_state_9 string enablelog_archive_duplex_dest stringlog_archive_format string %t_%s_%r.dbflog_archive_local_first boolean TRUElog_archive_max_processes integer 2log_archive_min_succeed_dest integer 1log_archive_start boolean FALSE --该参数在9i中使⽤log_archive_trace integer 0remote_archive_enable string trueSQL> alter system set log_archive_dest = '/u01/app/oracle/archivelog1' scope = spfile; System altered.SQL> alter system set log_archive_duplex_dest= '/u01/app/oracle/archivelog2' scope=spfile; System altered.SQL> alter system set log_archive_format = 'arch_%t_%s_%r.arc' scope = spfile;--设定完毕后需要重新启动实例,在此省略关闭启动信息SQL> ho ls /u01/app/oracle/archivelog1 --查看归档路径下是否存在⽂件或⽂件夹SQL> ho ls /u01/app/oracle/archivelog2 --查看归档路径下是否存在⽂件或⽂件夹SQL> alter system archive log current; --⼿动进⾏归档System altered.SQL> ho ls -l /u01/app/oracle/archivelog1 --在指定的⽂件夹archivelog1已产⽣归档⽇志total 18224-rw------- 1 oracle oinstall 18636800 Jul 28 20:39 arch_1_26_724852763.arcSQL> ho ls -l /u01/app/oracle/archivelog2 --在指定的⽂件夹archivelog2已产⽣归档⽇志total 18224-rw------- 1 oracle oinstall 18636800 Jul 28 20:39 arch_1_26_724852763.arcSQL> ho mkdir /u01/app/oracle/archivelog3 --创建新的归档路径SQL> ho mkdir /u01/app/oracle/archivelog4 --创建新的归档路径SQL> alter system set log_archive_dest_1 = 'location=/u01/app/oracle/archivelog3'2 scope = spfile;System altered.SQL> alter system set log_archive_dest_2 = 'location=/u01/app/oracle/archivelog4'2 scope = spfile;System altered.SQL> shutdown immediate; --关闭实例Database closed.Database dismounted.ORACLE instance shut down.SQL> startup --启动实例后,收到错误提⽰表明两种归档⽅式不兼容ORA-16019: cannot use LOG_ARCHIVE_DEST_1 with LOG_ARCHIVE_DEST or LOG_ARCHIVE_DUPLEX_DEST--关于上述设置导致的错误处理请参照:⼜⼀例SPFILE设置错误导致数据库⽆法启动SPFILE错误导致数据库⽆法启动--下⾯是正确的处理办法,应当先将⼀种归档⽅式路径置空,此处是将log_archive_dest置空SQL> alter system set log_archive_dest = '' scope = spfile;System altered.--此处是将log_archive_duplex_dest置空SQL> alter system set log_archive_duplex_dest = '' scope = spfile;System altered.--接下来再设定log_archive_dest_1,log_archive_dest_2SQL> alter system set log_archive_dest_1 = 'location=/u01/app/oracle/archivelog3'2 scope = spfile;System altered.SQL> alter system set log_archive_dest_2 = 'location=/u01/app/oracle/archivelog4'2 scope = spfile;System altered.--由于没有配置standby服务器,所以省略配置到远程主机--设定完毕后需要重新启动实例,此时系统能正常启动,在此省略关闭启动信息SQL> alter system archive log current; --进⾏⼿动归档System altered.SQL> ho ls -l /u01/app/oracle/archivelog3/ --查看归档⽇志total 27752-rw------- 1 oracle oinstall 28382208 Aug 2 13:46 arc_1_38_724852763.arcSQL> ho ls -l /u01/app/oracle/archivelog4/ --查看归档⽇志total 27752-rw------- 1 oracle oinstall 28382208 Aug 2 13:45 arc_1_38_724852763.arcSQL> col dest_name format a20;SQL> col destination format a30;SQL> select dest_name,status,archiver,destination,2 log_sequence,reopen_secs,transmit_mode,process3 from v$archive_dest; --查看归档⽬的地的相关状态信息DEST_NAME STATUS ARCHIVER DESTINATION LOG_SEQUENCE REOPEN_SECS TRANSMIT_MOD PROCESS -------------------- --------- ---------- ------------------------------ ------------ ----------- ------------ -------LOG_ARCHIVE_DEST_1 VALID ARCH /u01/app/oracle/archivelog3/ 38 300 SYNCHRONOUS ARCHLOG_ARCHIVE_DEST_2 VALID ARCH /u01/app/oracle/archivelog4/ 38 300 SYNCHRONOUS ARCHLOG_ARCHIVE_DEST_3 INACTIVE ARCH 0 0 SYNCHRONOUS ARCH-----------------------------------------------------------------------------------------------------------------------SQL> alter system set log_archive_dest_state_2 = defer; --停⽤log_archive_dest_state_2System altered.SQL> show parameter log_archive_dest_stateNAME TYPE VALUE------------------------------------ ----------- ---------------log_archive_dest_state_1 string enablelog_archive_dest_state_10 string enablelog_archive_dest_state_2 string DEFER --该路径显⽰为deferlog_archive_dest_state_3 string enablelog_archive_dest_state_4 string enablelog_archive_dest_state_6 string enablelog_archive_dest_state_7 string enablelog_archive_dest_state_8 string enablelog_archive_dest_state_9 string enableSQL> alter system archive log current; --⼿动归档System altered.SQL> ho ls -l /u01/app/oracle/archivelog3; --可以看出archivelog3⽐archivelog4多出⼏个归档⽂件total 124772 --建议将多出⽂件件的使⽤系统命令复制到archivelog4-rw------- 1 oracle oinstall 28382208 Aug 2 13:46 arc_1_38_724852763.arc-rw------- 1 oracle oinstall 1788416 Aug 2 20:41 arc_1_39_724852763.arc-rw------- 1 oracle oinstall 30257664 Aug 2 22:21 arc_1_40_724852763.arc-rw------- 1 oracle oinstall 30257664 Aug 2 22:22 arc_1_41_724852763.arc-rw------- 1 oracle oinstall 30257664 Aug 2 22:22 arc_1_42_724852763.arc-rw------- 1 oracle oinstall 6647296 Aug 2 22:23 arc_1_43_724852763.arcSQL> ho ls -l /u01/app/oracle/archivelog4;total 29504-rw------- 1 oracle oinstall 28382208 Aug 2 13:45 arc_1_38_724852763.arc-rw------- 1 oracle oinstall 1788416 Aug 2 20:41 arc_1_39_724852763.arcSQL> alter system set log_archive_dest_state_2 = enable; --启⽤log_archive_dest_state_2 System altered.SQL> alter system archive log current; --⼿动归档System altered.SQL> ho ls -l /u01/app/oracle/archivelog3; --启⽤后出现了相同的arc_1_44_724852763.arc⽂件total 124856-rw------- 1 oracle oinstall 28382208 Aug 2 13:46 arc_1_38_724852763.arc-rw------- 1 oracle oinstall 1788416 Aug 2 20:41 arc_1_39_724852763.arc-rw------- 1 oracle oinstall 30257664 Aug 2 22:21 arc_1_40_724852763.arc-rw------- 1 oracle oinstall 30257664 Aug 2 22:22 arc_1_41_724852763.arc-rw------- 1 oracle oinstall 30257664 Aug 2 22:22 arc_1_42_724852763.arc-rw------- 1 oracle oinstall 81408 Aug 2 22:25 arc_1_44_724852763.arcSQL> ho ls -l /u01/app/oracle/archivelog4;total 29588-rw------- 1 oracle oinstall 28382208 Aug 2 13:45 arc_1_38_724852763.arc-rw------- 1 oracle oinstall 1788416 Aug 2 20:41 arc_1_39_724852763.arc-rw------- 1 oracle oinstall 81408 Aug 2 22:25 arc_1_44_724852763.arc四、归档⽇志相关视图v$archived_log -->从控制⽂件中获得归档的相关信息v$archive_dest -->归档路径及状态v$log_history -->控制⽂件中⽇志的历史信息v$database -->查看数据库是否处于归档状态v$archive_processes -->归档相关的后台进程信息命令:archive log listSQL> select name,sequence#,registrar,standby_dest,archived,status2 from v$archived_log;NAME SEQUENCE# REGISTR STA ARC S------------------------------------------------------- ---------- ------- --- --- -/u01/app/oracle/archivelog4/arc_1_38_724852763.arc 38 FGRD NO YES A/u01/app/oracle/archivelog3/arc_1_39_724852763.arc 39 ARCH NO YES A/u01/app/oracle/archivelog4/arc_1_39_724852763.arc 39 ARCH NO YES A/u01/app/oracle/archivelog3/arc_1_40_724852763.arc 40 ARCH NO YES A/u01/app/oracle/archivelog3/arc_1_41_724852763.arc 41 ARCH NO YES A/u01/app/oracle/archivelog3/arc_1_42_724852763.arc 42 ARCH NO YES A/u01/app/oracle/archivelog3/arc_1_43_724852763.arc 43 ARCH NO YES A/u01/app/oracle/archivelog3/arc_1_44_724852763.arc 44 FGRD NO YES A/u01/app/oracle/archivelog4/arc_1_44_724852763.arc 44 FGRD NO YES A转:/leshami/article/details/5784713ORA-16032,ORA-09291,ORA-04018的解决⽅法:#原因描述:数据库服务器挂载的⼀块硬盘坏掉了,重新启动操作系统后发现数据库启动不了了,启动报错:ORA-16032: parameter LOG_ARCHIVE_DEST_1 destination string cannot be translated说明:之前Oracle开启过归档⽇志且⽇志就是存储在该块硬盘,后来因为⽇志导致数据库变慢就把归档关掉了。
日志功能解决方案与设计咱来唠唠日志功能的解决方案和设计哈。
一、为啥要有日志功能呢?日志就像是系统或者程序的小日记。
它能帮咱知道系统里到底发生了啥。
比如说,要是有个程序突然崩了,通过看日志就能知道它是在哪个环节出了问题,是网络连接突然断了呢,还是它自己内部计算出了岔子。
这就好比侦探破案的时候找线索一样,日志就是那些线索。
二、日志功能的解决方案。
1. 选择日志框架。
在开发中,有好多现成的日志框架可以用,像Log4j、Logback之类的。
这些框架就像是已经做好的工具箱,我们直接拿来用就行。
选的时候呢,得看看项目的需求。
如果项目比较小,Logback可能就够了,它配置简单,性能也不错。
要是项目比较大,可能Log4j的一些高级功能就更有用了。
就好比你要装修房子,你得选合适的工具。
小房子简单装修,可能一把小锤子和几个钉子就够了;大房子豪华装修,那就得用上电锯啊、电钻之类更高级的工具了。
2. 确定日志级别。
日志级别可是个重要的事儿。
一般有DEBUG、INFO、WARN、ERROR这几个级别。
DEBUG级别就是特别详细的信息,像程序里每个小步骤的数据变化之类的。
INFO呢,就是一些比较正常的信息,比如说程序启动成功啦,用户登录啦。
WARN就是有点小问题,但是程序还能继续跑,像磁盘空间有点不足啦。
ERROR就是严重的问题,程序可能都要歇菜了,像数据库连接不上之类的。
你可以把日志级别想象成天气预报的等级。
DEBUG就像是详细的天气指数,每个小变化都告诉你;INFO就是正常的天气情况,晴天、多云啥的;WARN就是有点小状况,像有点小风但不影响出门;ERROR就是暴风雨要来啦,得赶紧找地方躲起来。
在不同的环境下,我们可以设置不同的日志级别。
开发环境下,我们可能想看到DEBUG级别的日志,这样方便我们找问题。
但是在生产环境下,为了性能和安全,可能就只显示WARN和ERROR级别的日志就够了。
3. 日志存储。
日志存哪儿也是个事儿。
清理归档日志:archive log 日志已满ORA-00257: archiver error. Connect internal only, until freed 错误的处理方法1. 用sys用户登录sqlplus sys/pass@tt as sysdba2. 看看archiv log所在位置SQL> show parameter log_archive_dest;NAME TYPE VALUE------------------------------------ ----------- ------------------------------log_archive_dest stringlog_archive_dest_1 stringlog_archive_dest_10 string3. 一般VALUE为空时,可以用archive log list;检查一下归档目录和log sequence SQL> archive log list;Database log mode Archive ModeAutomatic archival EnabledArchive destination USE_DB_RECOVERY_FILE_DESTOldest online log sequence 360Next log sequence to archive 360Current log sequence 3624. 检查flash recovery area的使用情况,可以看见archivelog已经很大了,达到96.62 SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES------------ ------------------ ------------------------- ---------------CONTROLFILE .13 0 1ONLINELOG 2.93 0 3ARCHIVELOG 96.62 0 141BACKUPPIECE 0 0 0IMAGECOPY 0 0 0FLASHBACKLOG 0 0 05. 计算flash recovery area已经占用的空间SQL> select sum(percent_space_used)*3/100 from v$flash_recovery_area_usage;SUM(PERCENT_SPACE_USED)*3/100-----------------------------2.99046. 找到recovery目录, show parameter recoverSQL> show parameter recover;NAME TYPE VALUE------------------------------------ ----------- ------------------------------db_recovery_file_dest string /u01/app/oracle/flash_recovery_areadb_recovery_file_dest_size big integer 5Grecovery_parallelism integer 07 上述结果告诉我们,归档位置用的是默认值,放在flash_recovery_area下(db_recovery_file_dest 目录=/u01/app/oracle/flash_recovery_area)[root@sha3 10.2.0]# echo $ORACLE_BASE/u01/app/oracle[root@sha3 10.2.0]# cd $ORACLE_BASE/flash_recovery_area/tt/archivelog转移或清除对应的归档日志, 删除一些不用的日期目录的文件,注意保留最后几个文件(比如360以后的)---------------------------------------------------------------------------------------注意:在删除归档日志后,必须用RMAN维护控制文件,否则空间显示仍然不释放。
日志归档解决方案
1. 引言
在现代计算机应用程序中,日志是一项重要的功能。
通过记录关键信息和故障
排除过程,日志可以帮助开发人员和运维人员更好地理解系统的运行状况和问题。
对于大型系统和分布式应用程序来说,日志管理和归档是一项挑战,因为大量的日志数据需要处理和存储。
在本文档中,将介绍一种日志归档解决方案,以帮助团队有效地管理和存储日志数据。
2. 日志归档的挑战
在开始介绍日志归档解决方案之前,我们先了解一下日志归档面临的主要挑战:
2.1 数据量大
随着系统规模的增长,日志数据的数量也随之增加。
大量的日志数据需要存储
和处理,这对存储和计算资源提出了挑战。
2.2 数据的时效性
日志数据通常从不同的源头生成,并且需要按照一定的时序进行归档。
由于数
据的大量增长和实时性要求,及时处理和归档日志数据是一项挑战。
2.3 数据的安全性
保护日志数据的安全性对于许多组织来说至关重要。
日志数据可能包含敏感信息,必须采取适当的安全措施,确保数据不被未经授权的人访问。
3. 日志归档解决方案
为了解决上述挑战,我们提出了以下日志归档解决方案:
3.1 数据收集
为了处理大量的日志数据,我们需要一种可靠的方法来收集和聚合数据。
可以
使用各种日志收集器,如Logstash、Fluentd、Filebeat等。
这些工具可以将日志
数据从不同的源头收集到一个中央位置,以便后续的处理和归档。
3.2 数据存储
一旦日志数据被收集,我们需要一个可靠和可扩展的存储解决方案来存储数据。
常见的选择包括使用分布式文件系统(如Hadoop HDFS)或分布式数据库(如Elasticsearch)。
使用这些存储系统,我们可以有效地存储和查询大量的日志数据。
3.3 数据归档
为了满足数据的时效性要求,我们可以采用归档策略来处理历史数据。
归档可
以将旧的日志数据移动到长期存储,从而释放宝贵的存储资源。
可以使用批处理作业定期执行归档任务,也可以采用自动化策略,根据数据的时间戳或其他条件自动触发归档操作。
3.4 数据备份和恢复
为了保护日志数据的安全性,我们需要定期进行数据备份。
定期备份可以确保
数据在发生灾难性事件时可以快速恢复。
备份过程可以结合使用传统的备份软件和云存储服务,以满足数据保护和容灾需求。
4. 结论
通过采用上述日志归档解决方案,我们可以有效地管理和存储大量的日志数据。
数据收集和存储、数据归档以及数据备份和恢复是实施该解决方案的关键步骤。
通过合理规划和配置这些步骤,我们可以满足日志数据处理、时效性和安全性的要求。
希望本文档对你理解和实施日志归档解决方案有所帮助。
以上是关于日志归档解决方案的文档。
通过该解决方案,可以有效地处理和管
理大量的日志数据,提高系统的可维护性和问题排查效率。
了解日志归档的挑战和解决方案可以帮助我们更好地规划和优化日志管理工作。