Email: service@parnassusdata.com 7 x 24 online support!
ORA-00701: データベースの起動に必要なオブジェクトを変更できません。
プロのOracle Databaseの復旧サービスを提供
携帯番号: +86 13764045638 メール:service@parnassusdata.com
ORA-00701: データベースの起動に必要なオブジェクトを変更できません。
I_OBJ1、I_OBJ2、I_OBJ3、I_OBJ4、I_OBJ5、これら全部もOBJ$テーブルのインディクスで、壊された場合に、厄介になる。OracleがこれらのオブジェクトのDDLに対して厳しい制限をつけているから、そう簡単にリカバリできない。
以下の例のように:
*** 2012-01-31 05:59:24.837
Doing block recovery for file 25 block 2256706
Block header before block recovery:
buffer tsn: 0 rdba: 0x06626f42 (25/2256706)
scn: 0x08b7.b1dff478 seq: 0x01 flg: 0x04 tail: 0xf4780601
frmt: 0x02 chkval: 0x8da3 type: 0x06=trans data
Doing block recovery for file 25 block 2256706
Block header before block recovery:
buffer tsn: 0 rdba: 0x06626f42 (25/2256706)
——————–
It looks like PMON is trying to recover a block, and is unable to do so.
select * from dba_extents where 2256706 between block_id and block_id +
blocks
SQL> i
2 and file_id = 25;
SYS I_OBJ5
INDEX SYSTEM
70 25
2256640 1048576 128
25
以上は25番ファイルの2256706にエラになった。該当するオブジェクトはSYSのインディクスi_obj5である。けど、これはディクショナリーテーブルOBJ$のインディクスだから、再構造できない:
No ddl is allowed for i_obj5 as it is needed for warm start:
SQL> drop index i_obj5;
drop index i_obj5
*
ERROR at line 1:
ORA-00701: object necessary for warmstarting database cannot be altered
alter system set events ‘10293 trace name context forever, level 1’;
and also get 3 PMON errorstack at level 5133 in 1 min intervals.
dbv userid=sys/pass file= blocksize= start=2256706 end=2256706
以上はインディクスに対して、どんなオペレーションを実行しても、ORA-701エラになる。これで、特別な手段でI_OBJ1、I_OBJ2、I_OBJ3、I_OBJ4、I_OBJ5などSYSインディクスをリカバリしてください。