ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Ora-16038问题解决

Ora-16038问题解决

原创 Linux操作系统 作者:zl_funlove 时间:2011-04-03 19:29:06 0 删除 编辑
         2010-03-31按照计划通化市医保中心更换医保系统,由于我们公司做医疗行业,因此我们也需要更新医院接口系统。在进行脚本执行的时候,执行了病人费用记录中语句"Update 病人费用记录 set 保险大类id=null",可能自己太大意了,这时候客户端还进行操作,结果这个语句执行大约30分钟,突然管理员接到电话,客户端不能使用了,结果我强行关掉数据库,再次登录时候程序提示
ORA-16038: 日志 3 序列号 5035 无法归档
ORA-19809: 超出了恢复文件数的限制
ORA-00312: 联机日志 3 线程 1: 
F:\oracle\Product\10.2.0\oradata\orclREDO03.LOG'
于是在百度中查找一下问题的原因及解决办法。
1)查看一下v$log视图,看看状态
SQL> select group#,sequence#,archived,status from v$log;
GROUP# SEQUENCE# ARC STATUS
---------- ---------- --- ----------------
1 4966 NO INACTIVE
3 4968 NO CURRENT
2 4967 YES INACTIVE

2)用CLEAR命令重建该日志文件

SQL>alter database clear logfile group 1;

如果是该日志组还没有归档,则需要用
SQL>alter database clear unarchived logfile group 1;

3)打开数据库
SQL>alter database open;

结果成功打开,很高兴;结果在登陆数据库发现还是不能用,结果白兴奋了。结果反复还是刚才的错误。经过两次操作不果,发现该错误是在日志归档操作导致的,因此打算选择取消日志归档,在打开数据看看。于是接下来操作如下。

4)取消数据库归档

SQL>startup mount;

SQL>alter database noarchivelog;

SQL>alter database open;

5) 然后再重新关掉数据库,在打开数据库。结果数据库OK了,然后赶紧进行数据库备份。让客户端操作看看软件运行是否正常,发现没有什么问题。马上对数据库再次进行归档。

SQL>startup mount;

SQL>alter database archivelog;

SQL>archive log list;

结果显示都正常了。至此ok了,也可以休息了。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/99436/viewspace-691625/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-08-09

  • 博文量
    11
  • 访问量
    36668