ORACLEデータベース によくあるエラ の解決策
プロのOracle Databaseの復旧サービスを提供
携帯番号: +86 13764045638 メール:service@parnassusdata.com
データベースは企業のコアとして、データベースが壊れて、まともに運用できなければ、取り換えれない損害を及ぼして、データがなくすかもしれない。データベースに故障が起きれば、有効なバックアップもない場合に、我々こそ最後のディフェンスである。我々必ず最善を尽くして、データを救って、損害をできるだけ低めにする。私たちは元々Oracle会社のアフターサービスリカバリエンジニア(ACS)として、中国でも名を知られたプロリカバリチームである。何百回のリカバリ経験があって;修復できたバーションはORACLE 7.3、ORACLE 8/8I,ORACLE 9I、ORACLE 10G,ORACLE 11G及びORACLE 12Cで、プラットフォームはLinux、Windows、AIX、HP-UNIX、SOLARIなどもある。私たちが勤めさせたお客様はチベットから上海まで、黒龍江から海南まで、中国にあるすべてのところどころに満ちている。お客様の分類もいろいろ:医療機関、軍隊、政府、製造業者、チェーンコンビニ、社会福祉センター、医療保険、物流センター、インターネット、金融機関、病院、警察署など。どんなデータベース故障であっても、いくつのリカバリ会社も訪ねて、リカバリできなかったとしても、私たちがリカバリできる。私たちの技術力が全国一だという大袈裟なこととも言えないが、私たちがリカバリできなかったら、誰でもリカバリできるわけがないと言える。すべてのデータベースがリカバリ出来ない限り、コミットメントを果たせなかったら、何の料金も受け取らない。
もし、プロOracleリカバリ技術サポートが必要とすれば、私たちに連絡してください。
支持しているデータベースリカバリ内容はそれだけではない
- 誤ったdrop table リカバリ
- 誤ったdelete/update リカバリ
- 誤ったtruncate tableリカバリ
- systemファイルデータベースをなくしたリカバリ
- asm ディスクがフォーマットされた
- bootstarp$にオブジェクトテストが壊された
- asmディスク損害、mountできなかった
- オペレーションシステムが削除されたデータファイルリカバリ
- データベースがundo損害/喪失によって起動出来ない
- データベースが一部のデータブロック損害でまともに運用出来ない
- データベースがORA-600エラによって起動できない
- exp dmpファイル損害、データベースリカバリをインポートできない
- データベースがコントロールファイル損害/喪失で起動できなくなった
- データベースがredo損害/喪失で起動できなくなった
- データベースがデータファイル損害/喪失で起動できなくなった
- データベースがアーカイブをなくして、データファイルがオンラインできなくなった
- データベースがデータベースエラoffline systemで起動できなくなった
- データベースがオペレーションシステムが壊された、データファイルだけがリカバリできる。
- データベースがストレージ壊されたせいで、データベースが起動できなくなった
- expdp dmpファイル損害、データベースリカバリがインポートできない。Asmディスクがなくし、asmで正常に使えなくなった
- データベースが誤ったresetlogs操作によって、リカバリが続けない
- データベースは電源切れたなどの原因で起動できなくなった
以下は典型的なOracle故障リカバリ
system rollback異常リカバリ
ORA-00604 ORA-00607 ORA-00600[4194]
Thu Jul 26 13:21:11 2012 Recovery of Online Redo Log: Thread 1 Group 1 Seq 3994 Reading mem 0 Mem# 0: /orasvr/orcl/redo01.log Block recovery completed at rba 3994.5.16, scn 0.89979533 Thu Jul 26 13:21:11 2012 Errors in file /orasvr/admin/orcl/udump/orcl_ora_2865.trc: ORA-00604: error occurred at recursive SQL level 1 ORA-00607: Internal error occurred while making a change to a data block ORA-00600: internal error code, arguments: [4194], [31], [2], [], [], [], [], [] Error 604 happened during db open, shutting down database USER: terminating instance due to error 604 Instance terminated by USER, pid = 2865 ORA-1092 signalled during: ALTER DATABASE OPEN...
undo segment異常リカバリ
ORA-00704 ORA-00604 ORA-01555
Fri May 4 21:04:21 2012 select ctime, mtime, stime from obj$ where obj# = :1 Fri May 4 21:04:21 2012 Errors in file /oracle/admin/standdb/udump/perfdb_ora_1286288.trc: ORA-00704: bootstrap process failure ORA-00704: bootstrap process failure ORA-00604: error occurred at recursive SQL level 1 ORA-01555: snapshot too old: rollback segment number 40 with name "_SYSSMU40$" too small Error 704 happened during db open, shutting down database USER: terminating instance due to error 704 Instance terminated by USER, pid = 1286288 ORA-1092 signalled during: alter database open resetlogs... ORA-00704 ORA-00604 ORA-01173 MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set Wed Feb 12 10:16:00 2014 SMON: enabling cache recovery Errors in file H:\ORACLE\diag\rdbms\orcl\orcl\trace\orcl_ora_9232.trc: ORA-01173: data dictionary indicates missing data file from system tablespace Errors in file H:\ORACLE\diag\rdbms\orcl\orcl\trace\orcl_ora_9232.trc: 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 Errors in file H:\ORACLE\diag\rdbms\orcl\orcl\trace\orcl_ora_9232.trc: 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 Error 704 happened during db open, shutting down database USER (ospid: 9232): terminating the instance due to error 704 Instance terminated by USER, pid = 9232 ORA-1092 signalled during: alter database open resetlogs...
obj$トランザクション異常リカバリ
ORA-00704 ORA-00600[4000] Thu Feb 28 19:29:10 2013 SMON: enabling cache recovery Thu Feb 28 19:29:11 2013 Errors in file /u1/PROD/prodora/db/tech_st/10.2.0/admin/PROD_oracle/udump/prod_ora_20989.trc: ORA-00600: internal error code, arguments: [4000], [50], [], [], [], [], [], [] Thu Feb 28 19:29:13 2013 Incremental checkpoint up to RBA [0x1.3.0], current log tail at RBA [0x1.3.0] Thu Feb 28 19:29:13 2013 Errors in file /u1/PROD/prodora/db/tech_st/10.2.0/admin/PROD_oracle/udump/prod_ora_20989.trc: ORA-00704: bootstrap process failure ORA-00704: bootstrap process failure ORA-00600: internal error code, arguments: [4000], [50], [], [], [], [], [], [] Thu Feb 28 19:29:13 2013 Error 704 happened during db open, shutting down database USER: terminating instance due to error 704 Instance terminated by USER, pid = 20989 ORA-1092 signalled during: ALTER DATABASE OPEN RESETLOGS...
IO異常リカバリ
ORA-01115 ORA-01110 ORA-27070 OSD-04016 Tue May 14 15:32:10 2013 Completed redo scan 16941 redo blocks read, 1106 data blocks need recovery Tue May 14 15:32:17 2013 Errors in file d:\oracle\product.2.0\admin\orcl\bdump\orcl_p002_1472.trc: ORA-01115: IO error reading block from file 6 (block # 81951) ORA-01110: data file 6: 'D:\ORACLE\PRODUCT.2.0\ORADATA\orcl\YD_DATA01.DBF' ORA-27070: async read/write failed OSD-04016: Error queuing an asynchronous I/O request O/S-Error: (OS 1117) The request could not be performed because of an I/O device error.
よくあるエラ情報
テーブルあるいはインディクスベッドブロックに関連するエラ
ORA-01578/ORA-08103/ORA-01410/ORA-08102/ORA-600 kdsgrp1/ORA-600 qertbfetchbyrowid/ORA-01499/ORA-01555/ORA-26040/ORA-27046
コントロールファイル異常
ORA-00202/ORA-600 kccsbck_first/ORA-600 kccscf_1/ORA-600[kccsbck_first]/ORA-600 kccsbck_first/ORA-00205/ORA-600 kccpb_sanity_check_2
REDOあるいはUNDO異常
ORA-00376/ORA-00600 4097/ORA-01595/ORA-600 4194/ORA-600 4193/ORA-600 kcfrbd_3/ORA-00600 4137/ORA-01594/ORA-01555/ORA-00704/ORA-00604/ORA-00607/ORA-600 4000/ORA-00600[3705]/ORA-00316/ORA-00312/ORA-00327/ORA-01623/ORA-01624/ORA-01194/ORA-600 2662/ORA-00368/ORA-00353/ORA-00305/ORA-00340/ORA-00345/ORA-00354
いろんなORA-600エラ
ORA-600 4497/ORA-600 6947/ORA-600 2662/ORA-600 4194/ORA-600 4193/ORA-00600 4137/ORA-600 4000/ORA- 600 kcrf_resilver_log_1/ORA- 600 kdxlin:psno out of range/ORA-600 3020/ORA-600 kccpb_sanity_check_2/ORA-600 3705/ORA-600 kccscf_1/ORA-600 kghstack_free2/ORA-600 kcfrbd_3/ORA-600 ktbdchk1: bad dscn/ORA-600 2252/ORA-600 kcratr_nab_less_than_odr/ORA-600 kccsbck_first/ORA-600 kcratr1_lostwrt/ORA-600 ktspNextL1:4/ORA-600 13013/ORA-600 kdsgrp1/ORA-600 kmgs_parameter_update_timeout_1/ORA-600 kcbgtcr_1/ORA-600 kcbgtcr_1a/ORA-600 kcbgtcr_3/ORA-600 kcbgtcr_4/ORA-600 kcbgtcr_5/ORA-600 kcbgtcr_6/ORA-600 kcbgtcr_7/ORA-600 kcbgtcr_10/ORA-600 kcbgtcr_12/ORA-600 kcbgtcr_13/ORA-600 qertbfetchbyrowid/ORA-600 kmgs_parameter_update_timeout_1
より速くデータベース故障を評価するために、Oracle Database Recovery Checkでデータベースをチェックしてください。html, alertログを作成して、トレースファイルをわたしに送信してください。 。
データベースcurrent/active redo異常なエラ
redoファイル損害エラ
Started redo scan
Errors in file d:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_ora_2960.trc (incident=214262):
ORA-00353: ログ損害がブロック 12014 を 9743799889 に、時間を 12/05/2011 09:21:11に変更してください
ORA-00312: オンラインログ 3 スレッド 1: ‘R:\ORADATA\orcl\REDO03.LOG’
Incident details in: d:\app\administrator\diag\rdbms\orcl\orcl\incident\incdir_214262\orcl_ora_2960_i214262.trc
Aborting crash recovery due to error 368
Errors in file d:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_ora_2960.trc:
ORA-00368: redoログブロックのテストとエラ
ORA-00353: ログ損害がブロック 12014を 9743799889 に、時間を 12/05/2011 09:21:11に変更してください
ORA-00312: オンラインログ 3 スレッド 1: ‘R:\ORADATA\orcl\REDO03.LOG’
ORA-368 signalled during: ALTER DATABASE OPEN…
redoファイルが別のインスタンスに占められて、エラになった
Wed May 16 17:03:11 2012
Started redo scan
Wed May 16 17:03:11 2012
Errors in file /oracle/admin/odsdb/udump/odsdb1_ora_2040024.trc:
ORA-00305: log 14 of thread 1 inconsistent; belongs to another database
ORA-00312: online log 14 thread 1: ‘/dev/rods_redo1_2_2′
ORA-00305: log 14 of thread 1 inconsistent; belongs to another database
ORA-00312: online log 14 thread 1: ‘/dev/rods_redo1_2_1′
ORA-305 signalled during: ALTER DATABASE OPEN…
ストレージ全体エラ
Mon Oct 17 09:35:09 2011
Errors in file /oracle/app/admin/orcl/bdump/orcl2_lgwr_348814.trc:
ORA-00340: IO error processing online log 4 of thread 2
ORA-00345: redo log write error block 6732 count 2
ORA-00312: online log 4 thread 2: ‘/dev/rredo21′
ORA-27063: number of bytes read/written is incorrect
IBM AIX RISC System/6000 Error: 6: No such device or address
Additional information: -1
Additional information: 1024
Mon Oct 17 09:35:09 2011
LGWR: terminating instance due to error 340
ストレージIOエラ
Fri Feb 21 08:44:42 2014
Thread 1 advanced to log sequence 591 (LGWR switch)
Current log# 1 seq# 591 mem# 0: J:\ORADATA\ORCL\REDO01.LOG
Fri Feb 21 15:31:20 2014
Errors in file c:\oracle\product\10.2.0\admin\orcl\bdump\orcl_lgwr_10312.trc:
ORA-00316: log 1 of thread 1, type 286 in header is not log file
ORA-00312: online log 1 thread 1: ‘J:\ORADATA\ORCL\REDO01.LOG’
_disable_loggingバラメタを使う
Sat May 14 23:16:49 2005
Errors in file d:\oracle\admin\rman\bdump\rman_arc0_736.trc:
ORA-16038: log 3 sequence# 72 cannot be archived
ORA-00354: corrupt redo log block header
ORA-00312: online log 3 thread 1: ‘D:\ORACLE\ORADATA\RMAN\REDO03.LOG’
自分でうまくいかない場合に、私たちに連絡してください、プロなデータベース技術を提供できる:
1.データファイルをなくした(ORA-01157)
SQL> startup
ORACLE instance started.
Total System Global Area 260046848 bytes
Fixed Size 1266896 bytes
Variable Size 83888944 bytes
Database Buffers 167772160 bytes
Redo Buffers 7118848 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 4 – see DBWR trace file
ORA-01110: data file 4: ‘/u01/oracle/oradata/orcl/users01.dbf’
データファイルがなくした。対応策:
1).バックアップでデータをリカバリする
2).非undo,systemなら、そのファイルoffline して、データベースを起動する
3). Undoの場合にORA-00376エラになるかもしれない
4).もしsystem offlineなら、ORA-01147になるかもしれない
2. Redoをなくした(ORA-00313)
SQL> startup
ORACLE instance started.
Total System Global Area 260046848 bytes
Fixed Size 1266896 bytes
Variable Size 83888944 bytes
Database Buffers 167772160 bytes
Redo Buffers 7118848 bytes
Database mounted.
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: ‘/u01/oracle/oradata/orcl/redo01.log’
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
redoファイルがなくした。対応策:
1). v$logを検索し、そのredoはcurrentかactiveかを確認する
2). Redoがアーカイブされたか
3). Inactiveならclear あるいは clear unarchivedを使ってください
4). Activeあるいはcurrentなら、不完全なリカバリ、隠しバラメタなどの方法で解決してください
3. Undoをなくした(ORA-01092 ORA-00376)
SQL> startup
ORACLE instance started.
Total System Global Area 260046848 bytes
Fixed Size 1266896 bytes
Variable Size 83888944 bytes
Database Buffers 167772160 bytes
Redo Buffers 7118848 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 2 – see DBWR trace file
ORA-01110: data file 2: ‘/u01/oracle/oradata/orcl/undotbs01.dbf’
SQL> alter database datafile 2 offline drop;
Database altered.
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-01092はフォアグラウンドエラで、alertログを検索することで探し出したバックグラウンドエラは主に:
Fri Oct 25 08:16:36 2013
Errors in file /u01/oracle/admin/orcl/bdump/orcl_smon_7437.trc:
ORA-00604: error occurred at recursive SQL level 1
ORA-00376: file 2 cannot be read at this time
ORA-01110: data file 2: ‘/u01/oracle/oradata/orcl/undotbs01.dbf’
undoエラがなくしたことで、一部のトランザクションがロールバック出来ないから、エラになる。この場合に隠しバラメタを利用してください
4. Systemをなくした(ORA-01147)
SQL> startup
ORACLE instance started.
Total System Global Area 260046848 bytes
Fixed Size 1266896 bytes
Variable Size 83888944 bytes
Database Buffers 167772160 bytes
Redo Buffers 7118848 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 1 – see DBWR trace file
ORA-01110: data file 1: ‘/u01/oracle/oradata/orcl/system01.dbf’
SQL> alter database datafile 1 offline drop;
Database altered.
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01147: SYSTEM tablespace file 1 is offline
ORA-01110: data file 1: ‘/u01/oracle/oradata/orcl/system01.dbf’
systemテーブルスペースはシステムテーブルスペースで、そのテーブルスペースのデータファイルがオフラインできない。もしそのテーブルスペースデータファイルがなくしたら、データベース がまともに起動できない。Bbedでシステムファイルをシミュレーションして、データベースを騙す (非file# 1)あるいはdulでデータを抽出する
5. コントロールファイルをなくした(ORA-00205 ORA-00202)
SQL> startup
ORACLE instance started.
Total System Global Area 260046848 bytes
Fixed Size 1266896 bytes
Variable Size 83888944 bytes
Database Buffers 167772160 bytes
Redo Buffers 7118848 bytes
ORA-00205: error in identifying control file, check alert log for more info
ORA-00205はフォアグラウンドエラで、具体的にはログと一緒に分析する必要がある:
Fri Oct 25 08:35:40 2013
ALTER DATABASE MOUNT
Fri Oct 25 08:35:40 2013
ORA-00202: control file: ‘/u01/oracle/oradata/orcl/control01.ctl’
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
ここで、コントロールファイルがその数値がなくした、対応策は以下の通り:
1).バックアップでコントロールファイルをリカバリする
2).別のコントロールファイルを探し出して、コピする
3).データファイルをリストしてコントロールファイルを再構造する
Comment