ORA-600 [kokasgi1]的模拟与修复-Linux平台下

参考文档:关于gdb调试oracle,可以参考以下文档:

Ora-00600 [18062] During Database Startup (Doc ID 1431334.1)
Cannot Restart Oracle After Setting Global Name to NULL (Doc ID 743676.1)

关于Windows下模拟ora-600 [kikasgi1],可以参考文档:

(11条消息) 模拟修改sys用户名及恢复- ORA-600 [kokasgi1]_文档搬运工-CSDN博客

RDBMS 11.2.0.4 + redhat 6.10

在RDBMS 12.2.0.1下测试修改SYS用户为SYSA,重启。发现可以正常重启。

ORA-600 [kokasgi1]的模拟与修复-Linux平台下

修改SYS为SYSA后重启数据库。12.2.0.1不存在更改SYS名称的问题。重启后没有问题。

ORA-600 [kokasgi1]的模拟与修复-Linux平台下

在RDBMS 11.2.0.4下测试,发现修改SYS为SYSA后,重启后,报错。无法启动到OPEN状态。

连接到数据库,修改SYS为SYSA。

ORA-600 [kokasgi1]的模拟与修复-Linux平台下

 ORA-600 [kokasgi1]的模拟与修复-Linux平台下

 重启数据库,报错。

ORA-600 [kokasgi1]的模拟与修复-Linux平台下

查看进程,进程为9711

ORA-600 [kokasgi1]的模拟与修复-Linux平台下

启动数据库到mount状态

ORA-600 [kokasgi1]的模拟与修复-Linux平台下

Gdb ,输入 b kokiasg , 然后c 继续 (在windows下,没有kokiasg直接b了)

ORA-600 [kokasgi1]的模拟与修复-Linux平台下

ORA-600 [kokasgi1]的模拟与修复-Linux平台下

然后继续open数据库,会一直卡这里

ORA-600 [kokasgi1]的模拟与修复-Linux平台下

这个时候,gdb窗口会显示如下

ORA-600 [kokasgi1]的模拟与修复-Linux平台下

新开一个窗口,继续查询,发现数据库是OPEN状态的了

ORA-600 [kokasgi1]的模拟与修复-Linux平台下

在窗口中查询

ORA-600 [kokasgi1]的模拟与修复-Linux平台下

在新窗口中修改,修改后的用户名称为SYS

ORA-600 [kokasgi1]的模拟与修复-Linux平台下

退出gdb

ORA-600 [kokasgi1]的模拟与修复-Linux平台下

这个时候,发现原来卡在哪里的alter database open.执行完毕了 。这个时候,数据库是read write 状态

ORA-600 [kokasgi1]的模拟与修复-Linux平台下

ORA-600 [kokasgi1]的模拟与修复-Linux平台下

重启数据库 ,数据库正常启动

ORA-600 [kokasgi1]的模拟与修复-Linux平台下

END。 

补充:通过widnows下的那种方法,断点直接b,不指定函数,是不行的,必须指定具体的函数。已经测试过,这里就不写过程了。只写出结论。

END。

上一篇:P1990 覆盖墙壁


下一篇:redo异常强制拉库报ORA-600 kcbzib_kcrsds_1修复---惜分飞