oracle清理30天归档日志
oracle清理30天归档日志 -回复

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天前的归档日志文件了。
oralce归档日志的手动删除

oralce归档日志的手动删除
当oracle 数据库开启归档模式后,会在归档模式下生成归档文件,如果不及时清理归档日志最终将会导致数据库无法访问,下面说一下如何正确的手动清理归档日志。
1、找到归档日志所在目录。
不确定归档日志的目录?没关系,查询一下就OK了
进入到sqlplus 下:执行archive log list 命令就可以看到存档终点 E:\arc2
2、删除要删除的归档日志
3、清除控制文件中的记录
虽然人为的把物理文件给删了,但是oracle 的控制文件里面是有存在归档文件的记录的,接下来就是清除记录的步骤。
3.1进入ORACLE数据备份工具(RMAN)
CMD--->RAMN
3.2以ORACLE用户身份登录到数据库服务器主机或通过网络连接
connect target / (此处就不讲解ramn 命令了,target / 表示只有一个实例且设置了环境变量,执行这个命令会自动进入数据库)
3.3crosscheck archivelog all;
3.4delete expired archivelog all;
OK 搞定! 有不明白的地方*****************。
Oracle命令--删除归档日志

Oracle命令--删除归档⽇志> ltotal 22185212drwxr-xr-x 2 oracle oinstall 12288 2012-11-28 09:31 ./drwxr-xr-x 3 oracle oinstall 4096 2012-09-19 14:59 ../-rw-r----- 1 oracle oinstall 286395904 2012-09-27 08:10 archivelog_1_100_787665209.log-rw-r----- 1 oracle oinstall 286682624 2012-09-27 15:01 archivelog_1_101_787665209.log-rw-r----- 1 oracle oinstall 286693376 2012-09-28 00:17 archivelog_1_102_787665209.log-rw-r----- 1 oracle oinstall 286434816 2012-09-28 14:57 archivelog_1_103_787665209.log-rw-r----- 1 oracle oinstall 286408704 2012-09-29 04:40 archivelog_1_104_787665209.log-rw-r----- 1 oracle oinstall 286529024 2012-09-29 19:12 archivelog_1_105_787665209.log-rw-r----- 1 oracle oinstall 33399808 2012-10-09 09:10 archivelog_1_106_787665209.log-rw-r----- 1 oracle oinstall 286209024 2012-10-09 09:40 archivelog_1_107_787665209.log-rw-r----- 1 oracle oinstall 286181888 2012-10-09 09:40 archivelog_1_108_787665209.log-rw-r----- 1 oracle oinstall 286545920 2012-10-09 19:18 archivelog_1_109_787665209.log-rw-r----- 1 oracle oinstall 286497280 2012-10-10 09:44 archivelog_1_110_787665209.log-rw-r----- 1 oracle oinstall 286447104 2012-10-10 12:20 archivelog_1_111_787665209.log-rw-r----- 1 oracle oinstall 286963200 2012-10-10 14:30 archivelog_1_112_787665209.log-rw-r----- 1 oracle oinstall 286672896 2012-10-11 00:06 archivelog_1_113_787665209.log-rw-r----- 1 oracle oinstall 286452224 2012-10-11 14:39 archivelog_1_114_787665209.log-rw-r----- 1 oracle oinstall 286494720 2012-10-12 01:44 archivelog_1_115_787665209.log该⽬录下积攒了⼤量的归档⽇志,占满了磁盘空间,需要删除。
oracle 数据清理和归档方案

Oracle 数据清理和归档方案概述在日常的数据管理中,数据清理和归档是非常重要的环节。
在Oracle数据库中,合理的数据清理和归档方案可以提高数据库的性能和可靠性,同时也能减少数据库的存储空间和备份/恢复的时间和成本。
本文将就Oracle数据库中的数据清理和归档方案进行详细的探讨。
数据清理方案数据清理是指清理不再需要的数据,以释放数据库的存储空间和提高查询性能。
下面是一些常用的数据清理方案:1. 删除过期数据在数据库中,某些数据可能有一定的保存期限,超过期限后就可以被删除。
可以通过编写定时任务或者使用Oracle的调度程序来定期删除过期数据。
例如,可以根据时间戳或者某个字段的值来判断数据是否过期,然后使用DELETE语句将其删除。
2. 聚合数据对于一些历史数据,可以根据需要将其进行聚合,以减少数据库的存储空间。
例如,可以将按天存储的数据聚合到按周、按月或者按年存储的数据中。
在聚合数据之后,可以删除原始的细粒度数据,以释放存储空间。
3. 数据归档对于一些历史数据,虽然可能不再被频繁访问,但是仍然需要保留。
这时可以考虑将这些数据归档到其他存储介质中,例如磁带库或者归档文件系统。
通过归档可以释放数据库的存储空间,同时仍然可以满足数据保留的需求。
数据归档方案数据归档是指将历史数据从Oracle数据库中移动到其他存储介质中,以解决存储空间不足的问题。
下面是一些常用的数据归档方案:1. 使用Oracle归档功能Oracle数据库提供了强大的归档功能,可以自动将历史数据归档到归档日志文件中。
通过配置适当的参数,可以调整归档的频率和方式。
归档日志文件可以保存在磁盘、磁带库或者归档文件系统中。
2. 使用第三方软件除了Oracle自带的归档功能,还可以使用一些第三方软件来进行数据归档。
这些软件通常具有更多的定制化和可扩展性,可以根据需要进行灵活的配置和管理。
例如,可以使用EMC Data Domain、IBM Tivoli Storage Manager等软件来进行数据归档。
查询oracle归档日志是否开启,Oracle开启归档日志以及关闭归档日志

