Oracle 数据库归档日志满或归档空间满处理方案原创
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; |
推荐阅读