多语言展示
当前在线:1649今日阅读:133今日分享:12

Oracle数据库归档日志满了后的处理方法

IT行业,开发、测试在日常工作中可能会碰到Oracle数据库归档日志满了导致Oracle连接(ORA-00257)报错的问题,本次通过图文形式详细描述如何处理该问题!
工具/原料

装有Oracle数据库的电脑

方法/步骤
1

可以通过加日志空间,或者删除日志的方式来处理,也可以2个方法都用上。

2

第一种:加日志空间1、先cmd命令连接到数据库:有多个数据库需要指定连接的实例SID     最高权限连接到指定tbh实例:sqlplus /@tbh as sysdba2、连接到实例后,确定下是否是我们所需要处理的数据库实例:     查看当前连接的数据库的sid:select instance_name from v$instance;3、确认是后,先关闭例程,再启动例程(相当于初始化环境,排除干扰)shutdown abort;startup mount

4

第二种方式:删除归档日志1) 先命令连接到数据库:有多个数据库需要指定连接的实例SID最高权限连接到指定实例:sqlplus /@tbh as sysdba2) 连接到实例后,确定下是否是我们所需要处理的数据库实例:查看当前连接的数据库的sid:select instance_name from v$instance;(如果此处报错,可以跳过,先关闭例程,在开启后再查看)3) 确认是后,先关闭例程,再启动例程(相当于初始化环境,排除干扰):shutdown abort;startup mount4) 查看下归档日志空间情况:select * from v$recovery_file_dest;

5

5)重新开一个cmd,指定实例:SET ORACLE_SID = tbh6)在进入rman,rman target 用户名/口令@例程

6

7) 输入list archivelog all; -- 显示所有的日志及日志地址8) 输入crosscheck archivelog all;  --运行这个命令可以把无效的expired的archivelog标出来9) 输入delete expired archivelog all; ---删除所有的无效日志10) 或者输入delete noprompt archivelog until time 'sysdate -3';  -- -即删        除3天前的归档日志11) 启动数据库:alter database open;

注意事项
1

文中的命令复制粘贴后,注意空格是否符合规范

2

如果采用删除无效日志,可以手动进入日志文档地址手动删除日志使其成为无效日志后,在用命令删除

3

手动删除日志文件后,一定得再用命令删除

推荐信息