查询oracle归档⽇志是否开启,Oracle开启归档⽇志以及关闭归档⽇志racle数据库可以运⾏在2种模式下:归档模式(archivelog)和⾮归档模式(noarchivelog)归档模式可以提⾼Oracle数据库的可恢复性,⽣产数据库都应该运⾏在此模式下,归档模式应该和相应的备份策略相结合,只有归档模式没有相应的备份策略只会带来⿇烦。
本⽂简单介绍如何启⽤和关闭数据库的归档模式。
1.归档⽇志开启准备⼯作:1.进⼊dos窗⼝—>>> 菜单键+R,进⼊ 运⾏ 界⾯,输⼊cmd2.登录 sqlplus,—>> ⽅法: sqlplus/nolog,切忌:不要输⼊sqlplus/noarchivelog; 加上 分隔符 ;,这样进⼊的sqlplus的命令参数帮助3.登⼊管理员—>> ⽅法: conn/as sysdba;4.开启归档⽇志4.1 shutdown immediate; –关闭数据库4.2 startup mount; – 打开数据库4.3 alter database archivelog;—开启归档⽇志4.4 alter database open;–开启数据库4.5 archive log list; – 查看归档⽇志是否开启开启状态:数据库⽇志模式 存档模式⾃动存档 启⽤存档终点 USE_DB_RECOVERY_FILE_DEST最早的联机⽇志序列 49下⼀个存档⽇志序列 51当前⽇志序列 515.关闭归档⽇志5.1 shutdown immediate;5.2 startup mount;5.3 alter database noarchivelog;5.4 alter database open;5.5 archive log list ;–查看归档⽇志是否关闭数据库⽇志模式 ⾮存档模式⾃动存档 禁⽤存档终点 USE_DB_RECOVERY_FILE_DEST最早的联机⽇志序列 49当前⽇志序列 51归档⽇志开启语句:Microsoft Windows [版本 6.1.7601]版权所有 (c) 2009 Microsoft Corporation。
如何清理oracle安装目录里的一些日志

如何清理oracle安装目录里的一些日志
这个问题的起因是我这两天发现我们的一个开发环境oracle所在的安装目录容量增长的很迅速,我想找到增长的原因。
如下是我处理该问题的步骤:
1、先查看一下上述环境oracle安装目录(/u01)下一天之内改过的且大小在10M以上的文件:
find /u01 -ctime 1 -size +20000 –print
2、从1中的结果可以看到listener.log和http-web-access.log非常大。
3、先处理listener.log,步骤如下:
1)lsnrctl set log_status off
2)rm listener.log
3)lsnrctl set log_status on
4、再处理http-web-access.log,步骤如下:
1)更改dbconsole的配置文件
($ORACLE_HOME/oc4j/j2ee/OC4J_DBConsole_HOST__<hostname>_<SID>/config下的文件http-web-site.xml),将其中的<access-log path="../log/http-web-access.log" />更改为<access-log path="../log/http-web-access.log" split="day"/>
2)重启dbconsole
3) rm http-web-access.log。
归档日志增长过快处理解决

