归档日志清理

当数据库归档日志满了后,将无法正常登入数据库,需要删除一部分归档日志才能正常登入数据库。

一、首先删除归档日志目录下的物理文件,删除时至少保留最近几天的日志用于数据恢复。

1、archive log list

2、show parameter recovery

二、删除归档日志物理文件后,可以正常登入数据库,但是到这一步还没完全把归档日志删除干净,因为ORACLE的控制文件中仍然记录着这些归档日志的信息。我们使用rman完成这一步。

1、$rman target /

2、RMAN> crosscheck archivelog all;

3、RMAN> list expired archivelog all;

4、RMAN> delete expired archivelog all;

5、RMAN> delete archivelog until time "sysdate-7";-----删除系统当前时间7天前的归档日志

6、RMAN> crosscheck archivelog all;------再次执行,检查归档日志是否已经被删除

原文地址:https://www.cnblogs.com/orcl-2018/p/9211302.html

时间: 2024-11-05 13:26:21

归档日志清理的相关文章

利用脚本自动清理Oracle归档日志

背景 由于Oracle数据库开启了归档模式,经常因为归档日志文件占用空间过大而导致数据库无法正常连接,发现问题后需要手动清理归档日志,而发现问题时可能已经过去很长时间了,在生产环境中对用户的使用有非常严重的影响. 项目中涉及到多方数据对接,对数据库的频繁插入和更新会生成大量的归档日志,归档日志空间是500G,大概一周左右的时间归档日志空间就100%. 为解决这个问题这里使用脚本+定时任务自动清理归档日志,只保留5天归档. 归档日志清理脚本 #!/bin/bash #Author wangchen

Oracle归档日志满了导致Oracle连接(ORA-00257)报错处理

最近一段时间,有收到一台Oracle服务器的连接告警, 刚刚开始还以为是Oracle的监听被关闭导致,结果连上服务器看下Oracle的监听进程正常,自己连接一次发现有报ORA-00257错,又去监控系统中在看下日志再用sqlplus连上Oracle后查了下,知道是Oracle的归档日志写满闪回区导致Oracle连接异常,查看归档日志方法如下: SQL> show parameter db_recovery_file_dest; #查看归档日志的物理路径及闪回区的大小 SQL> select f

oracle清理归档日志

我们都都知道在controlfile中记录着每一个archivelog的相关信息,当然们在OS下把这些物理文件delete掉后,在我们的 controlfile中仍然记录着这些archivelog的信息,在oracle的OEM管理器中有可视化的日志展现出,当我们手工清除archive目录下的文件后,这些记录并没有被我们从controlfile中清除掉,也就是oracle并不知道这些文件已经不存在了!这时候我们要做手工的清除的话,下面我经过实验,可以尝试这种方法: 1. 进入rman 2. con

oracle11g dataguard failover重建后归档日志没有被应用被NO的问题

1,主库从库归档记录不一致,如下所示: 做完failover后,坏的旧主库变成了新的从库,但是新从库的归档日志记录不一致,就是archive log list;出来的和v$archived_log出来对不上号,如下所示: 1.1 主库: SQL> archive log list; Database log mode Archive Mode Automatic archival Enabled Archive destination USE_DB_RECOVERY_FILE_DEST Olde

Oracle手动删除归档日志厚,出现ORA-19571错误

一.使用以下的命令清理了空间: 1.   cd /orabak 2.   find . -type f -mtime +30 -exec rm -rf {} \; 二.然后开始使用rman备份的脚本进行备份,备份到最后出现以下报错 ------------------------------------------------------------------------------------------- archive log filename=/oralog/1_20800_81255

ORACLE 11G 单实例 磁盘文件系统 DG 归档日志删除脚本 基于RED HAT LINUX 5.3 X86 64BIT

近期做个DG的归档日志删除, [[email protected] logs]crontab -l * 8 * * * sh /home/oracle/dbscripts/del_arc.sh 该脚本分别调用 生成 删除 校验 三个脚本 cat del_arc.sh #! /bin/bash source /home/oracle/.bash_profile sh /home/oracle/dbscripts/build_del_archivelog.sh >> /home/oracle/db

postgresql如何维护WAL日志/归档日志

WAL日志介绍 wal全称是write ahead log,是postgresql中的online redo log,是为了保证数据库中数据的一致性和事务的完整性.而在PostgreSQL 7中引入的技术.它的中心思想是"先写日志后写数据",即要保证对数据库文件的修改应放生在这些修改已经写入到日志之后,同时,在PostgreSQL 8.3以后又加入了WalWriter日志写进程,可以保证事务提交记录不是在提交时同步写入到磁盘,而是异步写入,这样就极大的减轻了I/O的压力.所以说WAL日

跨平台日志清理工具 Log-Cutter v2.0.2 正式发布

Log-Cutter 是JessMA开源组织开发的一个简单实用的日志切割清理工具.对于服务器的日常维护来说,日志清理是非常重要的事情,如果残留日志过多则严重浪费磁盘空间同时影响服务的性能.如果用手工方式进行清理,会花费太多时间,并且很多时候难以满足实际要求.例如:如何在每个星期六凌晨3点把超过 2G 大的日志文件进行切割,保留最新的 100M 日志记录? 网上没有发现能满足本座要求的日志切割工具,因此花了一些闲暇时间自己写了一个.由于要在多个平台上使用,为了方便采用 Java 实现.本工具命名为

通过RMAN删除归档日志不释放问题

我的生产环境中归档日志满了,通过如下脚本删除后,空间并没有释放,看有网友有相关的解决思路,可以跟大家一起分享一下: RMAN> crosscheck archivelog all; RMAN> delete expried archivelog all; 关于rm删除文件空间不释放的问题可以写成一个FAQ了 一般说来不会出现rm掉不释放空间的情况出现这样的情况一般是由于有进程在向文件中写数据或有进程正在访问文件而此时rm文件则会出现不释放空间的情况 理解这样的问题需要理解rm的操作内含一个文件