疾风狼 发表于 2014-12-26 16:41:13

BBED 修改rdba方式对不对?

本帖最后由 疾风狼 于 2014-12-26 16:55 编辑

问题:是不是BBED rdba修改的不对? 实验过程参照:http://www.xifenfei.com/5026.html软硬件环境Oracle Database 11g EnterpriseEdition Release 11.2.0.1.0 - ProductionWith the Partitioning, OLAP, DataMining and Real Application Testing optionsORACLE_HOME =/u01/app/oracle/product/11.2.0/db_1System name:LinuxNode name: LinuxRelease:   2.6.18-194.el5Version:   #1 SMP Tue Mar 16 21:52:43 EDT 2010Machine:   i686Instance name: fishRedo thread mounted by thisinstance: 1Oracle process number: 19Unix process pid: 19954, image:oracle@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 Area418484224 bytesFixedSize                  1336932 bytesVariableSize             276826524 bytesDatabaseBuffers          134217728 bytesRedoBuffers                6103040 bytesDatabasemounted.13:42:21SYS # fish >alter database Open upgrade;alterdatabase Open upgrade*ERROR atline 1:ORA-01092:ORACLE instance terminated. Disconnection forcedORA-00704:bootstrap process failureORA-01578:ORACLE data block corrupted (file # 1, block # 520)ORA-01110:data file 1: '/u01/app/oracle/oradata/fish/system01.dbf'ProcessID: 20139SessionID: 1 Serial number: 5创建bootstarp$替换表(xifenfei) 获取rba15: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 rdbaBBED>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

xifenfei 发表于 2014-12-26 18:02:46

从你这里看出来
ORA-01578:ORACLE data block corrupted (file # 1, block # 520)   证明数据文件通过bbed修改为坏块了

你可以通过bbed 进去
set blocksize 8192
set file 1 block 520
verify
看看是否坏块
或者bbed检查是否坏块

建议使用备份system进一步测试,在启动数据库前,确保bbed 修改block成功

疾风狼 发表于 2014-12-26 18:14:45

xifenfei 发表于 2014-12-26 18:02
从你这里看出来
ORA-01578:ORACLE data block corrupted (file # 1, block # 520)   证明数据文件通过bbed ...

已经做了备份。在试试实验。

xifenfei 发表于 2014-12-26 23:14:36

疾风狼 发表于 2014-12-26 18:14
已经做了备份。在试试实验。

有结果及时反馈
页: [1]
查看完整版本: BBED 修改rdba方式对不对?