mysql连接文件丢失_联机日志文件全部丢失无法打开数据库问题解决

企业无法启动数据库,手动启动数据库可以装载完毕,但在打开时候出现:

ora-00313.ora-00312.ora-27041.OSD-04002.OS-ERROR:

数据库版本为oracle 8i,windows平台

首先备份数据文件和参数文件,以便能够恢复到最初的情况.

查询v$log和logfile内容,确定当前的日志文件名和日志组的数目,以及当前联机日志是哪个.询问企业之前进行的操作,多数说是使用360曾经清除过log文件. 远程查看企业的数据库,发现所有联机日志文件都已经丢失.

现场处理方式:

一、启动oracle到mount状态

sqlplus /nolog

startup mount

二、清除日志

经查询group 1对应文件为redo03.log是当前的日志文件,清除非当前日志组:

alter database clear unarchived logfile group 2;

数据库已更改

alter database clear unarchived logfile group 3;

数据库已更改

alter database clear unarchived logfile group 1;

出错,当前日志不允许清除

三、在本地测试完毕后,决定使用隐含参数进行处理

1、修改参数文件,修改前请备份该文件

c:\oracle\admin\ora8i\pfile\init.ora,在最后增加一行

# add 2006/10/08

_allow_resetlogs_corruption=TRUE

2、在ms-dos状态下输入sqlplus /nolog

SQL>connect internal;

SQL>startup mount;

3、输入recover database until cancel;

第一次输入auto

SQL>recover database until cancel;

第二次输入cancel

忽略出现的错误

3、alter database open resetlogs

出现ora-00603错误

4、察看alert文件,发现提示是ora-600  [2662],[0],[219940997],[0],[219941104],[8388610],[],[]

里头有resetlogs after incomplete recovery until change 219940984

查看一下v$datafile的scn

(哦, 应该跟datafile没关吧,是block的scn;查查v$datafile_header、

v$datafile,看看差多少)

使用隐含参数_ALLOW_RESETLOGS_CORRUPTION后resetlogs打开数据库后,我们说很多时候你会遇到ORA-00600 2662号错误,这个错误的含义是:

A data block SCN is ahead of the current SCN.

The ORA-600 [2662] occurs when an SCN is compared to the dependent SCN

stored in a UGA variable.

If the SCN is less than the dependent SCN then we signal the ORA-600 [2662]

internal error.

这是因为SCN不一致的问题。

如果SCN相差不多,可以通过多次重起数据库解决。

5、因为数据库不能打开,所以使用如下语句增进SCN 1billion次

SQL>alter session set events '10015 trace name adjust_scn level 1';

系统显示会话已更改

因为使用_allow_resetlogs_corruption=TRUE参数,打开数据库时候出现ora-600 [2662]错误的相关处理方式,参见eygle的文章:http://www.eygle.com/archives/2005/12/oracle_diagnostics_howto_deal_2662_error.html

6、alter database open;出现ora-356  353  312的错误.

7、查询alert,仍然是ora-600 [2662]的错误,去除隐含参数重新启动数据库

shutdown immediate关闭的时候出现[kcsgsscn2],再连接不允许我联接了,出现ora-01089:immediate shutdown in progress - no operations are permitted正在进行中,已经不允许我联接了,再联接也不行,尝试了几次,最后重新启动机器;

sqlplus  /nolog

connect internal;

startup :

竟然成功了,所以exp备份其他系统的数据,然后恢复数据。到oradata路径下察看已经自动生成了三个redo*.log文件.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值