mysql 清理归档日志_记录一次归档日志爆满事件

1.连接oracle数据库提示错误

ORA-00257:archiver error. Connect internal only,until freed

一看这个提示,就知道归档日志又满了,空间不够。昨天刚清理了归档日志,为啥今天又满了,就很奇怪。

看了下日志,才知道有人在删除了大量的日志数据,导致归档暴增。

现在sqplus进不去,咋办呢。别慌

2.首先,找到归档日志存放路径

show parameter archive;

查看log_archive_desc_1后面的value是否有值,如没有,请设置一个路作为归档日志存放路径。切记不要讲归档日志存放在闪回区

3.找到物理路径后,在有备份的情况删除归档日志,如没有备份请先行备份,以免数据丢失

rm -rf 2018_09_08

归档日志是每一个日期生成一个文件夹来存放日志。只要删除一天的文件即可,删除后就可以通过sqlplus连接到数据库了。这时候在通过rman去删除归档日志,因为你只删除了物理上的文件,控制文件并不知道这个文件已经没有,需要通过rman去维护控制文件

,连接到rman,如有多个实例,请先指定实例名

C:\Users\Administrator>set ORACLE_SID=orcl

C:\Users\Administrator>rman target /恢复管理器: Release11.2.0.1.0 - Production on 星期一 9月 10 11:02:22 2018Copyright (c)1982, 2009, Oracle and/or its affiliates. Allrights reserved.

连接到目标数据库: ORCL (DBID=1466047434)

RMAN>crosscheck archivelog all; #检测无效的归档日志

RMAN>delete expired archivelog all(delete archivelog completed before 'sysdate-7'; #删除七天前的归档日志,默认七天,可以根据自己的需求进行删除

4.删除后再次连接sqlplus就OK了。

补充,在oracle无法加载实例的情况下如何进入rman清理归档日志

>sqlplus /nolog                        #不登录数据库>conn / assysdba                        #以DBA账户连接到Oracle>startup mount;                        #启动数据库到mount状态>rman tar get /#连接到rman>crosscheck archivelog all;                  #检查失效归档日志>delete expired archivelog all;               #删除失效归档日志>delete archiavelog completed before 'sysdate-7'; #删除七天之前的归档日志

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值