起因:客户等保测评扫到数据库存在使用默认用户名
要求:修改默认用户名system ,sys是未知要不要改,手贱改了
问题:
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-00600: internal error code, arguments: [kokasgi1], [], [], [], [], [], [],
[], [], [], [], []
Process ID: 59336
Session ID: 1009 Serial number: 3
解决方法:gdb挂起恢复
详细步骤:
1、conn / as sysdba 连接实例
2、startup mount 启动数据库到mount状态
3、查询当前spid
select spid from v$process where addr in (select paddr from v$session where sid=(select distinct sid from v$mystat));
4、开一个新的窗口 执行
gdb /u01/app/oracle/product/11.2.0/db_1/bin/oracle 59336 (spid)
注:有大神使用的是oracle用户,直接gdb $ORACLE_HOME/bin/oracle spid ,不过我用oracle启动报错,就使用root加绝对路径了
5、执行
alter database open; 会卡住
6、找到gdb命令行,输入c 回车
7、开新的sqlplus 窗口,
sqlplus /nolog
conn / as sysdba -也许会卡,也许不会
8、开启自动提交
set autocommit on;
9、强制修改默认用户名
update user$ set name='SYS' where user#=0;
10、gdb 命令行quit退出
11、 数据库正常启动
注:转载请注明出处,违者必究。