本帖最后由 疾风狼 于 2014-12-26 16:55 编辑
问题:是不是BBED rdba修改的不对? 实验过程参照: 软硬件环境 Oracle Database 11g EnterpriseEdition Release 11.2.0.1.0 - Production With the Partitioning, OLAP, DataMining and Real Application Testing options ORACLE_HOME =/u01/app/oracle/product/11.2.0/db_1 System name: Linux Node name: Linux Release: 2.6.18-194.el5 Version: #1 SMP Tue Mar 16 21:52:43 EDT 2010 Machine: i686 Instance name: fish Redo thread mounted by thisinstance: 1 Oracle process number: 19 Unix process pid: 19954, image ![](static/image/smiley/default/shocked.gif) racle@Linux (TNS V1-V3) 实验出错在: upgrade模式启动数据库:
SQL*Plus:Release 11.2.0.1.0 Production on Thu Nov 13 13:42:01 2014 Copyright(c) 1982, 2009, Oracle. All rightsreserved. Connectedto an idle instance. 13:42:01SYS # fish >startup mount; ORACLEinstance started. TotalSystem Global Area 418484224 bytes FixedSize 1336932 bytes VariableSize 276826524 bytes DatabaseBuffers 134217728 bytes RedoBuffers 6103040 bytes Databasemounted. 13:42:21SYS # fish >alter database Open upgrade; alterdatabase Open upgrade * ERROR atline 1: ORA-01092:ORACLE instance terminated. Disconnection forced ORA-00704:bootstrap process failure ORA-01578:ORACLE data block corrupted (file # 1, block # 520) ORA-01110:data file 1: '/u01/app/oracle/oradata/fish/system01.dbf' ProcessID: 20139 SessionID: 1 Serial number: 5 创建bootstarp$替换表(xifenfei) 获取rba 15:36:24 SYS # fish > select header_file,header_blockfrom dba_segments where segment_name='XIFENFEI';
HEADER_FILE HEADER_BLOCK ----------- ------------ 1 92480
15:36:24 SYS # fish >SELECT TO_CHAR(92480,'XXXXXXX')FROM DUAL;
TO_CHAR( -------- 16940
Elapsed: 00:00:00.09 --对应rdba为00416940 bbed修改root rdba BBED>set filename=/u01/app/oracle/oradata/fish/system01.dbf
BBED>
BBED> set count 32
COUNT 32
BBED>
BBED> d
File: /u01/app/oracle/oradata/fish/system01.dbf (1)
Block: 520 Offsets: 4 to 35 Dba:0x00400208
------------------------------------------------------------------------
08024000 51020000 00000104 43e40000 00000000 00000000 00000000 00000000
<32 bytes per line>
BBED> m /x 406941
File: /u01/app/oracle/oradata/fish/system01.dbf (1)
Block: 520 Offsets: 4 to 35 Dba:0x00400208
------------------------------------------------------------------------
40694100 51020000 00000104 43e40000 00000000 00000000 00000000 00000000
<32 bytes per line>
BBED> sum apply
Check value for File 1, Block 520:
current = 0x8f0a, required = 0x8f0a
BBED> d
File: /u01/app/oracle/oradata/fish/system01.dbf (1)
Block: 520 Offsets: 4 to 35 Dba:0x00400208
------------------------------------------------------------------------
40694100 51020000 00000104 0a8f0000 00000000 00000000 00000000 00000000
<32 bytes per line>
BBED> prdba_kcbh
ub4 rdba_kcbh @4 0x00416940 |