处理归档日志增加过快一例(2010-08-25 20:03:47)转载▼标签:分类:原创文章oracle归档日志增加过快处理归档日志增加过快一例摘要本文介绍了不久前作者是如何彻底解决一家医院数据库由于归档日志增长过快,导致磁盘剩余空间占满,引起宕机全过程。
通过本案例的描述,我们可以了解到当遇到数据库宕机问题时,应该如何分析现象、找到问题关键、最终彻底解决该问题的一个总体思路,最后还应该深入思考该问题产生的原因,总结出避免以后再出现该问题的建议。
关键字: ORACLE、归档日志、宕机、DML语句初步了解早上一来到公司,XZH就告诉我接到CQ公司的有一个技术申请,大致情况为一家三甲医院,采用Rac+Linux环境,启用了归档模式,但是由于日志增长过快,我们的技术人员设虽然置自动删除归档的任务,但是还是没有避免磁盘空间被占满,已经引起医院2次全院无法使用,虽然CQ公司也安排多名技术人员去现场处理,但是医院认为一直没有解决彻底,因此信息主管对此意见较大,希望公司安排技术支持部现场彻底解决该问题。
通过申请描述,我大致了解到以下几个关键点:1.医院启用了归档,也做了定期自动删除归档日志的任务。
2.由于归档日志增加过快,已经导致医院2号节点宕机。
3.我们的技术人员去了几次,都未彻底解决,用户已经意见很大了。
这只是个初步情况,往往只能了解问题的大概,具体的问题产生的原因还是得到用户那里去才能真正了解,于是立即出发,前往用户处处理问题。
现场分析问题到达医院,同系统管理员互相寒暄了几句,了解大体情况是医院昨天凌晨部分科室反映不能登录导航台,于是系统管理员深夜被叫到医院,查看服务器发现数据库已经宕机,检查磁盘空间,发现其中一个节点的剩余空间为0,于是立即删除部分过去的归档日志,重新启动服务器,下面科室才能够正常登录,谈话间不断听见系统管理员抱怨深夜到医院是如何如何不情愿,看来意见是比较大。
而且同样的问题不久前才出现过一次,当时是中午,询问同去的同事,了解到确实不久前也出现过一次同样的情况,当时认为是归档日志的定期删除保留的日志时间太长,当时保留的是30天的日志,后来改为保留5天的日志,心想不会再出现该问题,没想到还是无法避免。
oracle通过rman实现自动化清理归档日志详细过程

业务增长发展迅猛,归档日志增长太快,磁盘承受不了,所以准备做个定时清理归档日志的定时任务。
1、RM方式清理归档日志清理归档日志,可以人为的删除已经归档好的日志文件,然后再调用rman里面RMAN> crosscheck archivelog all;来去数据库里面删除归档记录;也可以通过ram调用delete命令来删除归档日志。
2、使用rman清理归档日志RMAN清除方式会自动清除磁盘上的归档日志文件,同时会释放控制文件中对应的归档日志的归档信息。
可以基于不同的条件来清除归档日志,如基于SCN,基于SEQUENCE,基于TIME等方式。
对于上述的三种方式又可以配合from, until, between .. and .. 等等子句来限定范围,方式灵活多变。
下面的命令用于校验归档日志的有效性,列出无效的归档日志,以及以何种方式清除归档日志,列出几种常用的:DELETE NOPROMPT ARCHIVELOG UNTIL TIME "TO_DATE('XXXX-XX-XX','YYYY-MM-DD')";delete noprompt archivelog until time "to_date('2016-09-14 18:00:00','YYYY-MM-DD ')"crosscheck archivelog all; --->校验日志的可用性list expired archivelog all; --->列出所有失效的归档日志delete archivelog until sequence 16; --->删除log sequence为16及16之前的所有归档日志delete archivelog all completed before 'sysdate-7'; --->删除系统时间7天以前的归档日志,不会删除闪回区有效的归档日志delete archivelog all completed before 'sysdate - 1'; --->同上,1天以前的delete archivelog from time 'sysdate-1'; --->注意这个命令,删除系统时间1天以内到现在的归档日志delete noprompt archivelog all completed before 'sysdate'; --->该命令清除当前所有的归档日志delete noprompt archivelog all completed before 'sysdate-0'; --->该命令清除当前所有的归档日志delete noprompt archivelog all; --->同上一命令3、实现清理一个小时前的归档日志执行命令:delete force archivelog all completed before 'sysdate-1/24';4、自动化脚本定时任务实现清理一个小时前的归档日志。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
标题: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. 在清理归档日志的过程中,要避免影响数据库的正常运行,可以选
择在低峰期进行清理操作。
六、清理30天归档日志的效果
通过定期清理30天归档日志,可以有效地提高数据库的性能和稳定性,减少数据库运维的工作量和成本。
同时也可以避免因归档日志堆积而
导致的空间不足等问题,保证数据库的正常运行。
七、总结
定期清理归档日志是数据库管理员必须要做的工作之一,通过遵循合理的清理策略和注意事项,可以保证数据库的正常运行和数据的安全性。
希望通过本文的介绍,能够为广大数据库管理员提供一些有价值的参考和帮助。