看到关于UPDATE GLOBAL_NAME为空之后的恢复写的不是很完整,自己通过试验和对bbed的研究,完善他的blog内容(泄露一点内部的东西)模拟错误
SQL>select*fromv$version; BANNER————————————————————————OracleDatabase11g Enterprise Edition Release 11.2.0.3.0 – ProductionPL/SQL Release 11.2.0.3.0 – ProductionCORE 11.2.0.3.0 ProductionTNSforLinux: Version 11.2.0.3.0 – ProductionNLSRTL Version 11.2.0.3.0 – Production SQL>select*fromglobal_name ; GLOBAL_NAME——————————————————————–ORA11G SQL>updateglobal_namesetglobal_name=''; 1 row updated. SQL>COMMIT; Commitcomplete. SQL> SHUTDOWN IMMEDIATEDatabaseclosed.Databasedismounted.ORACLE instance shut down.SQL> STARTUPORACLE instance started. Total SystemGlobalArea 313860096 bytesFixedSize 1344652 bytesVariableSize 260049780 bytesDatabaseBuffers 46137344 bytesRedo Buffers 6328320 bytesDatabasemounted.ORA-01092: ORACLE instance terminated. Disconnection forcedORA-00600: internal error code, arguments: [18062], [], [], [], [], [], [], [],[], [], [], []Process ID: 28306Session ID: 125 Serial number: 5
alert日志
Errorsinfile/u01/oracle/diag/rdbms/ora11g/ora11g/trace/ora11g_ora_28306.trc (incident=20556):ORA-00600: internal error code, arguments: [18062], [], [], [], [], [], [], [], [], [], [], []Incident detailsin:/u01/oracle/diag/rdbms/ora11g/ora11g/incident/incdir_20556/ora11g_ora_28306_i20556.trcWed Aug 08 23:21:48 2012Use ADRCI or Support Workbench to package the incident.See Note 411.1 at My Oracle Supportforerror and packaging details.Errorsinfile/u01/oracle/diag/rdbms/ora11g/ora11g/trace/ora11g_ora_28306.trc:ORA-00600: internal error code, arguments: [18062], [], [], [], [], [], [], [], [], [], [], []Errorsinfile/u01/oracle/diag/rdbms/ora11g/ora11g/trace/ora11g_ora_28306.trc:ORA-00600: internal error code, arguments: [18062], [], [], [], [], [], [], [], [], [], [], []Error 600 happened during dbopen, shutting down databaseUSER (ospid: 28306): terminating the instance due to error 600Instance terminated by USER, pid = 28306ORA-1092 signalled during: ALTER DATABASE OPEN…opiodr aborting process unknown ospid (28306) as a result of ORA-1092Wed Aug 08 23:21:48 2012ORA-1092 : opitsk aborting process
找出global_name相关信息(另外库中)
SQL>SETLONG 1000SQL>selectdbms_metadata.get_ddl('VIEW','GLOBAL_NAME','SYS')fromdual; DBMS_METADATA.GET_DDL('VIEW','GLOBAL_NAME','SYS')——————————————————————————– CREATEORREPLACEFORCEVIEW"SYS"."GLOBAL_NAME"("GLOBAL_NAME")AS selectvalue$fromsys.props$wherename='GLOBAL_DB_NAME' SQL>select*fromprops$wherevalue$='XIFENFEI'; NAME VALUE$—————————— —————————————-COMMENT$————————————————————————–GLOBAL_DB_NAME XIFENFEIGlobaldatabasename SQL>selectdump('GLOBAL_DB_NAME','16')fromdual; DUMP('GLOBAL_DB_NAME','16')——————————————————–Typ=96 Len=14: 47,4c,4f,42,41,4c,5f,44,42,5f,4e,41,4d,45–得出GLOBAL_DB_NAME存储字16进制字符串为:0e474c4f42414c5f44425f4e414d45
bbed操作
–通过第三方工具定位props$表中的GLOBAL_DB_NAME列在数据块0x00400321的31行上 [oracle@xifenfei ~]$ bbed listfile=listfile mode=edit password=blockedit BBED: Release 2.0.0.0.0 – Limited Production on Thu Aug 9 00:26:12 2012 Copyright (c) 1982, 2007, Oracle. All rights reserved. *********** !!! For Oracle Internal Use only !!! ************* BBED> info File# Name Size(blks) —– —- ———- 1 /u01/oracle/oradata/ora11g/system01.dbf 0 2 /u01/oracle/oradata/ora11g/sysaux01.dbf 0 3 /u01/oracle/oradata/ora11g/undotbs01.dbf 0 4 /u01/oracle/oradata/ora11g/users01.dbf 0 BBED>setblock 801 BLOCK# 801 BBED> map File:/u01/oracle/oradata/ora11g/system01.dbf (1) Block: 801 Dba:0x00400321———————————————————— KTB Data Block (Table/Cluster) struct kcbh, 20 bytes @0 struct ktbbh, 72 bytes @20 struct kdbh, 14 bytes @92 struct kdbt[1], 4 bytes @106 sb2 kdbr[37] @110 ub1 freespace[5771] @184 ub1 rowdata[2233] @5955 ub4 tailchk @8188 BBED> p *kdbr[31]rowdata[0]———-ub1 rowdata[0] @5955 0x2c BBED> x/rcccrowdata[0] @5955 ———-flag@5955: 0x2c (KDRHFL, KDRHFF, KDRHFH)lock@5956: 0x02cols@5957: 3 col 0[14] @5958: GLOBAL_DB_NAMEcol 1[0] @5973: *NULL*col 2[20] @5974: Global database name BBED>setcount 64 COUNT 64 BBED> f/x0e474c4f File:/u01/oracle/oradata/ora11g/system01.dbf (1) Block: 801 Offsets: 5958 to 6021 Dba:0x00400321———————————————————————— 0e474c4f 42414c5f 44425f4e 414d45ff 14476c6f 62616c20 64617461 62617365 206e616d 652c0003 0e474c4f 42414c5f 44425f4e 414d4506 4f524131 31471447 <32 bytes per line> BBED> f File:/u01/oracle/oradata/ora11g/system01.dbf (1) Block: 801 Offsets: 5998 to 6061 Dba:0x00400321———————————————————————— 0e474c4f 42414c5f 44425f4e 414d4506 4f524131 31471447 6c6f6261 6c206461 74616261 7365206e 616d652c 00030a44 4254494d 455a4f4e 45053030 3a30300c <32 bytes per line> BBED> f File:/u01/oracle/oradata/ora11g/system01.dbf (1) Block: 801 Offsets: 6460 to 6523 Dba:0x00400321———————————————————————— 0e474c4f 42414c5f 44425f4e 414d4508 53454544 44415441 14476c6f 62616c20 64617461 62617365 206e616d 652c0003 114e4c53 5f524442 4d535f56 45525349 <32 bytes per line> BBED> fBBED-00212: search string not found BBED> d/voffset 5958 File:/u01/oracle/oradata/ora11g/system01.dbf (1) Block: 801 Offsets: 5958 to 6021 Dba:0x00400321——————————————————- 0e474c4f 42414c5f 44425f4e 414d45ff l .GLOBAL_DB_NAME. 14476c6f 62616c20 64617461 62617365 l .Global database 206e616d 652c0003 0e474c4f 42414c5f l name,…GLOBAL_ 44425f4e 414d4506 4f524131 31471447 l DB_NAME.ORA11G.G <16 bytes per line> BBED> d/voffset 5998 File:/u01/oracle/oradata/ora11g/system01.dbf (1) Block: 801 Offsets: 5998 to 6061 Dba:0x00400321——————————————————- 0e474c4f 42414c5f 44425f4e 414d4506 l .GLOBAL_DB_NAME. 4f524131 31471447 6c6f6261 6c206461 l ORA11G.Global da 74616261 7365206e 616d652c 00030a44 l tabase name,…D 4254494d 455a4f4e 45053030 3a30300c l BTIMEZONE.00:00. <16 bytes per line> BBED> d/voffset 6460 File:/u01/oracle/oradata/ora11g/system01.dbf (1) Block: 801 Offsets: 6460 to 6523 Dba:0x00400321——————————————————- 0e474c4f 42414c5f 44425f4e 414d4508 l .GLOBAL_DB_NAME. 53454544 44415441 14476c6f 62616c20 l SEEDDATA.Global 64617461 62617365 206e616d 652c0003 l database name,.. 114e4c53 5f524442 4d535f56 45525349 l .NLS_RDBMS_VERSI <16 bytes per line>–通过时上面的查找可以知道数据库对GLOBAL_DB_NAME有进行两次update操作–GLOBAL_DB_NAME初始化值SEEDDATA,第一次更新为ORA11G,第二次更新为null BBED> p kdbr[31]sb2 kdbr[31] @172 5863–这里可以发现我们看到offset 5995开始有值,但是row directory却指向了5863 BBED> d offset 5863 count 128 File:/u01/oracle/oradata/ora11g/system01.dbf (1) Block: 801 Offsets: 5863 to 5990 Dba:0x00400321———————————————————————— 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 2c02030e 474c4f42 414c5f44 425f4e41 4d45ff14 476c6f62 616c2064 61746162 61736520 <32 bytes per line>–通过dump看到row directory指向的值和实际的数据相差(5995-5863),都是0 BBED> d/voffset 5900 File:/u01/oracle/oradata/ora11g/system01.dbf (1) Block: 801 Offsets: 5900 to 6027 Dba:0x00400321——————————————————- 00000000 00000000 00000000 00000000 l ……………. 00000000 00000000 00000000 00000000 l ……………. 00000000 00000000 00000000 00000000 l ……………. 00000000 0000002c 02030e47 4c4f4241 l …….,…GLOBA 4c5f4442 5f4e414d 45ff1447 6c6f6261 l L_DB_NAME..Globa 6c206461 74616261 7365206e 616d652c l l database name, 00030e47 4c4f4241 4c5f4442 5f4e414d l …GLOBAL_DB_NAM 45064f52 41313147 14476c6f 62616c20 l E.ORA11G.Global <16 bytes per line>–需要指定的新值前面也存在同样的0,所以模仿的处理方法,让row directory同样向前偏移92 BBED> m/x0f17 offset 172 File:/u01/oracle/oradata/ora11g/system01.dbf (1) Block: 801 Offsets: 172 to 299 Dba:0x00400321———————————————————————— 0f176018 16189a17 5e173d17 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 <32 bytes per line> BBED> p kdbr[31]sb2 kdbr[31] @172 5903 BBED> p *kdbr[31]rowdata[40]———–ub1 rowdata[40] @5995 0x2c BBED> x/rcccrowdata[40] @5995 ———–flag@5995: 0x2c (KDRHFL, KDRHFF, KDRHFH)lock@5996: 0x00cols@5997: 3 col 0[14] @5998: GLOBAL_DB_NAMEcol 1[6] @6013: ORA11Gcol 2[20] @6020: Global database name 修改lock信息BBED> m/x02 offset 5996 File:/u01/oracle/oradata/ora11g/system01.dbf (1) Block: 801 Offsets: 5996 to 6123 Dba:0x00400321———————————————————————— 02030e47 4c4f4241 4c5f4442 5f4e414d 45064f52 41313147 14476c6f 62616c20 64617461 62617365 206e616d 652c0003 0a444254 494d455a 4f4e4505 30303a30 300c4442 2074696d 65207a6f 6e652c00 02174e4f 5f555345 5249445f 56455249 46494552 5f53414c 54203633 39364335 38414231 37414530 30374539 41373238 <32 bytes per line> BBED> d offset 5955 File:/u01/oracle/oradata/ora11g/system01.dbf (1) Block: 801 Offsets: 5955 to 6082 Dba:0x00400321———————————————————————— 2c02030e 474c4f42 414c5f44 425f4e41 4d45ff14 476c6f62 616c2064 61746162 61736520 6e616d65 2c02030e 474c4f42 414c5f44 425f4e41 4d45064f 52413131 4714476c 6f62616c 20646174 61626173 65206e61 6d652c00 030a4442 54494d45 5a4f4e45 0530303a 30300c44 42207469 6d65207a 6f6e652c 0002174e 4f5f5553 <32 bytes per line> BBED> m/x2c00 File:/u01/oracle/oradata/ora11g/system01.dbf (1) Block: 801 Offsets: 5955 to 6082 Dba:0x00400321———————————————————————— 2c00030e 474c4f42 414c5f44 425f4e41 4d45ff14 476c6f62 616c2064 61746162 61736520 6e616d65 2c02030e 474c4f42 414c5f44 425f4e41 4d45064f 52413131 4714476c 6f62616c 20646174 61626173 65206e61 6d652c00 030a4442 54494d45 5a4f4e45 0530303a 30300c44 42207469 6d65207a 6f6e652c 0002174e 4f5f5553 <32 bytes per line> –验证块BBED>sumapplyCheck valueforFile 1, Block 801:current = 0xe836, required = 0xe836 BBED> verifyDBVERIFY – Verification startingFILE =/u01/oracle/oradata/ora11g/system01.dbfBLOCK = 801 Block Checking: DBA = 4195105, Block Type = KTB-managed data blockdata header at 0xb677b25ckdbchk: the amount of space used is not equal to block size used=2056 fsc=6 avsp=6040 dtl=8096Block 801 failed with check code 6110 DBVERIFY – Verification complete Total Blocks Examined : 1Total Blocks Processed (Data) : 1Total Blocks Failing (Data) : 1Total Blocks Processed (Index): 0Total Blocks Failing (Index): 0Total Blocks Empty : 0Total Blocks Marked Corrupt : 0Total Blocks Influx : 0 –修改_ktbitfsc信息,让其通过块验证BBED> p ktbbhitlstruct ktbbhitl[0], 24 bytes @44 struct ktbitxid, 8 bytes @44 ub2 kxidusn @44 0x0004 ub2 kxidslt @46 0x000e ub4 kxidsqn @48 0x000001d4 struct ktbituba, 8 bytes @52 ub4 kubadba @52 0x00c00a93 ub2 kubaseq @56 0x0083 ub1 kubarec @58 0x33 ub2 ktbitflg @60 0x8000 (KTBFCOM) union _ktbitun, 2 bytes @62 b2 _ktbitfsc @62 0 ub2 _ktbitwrp @62 0x0000 ub4 ktbitbas @64 0x000c78festruct ktbbhitl[1], 24 bytes @68 struct ktbitxid, 8 bytes @68 ub2 kxidusn @68 0x000a ub2 kxidslt @70 0x0016 ub4 kxidsqn @72 0x000001eb struct ktbituba, 8 bytes @76 ub4 kubadba @76 0x00c0015b ub2 kubaseq @80 0x008f ub1 kubarec @82 0x0d ub2 ktbitflg @84 0x0001 (NONE) union _ktbitun, 2 bytes @86 b2 _ktbitfsc @86 6 ub2 _ktbitwrp @86 0x0006 ub4 ktbitbas @88 0x00000000 BBED> m/x00 offset 86 File:/u01/oracle/oradata/ora11g/system01.dbf (1) Block: 801 Offsets: 86 to 213 Dba:0x00400321———————————————————————— 00000000 00000001 25000600 5c00e716 98179e17 00002500 701f571e 92189c1e 101efb1d ffff981d 551d0f1d d91cb71c 941c731c 4a1c1a1c ef1bc51b 9c1b701b 471b191b d61a931a 3c1a101a ee19bc19 86194e19 0d190f17 60181618 9a175e17 3d170000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 <32 bytes per line> BBED>sumapplyCheck valueforFile 1, Block 801:current = 0xe830, required = 0xe830 BBED> verifyDBVERIFY – Verification startingFILE =/u01/oracle/oradata/ora11g/system01.dbfBLOCK = 801 Block Checking: DBA = 4195105, Block Type = KTB-managed data blockdata header at 0xb677b25ckdbchk: space available on commit is incorrect tosp=6046 fsc=0 stb=0 avsp=6040Block 801 failed with check code 6111 DBVERIFY – Verification complete Total Blocks Examined : 1Total Blocks Processed (Data) : 1Total Blocks Failing (Data) : 1Total Blocks Processed (Index): 0Total Blocks Failing (Index): 0Total Blocks Empty : 0Total Blocks Marked Corrupt : 0Total Blocks Influx : 0 –修改kdbhtosp信息BBED> p kdbhstruct kdbh, 14 bytes @92 ub1 kdbhflag @92 0x00 (NONE) b1 kdbhntab @93 1 b2 kdbhnrow @94 37 sb2 kdbhfrre @96 6 sb2 kdbhfsbo @98 92 sb2 kdbhfseo @100 5863 b2 kdbhavsp @102 6040 b2 kdbhtosp @104 6046 BBED> d offset 102 File:/u01/oracle/oradata/ora11g/system01.dbf (1) Block: 801 Offsets: 102 to 229 Dba:0x00400321———————————————————————— 98179e17 00002500 701f571e 92189c1e 101efb1d ffff981d 551d0f1d d91cb71c 941c731c 4a1c1a1c ef1bc51b 9c1b701b 471b191b d61a931a 3c1a101a ee19bc19 86194e19 0d190f17 60181618 9a175e17 3d170000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 <32 bytes per line> BBED> d offset 104 File:/u01/oracle/oradata/ora11g/system01.dbf (1) Block: 801 Offsets: 104 to 231 Dba:0x00400321———————————————————————— 9e170000 2500701f 571e9218 9c1e101e fb1dffff 981d551d 0f1dd91c b71c941c 731c4a1c 1a1cef1b c51b9c1b 701b471b 191bd61a 931a3c1a 101aee19 bc198619 4e190d19 0f176018 16189a17 5e173d17 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 <32 bytes per line> BBED> m/x98 File:/u01/oracle/oradata/ora11g/system01.dbf (1) Block: 801 Offsets: 104 to 231 Dba:0x00400321———————————————————————— 98170000 2500701f 571e9218 9c1e101e fb1dffff 981d551d 0f1dd91c b71c941c 731c4a1c 1a1cef1b c51b9c1b 701b471b 191bd61a 931a3c1a 101aee19 bc198619 4e190d19 0f176018 16189a17 5e173d17 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 <32 bytes per line> –至此修改row directory指针完成BBED>sumapplyCheck valueforFile 1, Block 801:current = 0xe836, required = 0xe836 BBED> verifyDBVERIFY – Verification startingFILE =/u01/oracle/oradata/ora11g/system01.dbfBLOCK = 801 DBVERIFY – Verification complete Total Blocks Examined : 1Total Blocks Processed (Data) : 1Total Blocks Failing (Data) : 0Total Blocks Processed (Index): 0Total Blocks Failing (Index): 0Total Blocks Empty : 0Total Blocks Marked Corrupt : 0Total Blocks Influx : 0
重新启动数据库
SQL> startupORACLE instance started. Total SystemGlobalArea 313860096 bytesFixedSize 1344652 bytesVariableSize 260049780 bytesDatabaseBuffers 46137344 bytesRedo Buffers 6328320 bytesDatabasemounted.Databaseopened.SQL>select*fromglobal_name ; GLOBAL_NAME——————————————————–ORA11G SQL>
- dd操作数据文件
- 利用bbed找回ORACLE更新前值
- 在UltraEdit中定位数据文件内容
- bbed处理ORA-01200故障
- bbed 删除 cluster table 记录
- file 1 block 128 corrupted/坏块恢复—system rollback坏块修复
- [使用bbed解决ORA-00600[2662]](http://www.xifenfei.com/2011/12/%e4%bd%bf%e7%94%a8bbed%e8%a7%a3%e5%86%b3ora-006002662.html)
- 系统中数据文件第一个数据块和oracle 中第一个数据块关系
- [ORA-00600 [ktbdchk1: bad dscn] 解决](http://www.xifenfei.com/2011/09/ora-00600-ktbdchk1-bad-dscn-%e8%a7%a3%e5%86%b3.html)
- bbed简单替换block测试
- 使用bbed修复损坏datafile header
- 找出dbv相关dba值在数据文件中对应位置
此条目发表在非常规恢复分类目录,贴了bbed,[ORA-600[18062]](http://www.xifenfei.com/tag/ora-60018062)标签。将固定链接加入收藏夹。←bbed 删除 cluster table 记录→### 《bbed 恢复 GLOBAL_NAME 为空故障》有 5 条评论 惜分飞说:2015 年 08 月 18 日21:44是指针,关于数据块的校验部分,自己慢慢去折磨,一句话讲不清楚> 惜分飞,> 谢谢大神,受益非浅!还有点疑问:p kdbr中值最小的就是数据位置的指针么? 还有数据校验这一块还有点不清楚。能给指点指点么 ?感谢感谢! san说:2015 年 08 月 18 日17:04惜分飞,谢谢大神,受益非浅!还有点疑问:p kdbr中值最小的就是数据位置的指针么? 还有数据校验这一块还有点不清楚。能给指点指点么 ? 感谢感谢!惜分飞说:2015 年 08 月 17 日22:21对数据库启动过程进行跟踪,可以定位到sql,也可以定位到block,然后dump block分析> 请问大神,你怎么知道修改lock信息 时应该改为哪些值?> 还有如果不知道global_name被改为空,怎么定位这个问题? san说:2015 年 08 月 17 日17:29请问大神,你怎么知道修改lock信息 时应该改为哪些值?还有如果不知道global_name被改为空,怎么定位这个问题?惜分飞说:2012 年 08 月 13 日14:02Ora-00600 [18062] During Database Startup
Applies to:Oracle Server – Enterprise Edition – Version: 11.2.0.2.0 and later [Release: 11.2 and later ]Informationinthis document applies to any platform. SymptomsAfter updating the GLOBAL_NAME and setting it to NULL:UPDATE GLOBAL_NAME SET GLOBAL_NAME ='';COMMIT; The database is not starting up:SQL>shutdownimmediateDatabase closed.Database dismounted.ORACLE instance shut down.SQL> startupORACLE instance started. Total System Global Area 422670336 bytesFixed Size 1344616 bytesVariable Size 318770072 bytesDatabase Buffers 96468992 bytesRedo Buffers 6086656 bytesDatabase mounted.ORA-01092: ORACLE instance terminated. Disconnection forcedORA-00600: internal error code, arguments: [18062], [], [], [], [], [], [], [],[], [], [], []Process ID: 3552Session ID: 1 Serial number: 5 CauseThe steps that can cause the error:SQL>select* from global_name; GLOBAL_NAME——————————————————————————–ORCL1.LOCALDOMAIN SQL> UPDATE GLOBAL_NAME SET GLOBAL_NAME =''; 1 row updated. SQL> commit; Commit complete. SQL>shutdownimmediateDatabase closed.Database dismounted.ORACLE instance shut down.SQL> startupORACLE instance started. Total System Global Area 422670336 bytesFixed Size 1344616 bytesVariable Size 318770072 bytesDatabase Buffers 96468992 bytesRedo Buffers 6086656 bytesDatabase mounted.ORA-01092: ORACLE instance terminated. Disconnection forcedORA-00600: internal error code, arguments: [18062], [], [], [], [], [], [], [],[], [], [], []Process ID: 3552Session ID: 1 Serial number: 5 SolutionSteps to resolve the error: 1) Mount the DBSQL> conn / as sysdbaConnected to an idle instance.SQL> startupmount;ORACLE instance started. Total System Global Area 422670336 bytesFixed Size 1344616 bytesVariable Size 318770072 bytesDatabase Buffers 96468992 bytesRedo Buffers 6086656 bytesDatabase mounted. 2) Find the PID of the Oracle process oracle@localhost:[oracle@localhost ~]$ps-ef |grepLOCAL |grep-vgreporacle 4030 3417 0 11:51 ? 00:00:00 oracleorcl1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq))) 3) Here the PID is 4030whichwe will useinthe GDBoracle@localhost:[oracle@localhost ~]$ gdb $ORACLE_HOME/bin/oracle4030 GNU gdb (GDB) Red Hat Enterprise Linux (7.0.1-32.el5_6.2)Copyright (C) 2009 Free Software Foundation, Inc.License GPLv3+: GNU GPL version 3 or laterThis isfreesoftware: you arefreeto change and redistribute it.There is NO WARRANTY, to the extent permitted by law. Type"show copying"and"show warranty"fordetails.This GDB was configured as"i386-redhat-linux-gnu".For bug reporting instructions, please see:…Reading symbols from/home/oracle/app/oracle/product/11.2.0/dbhome_2/bin/oracle…(no debugging symbols found)…done.Attaching to program:/home/oracle/app/oracle/product/11.2.0/dbhome_2/bin/oracle, process 4030warning: .dynamic sectionfor"/lib/librt.so.1"is not at the expected addresswarning: difference appears to be caused by prelink, adjusting expectationsReading symbols from/home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libodm11.so…(no debugging symbols found)…done.Loaded symbolsfor/home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libodm11.soReading symbols from/home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libcell11.so…(no debugging symbols found)…done.Loaded symbolsfor/home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libcell11.soReading symbols from/home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libskgxp11.so…(no debugging symbols found)…done.Loaded symbolsfor/home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libskgxp11.soReading symbols from/lib/librt.so.1…(no debugging symbols found)…done.Loaded symbolsfor/lib/librt.so.1Reading symbols from/home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libnnz11.so…(no debugging symbols found)…done.Loaded symbolsfor/home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libnnz11.soReading symbols from/home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libclsra11.so…(no debugging symbols found)…done.Loaded symbolsfor/home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libclsra11.soReading symbols from/home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libdbcfg11.so…(no debugging symbols found)…done.Loaded symbolsfor/home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libdbcfg11.soReading symbols from/home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libhasgen11.so…(no debugging symbols found)…done.Loaded symbolsfor/home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libhasgen11.soReading symbols from/home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libskgxn2.so…(no debugging symbols found)…done.Loaded symbolsfor/home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libskgxn2.soReading symbols from/home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libocr11.so…(no debugging symbols found)…done.Loaded symbolsfor/home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libocr11.soReading symbols from/home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libocrb11.so…(no debugging symbols found)…done.Loaded symbolsfor/home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libocrb11.soReading symbols from/home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libocrutl11.so…(no debugging symbols found)…done.Loaded symbolsfor/home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libocrutl11.soReading symbols from/usr/lib/libaio.so.1…(no debugging symbols found)…done.Loaded symbolsfor/usr/lib/libaio.so.1Reading symbols from/lib/libdl.so.2…(no debugging symbols found)…done.Loaded symbolsfor/lib/libdl.so.2Reading symbols from/lib/libm.so.6…(no debugging symbols found)…done.Loaded symbolsfor/lib/libm.so.6Reading symbols from/lib/libpthread.so.0…(no debugging symbols found)…done.[Thread debugging using libthread_db enabled]Loaded symbolsfor/lib/libpthread.so.0Reading symbols from/lib/libnsl.so.1…(no debugging symbols found)…done.Loaded symbolsfor/lib/libnsl.so.1Reading symbols from/lib/libc.so.6…(no debugging symbols found)…done.Loaded symbolsfor/lib/libc.so.6Reading symbols from/lib/ld-linux.so.2…(no debugging symbols found)…done.Loaded symbolsfor/lib/ld-linux.so.2Reading symbols from/usr/lib/libnuma.so.1…(no debugging symbols found)…done.Loaded symbolsfor/usr/lib/libnuma.so.1Reading symbols from/lib/libnss_files.so.2…(no debugging symbols found)…done.Loaded symbolsfor/lib/libnss_files.so.2Reading symbols from/home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libnque11.so…(no debugging symbols found)…done.Loaded symbolsfor/home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libnque11.so0x00d24402in__kernel_vsyscall () 4) Insert a breakpoint at kokiasg(gdb)breakkokiasgBreakpoint 1 at 0x99f4d04 5) Continue the debugging(Gdb)continueContinuing. 6) Open the DBSQL> alter databaseopen The hang will happen at the following pointinthe alert log due to the abovebreakpointDatabase Characterset is WE8MSWIN1252 The gdb output will show:Breakpoint 1 , 0x0a3d404dinkokiasg () 7) Open a new SQLPLUS session as the first one is currently hanging due to the break-point and restore the GLOBAL_NAME to its original value: SQLPLUS / as sysdba SQL>selectstatus fromv$instance; STATUS———–OPEN SQL > update global_namesetglobal_name ='ORCL1.LOCALDOMAIN'; 1 row updated. SQL > commit; 8) In another session connect to SQLPLUS and check the GLOBAL_NAME:SQL>select* from global_name; GLOBAL_NAME———————-ORCL1.LOCALDOMAIN 9) Kill the GDB sessionwhichis currently suspending the database OPEN:(Gdb)killKill the program being debugged? (y or n) y(Gdb) quit At this moment, sqlplus will prompt:alter databaseopen*ERROR at line 1 :ORA – 03113 : end – of -fileon communication channel 10) Restart the DB.