参考文档:关于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,重启。发现可以正常重启。
修改SYS为SYSA后重启数据库。12.2.0.1不存在更改SYS名称的问题。重启后没有问题。
在RDBMS 11.2.0.4下测试,发现修改SYS为SYSA后,重启后,报错。无法启动到OPEN状态。
连接到数据库,修改SYS为SYSA。
重启数据库,报错。
查看进程,进程为9711
启动数据库到mount状态
Gdb ,输入 b kokiasg , 然后c 继续 (在windows下,没有kokiasg直接b了)
然后继续open数据库,会一直卡这里
这个时候,gdb窗口会显示如下
新开一个窗口,继续查询,发现数据库是OPEN状态的了
在窗口中查询
在新窗口中修改,修改后的用户名称为SYS
退出gdb
这个时候,发现原来卡在哪里的alter database open.执行完毕了 。这个时候,数据库是read write 状态
重启数据库 ,数据库正常启动
END。
补充:通过widnows下的那种方法,断点直接b,不指定函数,是不行的,必须指定具体的函数。已经测试过,这里就不写过程了。只写出结论。
END。