Oracle 数据库归档日志满或归档空间满处理方案原创
金蝶云社区-Romantic
Romantic
5人赞赏了该文章 3,306次浏览 未经作者许可,禁止转载编辑于2020年04月12日 16:50:07
Oracle 数据库归档日志满或归档空间满处理方案

现象:
数据库登录报archived error归档相关的错误,说明数据库归档错误,一般是归档空间满导致。

如何查归档占用的空间大小及归档日志所在的路径:
在 SQL>下执行 archive log list; 可以看到归档数据库归档文件所在路径,如果用的是
USE_DB_RECOVERY_FILE_DEST 归档目的的,
通过 SQL>show parameter recovery_file 可以看到归档路径及归档空间设置最大大小,如果用
的是其它归档路径,则到操作系统归档路径下查归档占用大小及总空间大小。

删除归档日志处理步骤:
1.数据库启动 MOUNT 状态
$sqlplus / as sysdba
sql>shutdown immeiate --如果卡住,则试 shutdown abort
sqL>startup mount --数据库启动 MOUNT 状态
SQL>exit
2.进入 RMAN,清掉 7 天前的归档日志
$rman target /
rman>crosscheck archivelog all;
rman>delete noprompt expired archivelog all;
rman>delete archivelog until time 'sysdate-7';
3.数据库启到 OPEN 状态
$sqlplus / as sysdba
sql>alter database open
如果想把删除的归档先做备份,然后再进行删除,则用以下这种方法,不过清理时间可能会较长,如与所示:

单独备份归档日志,并进行清理的脚本:
rman>backup archivelog all format '/backup/dbL0arc_%d_%s_%p_%c.arc' tag 'dbL0' filesperset 10
delete all input; --/backup/这个目录要改为现场以前归档文件备份存放的目录名称
建议用单独的归档目录存 Oracle 数据库的归档,设置方法见
http://club.kingdee.com/forum.ph ... p;extra=#pid3906162


附录:
如果数据库没有做物理 RMAN 备份,不建议开启数据库归档(易导致归档空间满数据库宕机,应用不可用。只要中间有些归档文件删了,就不能进行有效的通过归档文件进行数据库还原);建议客户的 DBA 进行物理 RMAN 备份部署,或找第三方厂家(如 Oracle、金蝶等公司、数据库代理商)购买相关的专项服务处理。
Oracle 数据库关闭归档方法:
1.以 SYS 用户登录数据库到 SQL>下,其中 C:\:为 Windows 操作系统,#:为非 Windows 操作
系统
C:\>或#下执行:sqlplus / as sysdba
2.数据库进入到 mount 状态
sql>startup mount
3.关闭归档
sql>alter database noarchivelog;
4.打开数据库
sql>alter database open;

收藏 打赏


赞 5