问题:一朋友的库开库报错:ORA-01173: data dictionary indicates missing data file from system tablespace
我的是11.2.0.1 他的是11.2.0.2
1.此问题是建立控制文件的时候少写数据文件了。
少了undo的信息。
2.做10046事件跟踪。
3.看trace。
4.尝试无undo 启动,屏蔽掉undo .
5.下载老熊的odu,挖取undo段的名称.(11g rollback segmentname和9i的10g的不一样)
找到undo的名称。
利用隐藏参数
库并没有拉起来,怀疑是不能屏蔽所有,屏蔽的不合适。
4.还原undo ,把undo 重新加到控制文件里面.
此原因是我们已经丢弃过它一次重建过控制文件。
6.bbed修改文件头
7.重建控制文件
8.尝试开库
9.期间发现中数据文件CONET.DBF不在里面,重复6操作。
开库
怀疑是文件头的scn的
修改scn一致
10.开库依然是ora600-2662,但是消除了 [ kcvorl_2 ]
11.尝试修改dba 33554720对应的block的scn,悲剧发生了机器死机了,bbed不能用了,心疼...
12.尝试手工推进scn
手工推进scn有几种方法.
我用的第二种
新建的undo 修改默认
删除老的 undo发生问题.
加上隐藏参数
成功删除
至此完成。
下面介绍老王的方法。
把修改过的undo和数据文件发给他。通过事件拉起。
事件的说明:
至此ok。改天模拟下2662和
1173。
我的是11.2.0.1 他的是11.2.0.2
点击(此处)折叠或打开
- 版本:
- Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
- With the Partitioning, OLAP, Data Mining and Real Application Testing options
- Windows NT Version V6.1
- CPU : 8 - type 8664, 8 Physical Cores
- 开库报错:
- SQL> alter database open resetlogs;
- alter database open resetlogs
- *
- ERROR at line 1:
- ORA-01092: ORACLE instance terminated. Disconnection forced
- ORA-00704: bootstrap process failure
- ORA-00704: bootstrap process failure
- ORA-00604: error occurred at recursive SQL level 1
- ORA-01173: data dictionary indicates missing data file from system tablespace
- Process ID: 8572
- Session ID: 96 Serial number: 3
1.此问题是建立控制文件的时候少写数据文件了。
点击(此处)折叠或打开
- CREATE CONTROLFILE REUSE DATABASE \"ORCL\" RESETLOGS NOARCHIVELOG
- MAXLOGFILES 16
- MAXLOGMEMBERS 3
- MAXDATAFILES 100
- MAXINSTANCES 8
- MAXLOGHISTORY 292
- LOGFILE
- GROUP 1 \'F:\\app\\Administrator\\oradata\\orcl\\redo01.log\' SIZE 50M BLOCKSIZE 512,
- GROUP 2 \'F:\\app\\Administrator\\oradata\\orcl\\redo02.log\' SIZE 50M BLOCKSIZE 512,
- GROUP 3 \'F:\\app\\Administrator\\oradata\\orcl\\redo03.log\' SIZE 50M BLOCKSIZE 512
- DATAFILE
- \'F:\\app\\Administrator\\oradata\\orcl\\system01.dbf\',
- \'F:\\app\\Administrator\\oradata\\orcl\\sysaux01.dbf\',
- \'F:\\app\\Administrator\\oradata\\orcl\\users01.dbf\',
- \'F:\\app\\Administrator\\oradata\\orcl\\example01.dbf\',
- \'F:\\app\\Administrator\\oradata\\orcl\\CONET.DBF\'
-
- CHARACTER SET US7ASCII
- ;
2.做10046事件跟踪。
点击(此处)折叠或打开
- alter session set events \'10046 trace name context forever, level 12\'
点击(此处)折叠或打开
- create table bootstrap$和一系列的相关过程无问题 庆幸此过程无问题
- PARSING IN CURSOR #463855704 len=142 dep=2 uid=0 oct=3 lid=0 tim=426776417298 hv=361892850 ad=\'7ff648c0ac0\' sqlid=\'7bd391hat42zk\'
- select /*+ rule */ name,file#,block#,status$,user#,undosqn,xactsqn,scnbas,scnwrp,DECODE(inst#,0,NULL,inst#),ts#,spare1 from undo$ where us#=:1
- END OF STMT
- PARSE #463855704:c=0,e=512,p=0,cr=0,cu=0,mis=1,r=0,dep=2,og=3,plh=0,tim=426776417297
- BINDS #463855704:
- Bind#0
- oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00
- oacflg=08 fl2=0001 frm=00 csi=00 siz=24 off=0
- kxsbbbfp=1ba5dc10 bln=22 avl=02 flg=05
- value=23
- EXEC #463855704:c=0,e=1014,p=0,cr=0,cu=0,mis=1,r=0,dep=2,og=3,plh=906473769,tim=426776418454
- WAIT #463855704: nam=\'db file sequential read\' ela= 6985 file#=1 block#=321 blocks=1 obj#=34 tim=426776425534
- WAIT #463855704: nam=\'db file sequential read\' ela= 5586 file#=1 block#=225 blocks=1 obj#=15 tim=426776431233
- FETCH #463855704:c=0,e=12896,p=2,cr=2,cu=0,mis=0,r=1,dep=2,og=3,plh=906473769,tim=426776431399
- STAT #463855704 id=1 cnt=1 pid=0 pos=1 obj=15 op=\'TABLE ACCESS BY INDEX ROWID UNDO$ (cr=2 pr=2 pw=0 time=12884 us)\'
- STAT #463855704 id=2 cnt=1 pid=1 pos=1 obj=34 op=\'INDEX UNIQUE SCAN I_UNDO1 (cr=1 pr=1 pw=0 time=7116 us)\'
- CLOSE #463855704:c=0,e=24,dep=2,type=0,tim=426776431598
- =====================
- PARSING IN CURSOR #463855704 len=288 dep=2 uid=0 oct=3 lid=0 tim=426776432375 hv=1456614789 ad=\'7ff648bf718\' sqlid=\'57guu81bd4bc5\'
- select name,online$,contents$,undofile#,undoblock#,blocksize,dflmaxext,dflinit,dflincr,dflextpct,dflminext, dflminlen, owner#,scnwrp,scnbas, NVL(pitrscnwrp, 0), NVL(pitrscnbas, 0), dflogging, bitmapped, inc#, flags, plugged, NVL(spare1,0), NVL(spare2,0), affstrength from ts$ where ts#=:1
- END OF STMT
- PARSE #463855704:c=0,e=716,p=0,cr=0,cu=0,mis=1,r=0,dep=2,og=4,plh=0,tim=426776432373
- BINDS #463855704:
- Bind#0
- oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00
- oacflg=08 fl2=0001 frm=00 csi=00 siz=24 off=0
- kxsbbbfp=1ba5dc10 bln=22 avl=02 flg=05
- value=5
- EXEC #463855704:c=0,e=1258,p=0,cr=0,cu=0,mis=1,r=0,dep=2,og=4,plh=2397009925,tim=426776433862
- WAIT #463855704: nam=\'db file sequential read\' ela= 4996 file#=1 block#=185 blocks=1 obj#=7 tim=426776438948
- WAIT #463855704: nam=\'db file sequential read\' ela= 2779 file#=1 block#=182 blocks=1 obj#=16 tim=426776441822
- FETCH #463855704:c=0,e=8008,p=2,cr=2,cu=0,mis=0,r=1,dep=2,og=4,plh=2397009925,tim=426776441908
- STAT #463855704 id=1 cnt=1 pid=0 pos=1 obj=16 op=\'TABLE ACCESS CLUSTER TS$ (cr=2 pr=2 pw=0 time=8001 us)\'
- STAT #463855704 id=2 cnt=1 pid=1 pos=1 obj=7 op=\'INDEX UNIQUE SCAN I_TS# (cr=1 pr=1 pw=0 time=5110 us)\'
- CLOSE #463855704:c=0,e=62,dep=2,type=0,tim=426776442009
- *** 2014-02-12 10:16:00.389
- dbkedDefDump(): Starting a non-incident diagnostic dump (flags=0x0, level=10, mask=0x0)
- ----- Error Stack Dump -----
- ORA-01173: data dictionary indicates missing data file from system tablespace
- ----- Current SQL Statement for this session (sql_id=4krwuz0ctqxdt) -----
- select ctime, mtime, stime from obj$ where obj# = :1
- ----- Call Stack Trace -----
- calling call entry argument values in hex
- location type point (? means dubious value)
- -------------------- -------- -------------------- ----------------------------
- ksedst1()+129 CALL??? skdstdst() 100000000 14760BCF8 005280590
- 000000006
- ksedst()+69 CALL??? ksedst1() 14760BD38 000000000 14760BCEC
- 00000000B
- dbkedDefDump()+4541 CALL??? ksedst() 01B8AB167 000000FC8 01B8AB15B
- 000000000
- ksedmp()+43 CALL??? dbkedDefDump() 00000000A 000000000 018F9DCD0
- 0000282D4
- dbkdaKsdActDriver() CALL??? ksedmp() 000000000 000000000 000000000
- +2204 000000000
- dbgdaExecuteAction( CALL??? dbkdaKsdActDriver() 005280590 01B8AD3F0 000000000
- )+1103 000000000
4.尝试无undo 启动,屏蔽掉undo .
5.下载老熊的odu,挖取undo段的名称.(11g rollback segmentname和9i的10g的不一样)
点击(此处)折叠或打开
- unload dict
- unload TABLE sys.undo$
利用隐藏参数
点击(此处)折叠或打开
- *._corrupted_rollback_segments=(_SYSSMU1_4293228286$,_SYSSMU2_2039428205$,_SYSSMU3_62847029$,_SYSSMU4_2852015879$,_SYSSMU5_865959144$,_SYSSMU6_4222004433$,_SYSSMU7_3167120690$,_SYSSMU8_3640122478$,_SYSSMU9_4125436319$,_SYSSMU10_1599800294$,_SYSSMU11_4274605233$,_SYSSMU12_3262263327$,_SYSSMU13_3701178243$,_SYSSMU14_2274826003$,_SYSSMU15_3989461359$,_SYSSMU16_2896103364$,_SYSSMU17_1001039816$,_SYSSMU18_826213832$,_SYSSMU19_2524552265$,_SYSSMU20_3030429363$,_SYSSMU21_3208651888$,_SYSSMU22_136948633$,_SYSSMU23_3630425231$,_SYSSMU24_3375812654$,_SYSSMU25_3954145094$,_SYSSMU26_3823963024$,_SYSSMU27_2697353812$,_SYSSMU28_1119046978$,_SYSSMU29_2253969065$,_SYSSMU30_722648610$)
4.还原undo ,把undo 重新加到控制文件里面.
点击(此处)折叠或打开
- SQL> CREATE CONTROLFILE REUSE DATABASE \"ORCL\" RESETLOGS NOARCHIVELOG
- 2 MAXLOGFILES 16
- 3 MAXLOGMEMBERS 3
- 4 MAXDATAFILES 100
- 5 MAXINSTANCES 8
- 6 MAXLOGHISTORY 292
- 7 LOGFILE
- 8 GROUP 1 'F:\app\Administrator\oradata\orcl\redo01.log' SIZE 50M BLOCKSIZE 512,
- 9 GROUP 2 'F:\app\Administrator\oradata\orcl\redo02.log' SIZE 50M BLOCKSIZE 512,
- 10 GROUP 3 'F:\app\Administrator\oradata\orcl\redo03.log' SIZE 50M BLOCKSIZE 512
- 11 DATAFILE
- 12 'F:\app\\Administrator\oradata\orcl\system01.dbf',
- 13 'F:\app\\Administrator\oradata\orcl\sysaux01.dbf',
- 14 'F:\app\\Administrator\oradata\orcl\users01.dbf',
- 15 'F:\app\\Administrator\oradata\orcl\UNDOTBS02.DBF',
- 16 'F:\app\\Administrator\oradata\orcl\example01.dbf'
-
- 18 CHARACTER SET US7ASCII
- 19 ;
- CREATE CONTROLFILE REUSE DATABASE "ORCL" RESETLOGS NOARCHIVELOG
- *
- 第 1 行出现错误:
- ORA-01503: CREATE CONTROLFILE ??
- ORA-01189: ????????????? RESETLOGS
- ORA-01110: ???? 8: 'F:\app\Administrator\oradata\orcl\UNDOTBS02.DBF'
此原因是我们已经丢弃过它一次重建过控制文件。
6.bbed修改文件头
点击(此处)折叠或打开
- SQL> col checkpoint_change# format xxxxxxxxx
- SQL> /
-
- FILE# CHECKPOINT_CHANGE#
- ---------- ------------------
- 1 5ee4df4db
- 2 5ee4df4db
- 4 5ee4df4db
- 5 5ee4df4db
- 7 5ee4df4db
-
- SQL> select file#,checkpoint_change# from v$datafile;
-
- SQL> select resetlogs_change#, to_char(resetlogs_time,\'mm/dd/yyyy hh24:mi:ss\') time from v$database;
-
- RESETLOGS_CHANGE# TIME
- ----------------- --------------------------------------
- 5ee4df4d8 02/11/2014 18:51:36
-
-
-
- BBED> dump dba 1,2 offset 116;
- File: F:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\SYSTEM01.DBF (1)
- Block: 2 Offsets: 116 to 627 Dba:0x00400002
- ------------------------------------------------------------------------
- d8f44dee 05000000 00000000 00000000 00000000 00000420 d00d0000 a8420632
- cf0d0000 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 00000000 00000000
- 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
- 00000000 00000000 00000000 00000000 00000000 00000000 00000000 06005359
- 5354454d 00000000 00000000 00000000 00000000 00000000 00000000 01000000
- 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
- 00000000 00000000 0a000a00 9b410632 d4f44dee 05000000 00000000 00000000
- 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
- 00000000 00000000 00000000 00000000 dbf44dee 05000000 b8420632 01000000
- 01000000 02000000 10000000 02000000 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> modify /x d8f44dee dba 3,2 dba offset 116;
- BBED-00215: editing not allowed in BROWSE mode
-
-
- BBED> set mode edit
- MODE Edit
-
- BBED> modify /x d8f44dee dba 3,2 dba offset 116;
- BBED-00207: invalid offset specifier (offset)
-
-
- BBED> modify /x d8f44dee dba 3,2 offset 116;
- Warning: contents of previous BIFILE will be lost. Proceed? (Y/N) y
- File: F:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\UNDOTBS02.DBF (3)
- Block: 2 Offsets: 116 to 627 Dba:0x00c00002
- ------------------------------------------------------------------------
- d8f44dee 05000000 00000000 00000000 00000000 00000400 db060000 811a0632
- da060000 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 00000000 00000000
- 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
- 00000000 00000000 00000000 00000000 00000000 00000000 05000000 0800554e
- 444f5442 53320000 00000000 00000000 00000000 00000000 00000000 08000000
- 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
- 00000000 00000000 00000000 b7180632 a8f44dee 05000000 00000000 00000000
- 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
- 00000000 00000000 00000000 00000000 dbf44dee 05000000 9a1a0632 01000000
- 01000000 02000000 10000000 02000000 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> sum apply
- Check value for File 3, Block 2:
- current = 0x6823, required = 0x6823
-
-
- BBED> modify /x b842 dba 3,2 offset 112
-
- BBED> dump dba 3,2 offset 112;
- File: F:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\UNDOTBS02.DBF (3)
- Block: 2 Offsets: 112 to 623 Dba:0x00c00002
- ------------------------------------------------------------------------
- b8420632 d8f44dee 05000000 00000000 00000000 00000000 00000400 db060000
- 811a0632 da060000 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 00000000
- 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
- 00000000 00000000 00000000 00000000 00000000 00000000 00000000 05000000
- 0800554e 444f5442 53320000 00000000 00000000 00000000 00000000 00000000
- 08000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
- 00000000 00000000 00000000 00000000 b7180632 a8f44dee 05000000 00000000
- 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
- 00000000 00000000 00000000 00000000 00000000 dbf44dee 05000000 9a1a0632
- 01000000 01000000 02000000 10000000 02000000 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>
7.重建控制文件
点击(此处)折叠或打开
- SQL> startup force nomount;
- ORACLE 例程已经启动。
- Total System Global Area 1043886080 bytes
- Fixed Size 2182344 bytes
- Variable Size 633340728 bytes
- Database Buffers 402653184 bytes
- Redo Buffers 5709824 bytes
- SQL> CREATE CONTROLFILE REUSE DATABASE \"ORCL\" RESETLOGS NOARCHIVELOG
- 2 MAXLOGFILES 16
- 3 MAXLOGMEMBERS 3
- 4 MAXDATAFILES 100
- 5 MAXINSTANCES 8
- 6 MAXLOGHISTORY 292
- 7 LOGFILE
- 8 GROUP 1 \'F:\\app\\Administrator\\oradata\\orcl\\redo01.log\' SIZE 50M BLOCKSIZE 512,
- 9 GROUP 2 \'F:\\app\\Administrator\\oradata\\orcl\\redo02.log\' SIZE 50M BLOCKSIZE 512,
- 10 GROUP 3 \'F:\\app\\Administrator\\oradata\\orcl\\redo03.log\' SIZE 50M BLOCKSIZE 512
- 11 DATAFILE
- 12 \'F:\\app\\Administrator\\oradata\\orcl\\system01.dbf\',
- 13 \'F:\\app\\Administrator\\oradata\\orcl\\sysaux01.dbf\',
- 14 \'F:\\app\\Administrator\\oradata\\orcl\\users01.dbf\',
- 15 \'F:\\app\\Administrator\\oradata\\orcl\\UNDOTBS02.DBF\',
- 16 \'F:\\app\\Administrator\\oradata\\orcl\\example01.dbf\'
- 17 CHARACTER SET US7ASCII
- 18 ;
- 控制文件已创建。 --已经回来
点击(此处)折叠或打开
- SQL> select * from v$tablespace;
- TS# NAME INCLUD BIGFIL FLASHB ENCRYP
- ---------- ------------------------------------------------------------ ------ ------ ------ ------
- 0 SYSTEM YES NO YES
- 1 SYSAUX YES NO YES
- 4 USERS YES NO YES
- 5 UNDOTBS2 YES NO YES
- 6 EXAMPLE YES NO YES
- SQL>
- SQL> recover database;
- ORA-00283: recovery session canceled due to errors
- ORA-01610: recovery using the BACKUP CONTROLFILE option must be done
- SQL> recover database using backup controlfile;
- ORA-00279: ?? 25472922843 (? 02/11/2014 16:00:26 ??) ???? 1 ????
- ORA-00289: ??: F:\\APP\\ADMINISTRATOR\\PRODUCT\\11.2.0\\DBHOME_1\\RDBMS\\ARC0000000001_0839271096.0001
- ORA-00280: ?? 25472922843 (???? 1) ??? #1 ?
- 指定日志: {=suggested | filename | AUTO | CANCEL}
- cancel
- 介质恢复已取消。
- SQL> alter database open;
- alter database open
- *
- 第 1 行出现错误:
- ORA-01589: ??????????? RESETLOGS ? NORESETLOGS ??
- SQL> alter database open resetlogs;
- alter database open resetlogs
- *
- 第 1 行出现错误:
- ORA-01092: ORACLE instance terminated. Disconnection forced
- ORA-00704: bootstrap process failure
- ORA-39700: database must be opened with UPGRADE option
- 进程 ID: 5348
- 会话 ID: 125 序列号: 3
SQL> alter database open resetlogs upgrade;
alter database open resetlogs upgrade
*
第 1 行出现错误:
ORA-00603: ORACLE server session terminated by fatal error
ORA-00600: internal error code, arguments: [2662], [5], [3998088408], [5], [3998099833], [33554720], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [2662], [5], [3998088407], [5], [3998099833], [33554720], [], [], [], [], [], []
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-00600: internal error code, arguments: [2662], [5], [3998088405], [5], [3998099833], [33554720], [], [], [], [], [], []
进程 ID: 5412
会话 ID: 125 序列号: 3
报2662 顿时感觉无压力了,谁知道反而卡在这里,脑子犯晕了。
alter database open resetlogs upgrade
*
第 1 行出现错误:
ORA-00603: ORACLE server session terminated by fatal error
ORA-00600: internal error code, arguments: [2662], [5], [3998088408], [5], [3998099833], [33554720], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [2662], [5], [3998088407], [5], [3998099833], [33554720], [], [], [], [], [], []
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-00600: internal error code, arguments: [2662], [5], [3998088405], [5], [3998099833], [33554720], [], [], [], [], [], []
进程 ID: 5412
会话 ID: 125 序列号: 3
9.期间发现中数据文件CONET.DBF不在里面,重复6操作。
开库
点击(此处)折叠或打开
- SQL> recover database using backup controlfile;
- ORA-00279: ?? 25472922843 (? 02/11/2014 18:51:36 ??) ???? 1 ????
- ORA-00289: ??: F:\\APP\\ADMINISTRATOR\\PRODUCT\\11.2.0\\DBHOME_1\\RDBMS\\ARC0000000001_0839361886.0001
- ORA-00280: ?? 25472922843 (???? 1) ??? #1 ?
-
-
-
-
- 指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
- cancel
- 介质恢复已取消。
- SQL> alter database open resetlogs upgrade;
- alter database open resetlogs upgrade
- *
- 第 1 行出现错误:
- ORA-00600: ??????, ??: [kcvorl_2], [5], [3998086364], [5], [3998086368], [], [], [], [], [], [], []
怀疑是文件头的scn的
修改scn一致
点击(此处)折叠或打开
- BBED> modify /x e3f4 dba 6,2 offset 484;
- File: F:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\CONET.DBF (6)
- Block: 2 Offsets: 484 to 995 Dba:0x01800002
- ------------------------------------------------------------------------
- e3f44dee 05000000 b8420632 01000000 01000000 02000000 10000000 02000000
- 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 00000000 00000000 00000000
- 0c000c00 0c000100 00000000 00000000 00000000 0200c001 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 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
- 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> sum apply;
- Check value for File 6, Block 2:
- current = 0x89de, required = 0x89de
-
- BBED>
10.开库依然是ora600-2662,但是消除了 [ kcvorl_2 ]
点击(此处)折叠或打开
- SQL> alter database open resetlogs upgrade;
- alter database open resetlogs upgrade
- *
- 第 1 行出现错误:
- ORA-00603: ORACLE server session terminated by fatal error
- ORA-00600: internal error code, arguments: [2662], [5], [3998088409], [5],
- [3998099833], [33554720], [], [], [], [], [], []
- ORA-00600: internal error code, arguments: [2662], [5], [3998088408], [5],
- [3998099833], [33554720], [], [], [], [], [], []
- ORA-01092: ORACLE instance terminated. Disconnection forced
- ORA-00600: internal error code, arguments: [2662], [5], [3998088405], [5],
- [3998099833], [33554720], [], [], [], [], [], []
- 进程 ID: 2680
- 会话 ID: 125 序列号: 3
11.尝试修改dba 33554720对应的block的scn,悲剧发生了机器死机了,bbed不能用了,心疼...
12.尝试手工推进scn
手工推进scn有几种方法.
点击(此处)折叠或打开
ORADEBUG POKE
*._allow_error_simulation = TRUE
*._smu_debug_mode = 268435456
alter session set events 'IMMEDIATE trace name ADJUST_SCN level 1';
*._allow_error_simulation = TRUE
*._smu_debug_mode = 268435456
alter session set events 'IMMEDIATE trace name ADJUST_SCN level 1';
我用的第二种
点击(此处)折叠或打开
- SQL> conn / as sysdba
- 已连接到空闲例程。
- SQL> create spfile from pfile;
-
- 文件已创建。
-
- SQL> startup nomount;
- ORACLE 例程已经启动。
-
- Total System Global Area 1043886080 bytes
- Fixed Size 2182344 bytes
- Variable Size 633340728 bytes
- Database Buffers 402653184 bytes
- Redo Buffers 5709824 bytes
- SQL> CREATE CONTROLFILE REUSE DATABASE \"ORCL\" RESETLOGS NOARCHIVELOG
- 2 MAXLOGFILES 16
- 3 MAXLOGMEMBERS 3
- 4 MAXDATAFILES 100
- 5 MAXINSTANCES 8
- 6 MAXLOGHISTORY 292
- 7 LOGFILE
- 8 GROUP 1 \'F:\\app\\Administrator\\oradata\\orcl\\redo01.log\' SIZE 50M BLOCKSIZE 512,
- 9 GROUP 2 \'F:\\app\\Administrator\\oradata\\orcl\\redo02.log\' SIZE 50M BLOCKSIZE 512,
- 10 GROUP 3 \'F:\\app\\Administrator\\oradata\\orcl\\redo03.log\' SIZE 50M BLOCKSIZE 512
- 11 DATAFILE
- 12 \'F:\\app\\Administrator\\oradata\\orcl\\system01.dbf\',
- 13 \'F:\\app\\Administrator\\oradata\\orcl\\sysaux01.dbf\',
- 14 \'F:\\app\\Administrator\\oradata\\orcl\\users01.dbf\',
- 15 \'F:\\app\\Administrator\\oradata\\orcl\\example01.dbf\',
- 16 \'F:\\app\\Administrator\\oradata\\orcl\\CONET.DBF\',
- 17 \'F:\\app\\Administrator\\oradata\\orcl\\UNDOTBS02.DBF\'
- 18 CHARACTER SET US7ASCII
- 19 ;
-
- 控制文件已创建。
-
- SQL>
- SQL> alter database open resetlogs upgrade;
-
- 数据库已更改。
-
- SQL>
新建的undo 修改默认
点击(此处)折叠或打开
- SQL> create undo tablespace un01 datafile \'F:\\app\\Administrator\\oradata\\orcl\\unto01.dbf\' size 50m autoextend on;
- 表空间已创建
- SQL> alter system set undo_tablespace=un01 scope=spfile;
- 系统已更改。
删除老的 undo发生问题.
点击(此处)折叠或打开
- SQL> drop tablespace UNDOTBS2;
- drop tablespace UNDOTBS2
- *
- 第 1 行出现错误:
- ORA-01548: 已找到活动回退段 '_SYSSMU30_722648610$', 终止删除表空间
加上隐藏参数
点击(此处)折叠或打开
- *._corrupted_rollback_segments=(_SYSSMU30_722648610$)
成功删除
点击(此处)折叠或打开
- SQL> drop tablespace UNDOTBS2;
-
- 表空间已删除。
-
- SQL> show parameter undo
-
- NAME TYPE VALUE
- ------------------------------------ ----------- ------------------------------
- undo_management string MANUAL
- undo_retention integer 10800
- undo_tablespace string UNDOTBS2
- SQL> select * from v$tablespace;
-
- TS# NAME INC BIG FLA ENC
- ---------- ------------------------------ --- --- --- ---
- 0 SYSTEM YES NO YES
- 1 SYSAUX YES NO YES
- 4 USERS YES NO YES
- 6 EXAMPLE YES NO YES
- 8 CONET YES NO YES
- 3 TEMP NO NO YES
- 7 SDE YES NO YES
- 9 UN01 YES NO YES
-
- 已选择8行。
至此完成。
下面介绍老王的方法。
把修改过的undo和数据文件发给他。通过事件拉起。
点击(此处)折叠或打开
- SQL> startup mount
- ORACLE instance started.
-
- Total System Global Area 626327552 bytes
- Fixed Size 2255832 bytes
- Variable Size 234882088 bytes
- Database Buffers 381681664 bytes
- Redo Buffers 7507968 bytes
- Database mounted.
- SQL> alter system set event=\'10513 trace name context forever,level 2 : 10512 trace name context forever,level 1: 10511 trace name context forever,level 2: 10510 trace name context forever,level 1\' scope=spfile;
-
- System altered.
-
- Elapsed: 00:00:00.01
- SQL> shutdown immediate
- ORA-01109: database not open
-
-
- Database dismounted.
- ORACLE instance shut down.
- SQL> exit
- Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
- With the Partitioning, OLAP, Data Mining and Real Application Testing options
- [oracle@ben ~]$ sqlplus / as sysdba
-
- SQL*Plus: Release 11.2.0.4.0 Production on Thu Feb 13 23:30:10 2014
-
- Copyright (c) 1982, 2013, Oracle. All rights reserved.
-
- Connected to an idle instance.
-
- SQL> startup mount
- ORACLE instance started.
-
- Total System Global Area 626327552 bytes
- Fixed Size 2255832 bytes
- Variable Size 234882088 bytes
- Database Buffers 381681664 bytes
- Redo Buffers 7507968 bytes
- Database mounted.
- SQL> alter database open;
- alter database open
- *
- ERROR at line 1:
- ORA-01113: file 1 needs media recovery
- ORA-01110: data file 1: \'/home/oracle/oradata/orcl/SYSTEM01.DBF\'
-
-
- Elapsed: 00:00:00.04
- SQL> recover database;
- Media recovery complete.
- SQL> alter database open;
- alter database open
- *
- ERROR at line 1:
- ORA-01092: ORACLE instance terminated. Disconnection forced
- ORA-00704: bootstrap process failure
- ORA-39700: database must be opened with UPGRADE option
- Process ID: 2205
- Session ID: 125 Serial number: 5
-
-
- Elapsed: 00:00:02.67
- SQL> exit
- Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
- With the Partitioning, OLAP, Data Mining and Real Application Testing options
- [oracle@ben ~]$ sqlplus / as sysdba
-
- SQL*Plus: Release 11.2.0.4.0 Production on Thu Feb 13 23:30:43 2014
-
- Copyright (c) 1982, 2013, Oracle. All rights reserved.
-
- Connected to an idle instance.
-
- SQL> startup mount;
- ORACLE instance started.
-
- Total System Global Area 626327552 bytes
- Fixed Size 2255832 bytes
- Variable Size 234882088 bytes
- Database Buffers 381681664 bytes
- Redo Buffers 7507968 bytes
- Database mounted.
- SQL> alter database open upgrade;
- alter database open upgrade
- *
- ERROR at line 1:
- ORA-01113: file 1 needs media recovery
- ORA-01110: data file 1: \'/home/oracle/oradata/orcl/SYSTEM01.DBF\'
-
-
- Elapsed: 00:00:00.01
- SQL> recover database;
- Media recovery complete.
- SQL> alter database open upgrade;
-
- Database altered.
-
- Elapsed: 00:00:06.68
点击(此处)折叠或打开
- 10513事件用以阻止SMON在启动数据库后执行事务恢复(transaction recovery)
-
-
- 10512事件用以阻止SMON shrink rollback segment
-
-
- 10511事件用以阻止SMON check to cleanup undo dictionary
-
-
- 10500事件用以阻止SMON check to offline pending offline rollback segment
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29477587/viewspace-1081754/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29477587/viewspace-1081754/