23 RMAN操作のトラブルシューティング
RMAN操作についてトラブルシューティングするには、RMANのメッセージ出力および動的パフォーマンス・ビューを使用します。
23.1 RMANのメッセージ出力の解釈
Recovery Managerは、問題のトラブルシューティングに役立つ詳細なエラー・メッセージを提供します。
また、Oracle Databaseおよびサード・パーティのメディア・ベンダーは、独自の有効なデバッグ出力を生成します。この項では、発生する可能性がある様々なエラーの識別方法および解釈について説明します。
23.1.1 RMANメッセージ出力タイプの識別
障害が発生したか、応答しなくなったRMANジョブのトラブルシューティングに役立つ出力は、様々な場所に表示または格納されます。
次の表に、RMANのバックアップの問題をトラブルシューティングするために使用できるメッセージ出力の場所の概要を示します。
表23-1 メッセージ出力タイプ
出力タイプ | 作成元 | 場所 | 説明 |
---|---|---|---|
RMANメッセージ |
RMAN |
ジョブの詳細情報は、 RMANをコマンドラインから実行すると、出力を次の場所に送ることができます。
|
RMANジョブに関連するアクションと、RMAN、データベース・サーバーおよびメディア・ベンダーによって生成されたエラー・メッセージが含まれています。RMANのエラー・メッセージには、 次のPL/SQLを実行すると、 update node set high_rsr_recid=0
where db_key = our_target_database_db_key ; このファンクションでは、すべてのジョブ関連エントリが削除されます。新しいバックアップ・ジョブが |
|
Oracle Database |
自動診断リポジトリ(ADR)ホームの |
エラー、初期化パラメータ設定および管理操作の時系列のログが含まれています。上書きされた制御ファイル・レコードの値が記録されます。 |
Oracleトレース・ファイル |
Oracle Database |
ADRホームの |
Oracle Databaseプロセスによって生成された詳細な出力が含まれています。このファイルは、 |
|
サード・パーティのメディア管理ソフトウェア |
ADRホームの |
メディア管理ソフトウェアによって生成されたベンダー固有の情報が含まれています。このログには、Oracle DatabaseまたはRMANのエラーは含まれていません。 |
メディア・マネージャのログ・ファイル |
サード・パーティのメディア管理ソフトウェア |
|
メディア管理デバイスの機能に関する情報が含まれています |
23.1.2 長時間実行中のRMAN操作のトラブルシューティング
RMANメッセージ出力は、バックアップおよびリカバリ操作の進捗状況に関する情報を提供します。この情報を使用して、スタックしている操作やリソースを待機している操作のトラブルシューティングに必要な処理を行ってください。
大規模なデータベースのバックアップ、リストア、リカバリおよび複製などの特定の操作は、通常、完了するまでに時間がかかります。ただし、操作が進行中または一部のリソース上で待機しているか、必ずしも明らかではありません。Oracle Databaseリリース18以上では、RMANメッセージ出力に、ジョブがリソースを待機しているかどうかを示す追加のロギング情報が含まれます。10分ごとに、RMANは、処理されるブロックの数が変更されたかどうかを確認します。処理されるブロックに変更がない場合、RMANは関連付けられた待機イベントを示すメッセージを表示します。
次に、RESTORE
操作のRMAN出力の例を示します。
allocated channel: c1
channel c1: SID=123 device type=SBT_TAPE
channel c1: WARNING: Oracle Test Disk API
Starting restore at 18-JAN-18
channel c1: starting datafile backup set restore
channel c1: specifying datafile(s) to restore from backup set
channel c1: restoring datafile 00002 to /ade/b/2776899351/oracle/dbs/tbs_ax1.f
channel c1: reading from backup piece 01sov1t4_1_1
***** Hang Detected ***** at 2018-01-18 04:11:23 for channel c1, INSTID: 1, SID: 123, serial: 35831
No change in read blocks, thus showing wait event[Total blocks = 192000, Blocks read/recovered = 41530]
Seq_No Event Waiting Time(mirco secs)
602 Backup: MML read backup piece 38094371
***** Hang Detected ***** at 2018-01-18 04:11:33 for channel c1, INSTID: 1, SID: 123, serial: 35831
No change in read blocks, thus showing wait event[Total blocks = 192000, Blocks read/recovered = 41530]
Seq_No Event Waiting Time(mirco secs)
602 Backup: MML read backup piece 48106104
channel c1: piece handle=01sov1t4_1_1 tag=TAG20180118T040804
channel c1: restored backup piece 1
channel c1: restore complete, elapsed time: 00:02:35
Finished restore at 18-JAN-18
released channel: c1
出力では、メディア・マネージャの読取り操作で問題が発生したため、リストアがスタックしていたことが示されます。読取り操作が完了した後、RMANのリストアに成功しました。
23.1.3 RMANのエラー・メッセージ・スタックの識別
RMANは、エラーの発生時にそれらのエラーを通知します。回復不可能なエラーの場合、つまりRMANが別のチャネルへのフェイルオーバーを実行して特定のジョブ・ステップを完了することができない場合、すべてのジョブ・セットの完了後にエラーの概要レポートも出力されます。この機能は、遅延エラー・レポートともいいます。
RMANにエラーが発生したかどうかを確認する方法の1つは、リターン・コードを調べることです。2つ目の方法は、RMANの出力内でRMAN-00569
文字列を検索することです。RMAN-00569は、エラー・スタック・バナーのメッセージ番号です。すべてのRMANエラーの前に、このエラー・メッセージが表示されます。出力内にRMAN-00569
メッセージが表示されない場合、エラーはありません。
RMAN-01109
RMANクライアント障害は、
RMAN-01109
メッセージとして出力に記録されます。RMAN-01109
は、クライアント診断トレースが記録されているファイル名を示しますRMAN-01110
コマンド実行フェーズ中のRMANの失敗は、
RMAN-01110
メッセージとして出力に記録されます。RMAN-01110
は、サーバー診断トレースが記録されているファイル名を示します- RMANクライアントがサーバーへの接続に失敗した場合、RMANサーバー・トレースがダンプされなかったことを示すエラー・コード
RMAN-01111
がRMAN出力に含まれます
例23-1 RMAN構文エラー
この例は、RMAN構文エラーを示しています。RMAN-00569
メッセージに続いて、エラーの理由を示すエラー・メッセージが表示されます。
RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-00558: error encountered while parsing input commands RMAN-01005: syntax error: found ")": expecting one of: "archivelog, backup, backupset, controlfilecopy, current, database, datafile, datafilecopy, (, plus, ;, tablespace" RMAN-01007: at line 1 column 18 file: standard input
例23-2 トレース・ファイル名を示すRMANエラー
この例は、RMAN-01109
およびRMAN-01110
エラー・コードを含むRMANエラー・メッセージを示しています。これらのエラー・コードはRMANクライアントおよびサーバーのプロセス・トレース・ファイルの場所を示しています。
RMAN-00571: =========================================================== RMAN-03002: failure of sql command at 06/08/2023 10:33:29 RMAN-03014: implicit resync of recovery catalog failed RMAN-03009: failure of partial resync command on default channel at 06/08/2023 10:33:29 RMAN-20110: set_stamp set_count conflict RMAN-01109: RMAN Client Diagnostic Trace file : /ade/b/368400417/oracle/log/diag/clients/user_name/host_name/trace/ora_570883_140446658743104.trc RMAN-01111: RMAN Server Diagnostic Trace file : /ade/b/368400417/oracle/log/diag/rdbms/tst/tst/trace/tst_ora_570897.trc
ノート:
ストレージ領域に関連する問題を回避するには、インメモリー・トレース・ファイルを定期的にパージする必要があります。自動診断リポジトリ・コマンド・インタプリタ(ADRCI)ユーティリティを使用して、診断トレース・ファイルの自動パージを制御するポリシーを設定します。診断データのパージ方法の詳細は、『Oracle Databaseユーティリティ』を参照してください。関連項目:
23.1.4 RMANエラー・コードの識別
RMANメッセージ・スタックのエラー・コードを使用すると、RMANコマンドに関する問題をトラブルシューティングできます。
通常、RMANメッセージ・スタックには次のタイプのエラー・コードが含まれています。
-
接頭辞が
RMAN-
のエラーこれらはRMANエラーです。
-
接頭辞が
ORA-
のエラーメディア・マネージャのエラーでは接頭辞
ORA-
を使用します。 -
Additional information:
の後に表示されるエラー
関連項目:
-
RMANエラーのエラー範囲は、「Recovery Managerのエラー・メッセージ番号」を参照してください
-
メディア・マネージャ・エラーのエラー範囲は、「ORA-19511: メディア・マネージャ・エラー」を参照してください
-
RMAN
およびORA
のエラー・コードの詳細は、Oracle Databaseエラー・メッセージ・リファレンスを参照してください。
23.1.4.1 Recovery Managerのエラー・メッセージ番号
RMANのエラー・メッセージには、RMAN-という接頭辞が付いています。
次の表に、一般的なRMANエラー・メッセージのエラー範囲を示します。すべてのメッセージの詳細は、Oracle Databaseエラー・メッセージ・リファレンスを参照してください。
表23-2 RMANのエラー・メッセージの範囲
エラー範囲 | 原因 |
---|---|
01108-01112 |
RMANクライアントおよびサーバー・プロセスのインメモリー・デバッグ・トレースに関する情報 |
0550-0999 |
コマンドライン・インタプリタ |
1000-1999 |
キーワード・アナライザ |
2000-2999 |
構文アナライザ |
3000-3999 |
主レイヤー |
4000-4999 |
サービス・レイヤー |
5000-5499 |
|
5500-5999 |
|
6000-6999 |
通常のコンパイル |
7000-7999 |
通常の実行 |
8000-8999 |
PL/SQLプログラム |
9000-9999 |
低レベルのキーワードのアナライザ |
10000-10999 |
サーバー側の実行 |
11000-11999 |
PL/SQLとRMAN間のフェーズ間エラー |
12000-12999 |
リカバリ・カタログ・パッケージ |
23.1.4.2 ORA-19511: メディア・マネージャ・エラー
メディア・マネージャ・エラーが発生した場合、ORA-19511
が通知され、説明を含むエラー・メッセージがメディア・マネージャからRMANに戻されます。RMANは、メディア・マネージャから戻されたエラーを表示します。
たとえば、次のようなエラーが表示されます。
ORA-19511: Error received from media manager layer, error text: sbtpvt_open_input: file .* does not exist or cannot be accessed, errno = 2
メディア・マネージャからのメッセージには、根本的な問題を修正するために十分な情報が含まれています。十分でない場合、ご使用のメディア・マネージャのドキュメントを参照するか、またはメディア管理ベンダーのサポート担当者に詳細を問い合せてください。ORA-19511
エラーは、Oracle Databaseではなくメディア・マネージャによって生成されます。データベースは、メディア・マネージャからのメッセージを渡すのみです。原因を解決できるのは、メディア管理ベンダーのみです。
SBT 1.1対応のメディア管理レイヤーを使用している場合、その他のエラー・メッセージ・テキストが表示される場合があります。SBT 1.1対応のメディア管理レイヤーからの出力は、次のものと類似しています。
ORA-19507: failed to retrieve sequential file, handle="c-140148591-20031014-06", parms="" ORA-27007: failed to open file Additional information: 7000 Additional information: 2 ORA-19511: Error received from media manager layer, error text: SBT error = 7000, errno = 0, sbtopen: backup file not found
「Additional information」には、SBT 1.1に固有なエラー・コードが表示されます。表示される値は、表23-3に示すメディア・マネージャ・メッセージ番号およびエラー・テキストに対応しています。RMANは、「ORA-19511 メディア・マネージャ・レイヤーからのエラーを受け取りました。
」を再度表示し、メディア・マネージャから戻されたエラー・コードに関連する一般的なエラー・メッセージおよびSBT 1.1エラー番号を表示します。
参考として、SBT 1.1エラー・メッセージを示します。表23-3に、メディア・マネージャ・メッセージ番号および各番号に対応するエラー・テキストを示します。エラー・コード内のO/S
は、オペレーティング・システムを意味します。アスタリスク(*)が付いているエラーは内部エラーであり、通常の操作中に一般的に表示されるものではありません。
表23-3 メディア・マネージャのエラー・メッセージの範囲
原因 | 番号 | メッセージ |
---|---|---|
sbtopen |
7000 7001 7002* 7003 7004 7005 7006 7007 7008 7009 7010 7011 7012* |
バックアップ・ファイルが見つかりません。(読取りの場合のみ戻されます。) バックアップ・ファイルは存在します。(書込みの場合のみ戻されます。) 不正なモードが指定されました。 指定されたブロック・サイズが無効です。 デバイスがありません。 デバイスは見つかりましたがビジーです。後で再試行してください。 ボリュームが見つかりません。 ボリュームは使用中です。 I/Oエラーです。 Media Managerと接続できません。 許可されません。 システム・エラー - たとえばmalloc、forkのエラー 引数が無効です。 |
sbtclose |
7020* 7021* 7022 7023 7024* 7025 |
ファイル・ハンドルが無効か、ファイルをオープンできません。 フラグが無効です。 I/Oエラーです。 O/Sエラーです。 引数が無効です。 Media Managerと接続できません。 |
sbtwrite |
7040* 7041 7042 7043 7044* |
ファイル・ハンドルが無効か、ファイルをオープンできません。 ボリュームの終わりに達しました。 I/Oエラーです。 O/Sエラーです。 引数が無効です。 |
sbtread |
7060* 7061 7062 7063 7064 7065* |
ファイル・ハンドルが無効か、ファイルをオープンできません。 EOFに達しました。 ボリュームの終わりに達しました。 I/Oエラーです。 O/Sエラーです。 引数が無効です。 |
sbtremove |
7080 7081 7082 7083 7084 7085 7086* |
バックアップ・ファイルが見つかりません。 バックアップ・ファイルは使用中です。 I/Oエラーです。 Media Managerと接続できません。 許可されません。 O/Sエラーです。 引数が無効です。 |
sbtinfo |
7090 7091 7092 7093 7094 7095* |
バックアップ・ファイルが見つかりません。 I/Oエラーです。 Media Managerと接続できません。 許可されません。 O/Sエラーです。 引数が無効です。 |
sbtinit |
7110* 7111 7112 7113 7114 |
引数が無効です。 O/Sエラーです。 現在のRDBMSバージョンでは、RA_FORMAT=TRUEはサポートされていません。 RA_FORMAT=TRUEを使用する場合、自動割当てバッファが必要です。 RA_REPLICATIONとRA_FORMATの両方をtrueに設定することはできません。 |
共通エラー・コード |
7500 7501 7502 7503 7504 7505 7506 7507 7508 |
オペレータの介入がリクエストされました メディア管理エラー ファイルが見つかりません ファイルがすでに存在します ファイルの終わり 指定されたファイルをプロキシ・コピーできません 進行中のプロキシ作業なし 使用可能なバッファがありません シグナルにより中断 |
Oracle Database 23c以降、データベース・インストールの一部としてOracleホーム・ディレクトリにあるネイティブSBTライブラリを使用できるようになります。データベースのインストール後、Oracle Cloud、リカバリ・アプライアンスおよびAmazon S3でのバックアップとリストアにネイティブSBTライブラリを使用するようRMANチャネルを構成できます。
OracleでネイティブSBTメディア・ライブラリを使用しているときに問題が発生すると、RMANからORA-19511
が通知され、それに続きKBHSの接頭辞が付いた説明のエラー・メッセージが表示されます。KBHSの接頭辞が付いたエラーメッセージは、エラーの原因を明確に表しています。
例23-3 OracleでネイティブSBTライブラリを使用してクラウド・ストレージの場所にアクセスしている場合に表示されるKBHSエラー・メッセージ
この例は、OracleがネイティブSBTライブラリにアクセスしたときに発生するエラーを示しています。ORA-19511
の後に、原因を示すKBHS-01025
メッセージが表示されます。
RMAN-03090: Starting backup at APR 17 2018 16:00:21 RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of backup command at 04/17/2018 16:00:23 ORA-19554: error allocating device, device type: SBT_TAPE, device name: ORA-27023: skgfqsbi: media manager protocol error ORA-19511: non RMAN, but media manager or vendor specific failure, error text: KBHS-01025: Parameter OPC_WALLET and OPC_CREDENTIAL_OBJECT cannot both be specified
KBHSのエラー・メッセージについては、次のリストおよび『Oracle Databaseエラー・メッセージ・リファレンス』の説明を参照してください。
表23-4 KBHSのエラー・メッセージ(範囲00100 - 00900)
KBHS - エラー番号 - メッセージ | 原因 | 処理 |
---|---|---|
KBHS - 00100 - パラメータstring値stringは、SBTパラメータで指定されたBLKSIZE stringの倍数ではありません |
構成で指定されたCHUNK_SIZEがBLKSIZEの倍数ではありませんでした |
BLKSIZEまたはCHUNK_SIZE構成を変更し、コマンドを再試行してください。 |
KBHS - 00101 - ファイル文字列はすでに存在します。一意の名前には |
すでに使用されている名前のファイルを作成しようとしました。 |
|
KBHS - 00103 - stringのバージョンstringsはライセンスされていません |
指定されたバージョンのライブラリはライセンスされていません。 |
Oracleサポート・サービスに連絡してください。 |
KBHS - 00104 - stringバージョンstringのライセンスはstringに有効期限が切れました |
指定されたバージョンのライブラリは有効期限が切れました。 |
ライセンスを更改してください。Oracleサポート・サービスに連絡してください。 |
KBHS - 00200 - 製品stringのライセンスがありません |
システム・バックアップ・テープ(SBT)・ライブラリのライセンスがありませんでした。 |
Oracleサポート・サービスに連絡してください。 |
KBHS - 00201 - stringのライセンスはstringに有効期限が切れました |
システム・バックアップ・テープ(SBT)・ライブラリのライセンスの有効期限が切れています。 |
ライセンスを更改してください。Oracleサポート・サービスに連絡してください。 |
KBHS - 00202 - ログ・バケット文字列を作成できません。ライブラリ登録後に再試行してください |
ライセンス・ファイルに指定されたログ・バケットを再作成しようとしました。その試みは失敗しました。 |
ライブラリ登録後にコマンドを再試行してください。 |
KBHS - 00203 - 最大セッション・ライセンス数(string)を超えました |
すべてのライセンスが使用中でした。 |
LICENSE_MAX_SESSIONSパラメータの値を増やしてください。 |
KBHS - 00204 - データ・バケットstringの場所がログ・バケットstringの場所と競合しています |
ログ・バケットとデータ・バケットの地理的位置が異なります。 |
競合しているバケットを削除し、コマンドを再試行してください。 |
KBHS - 00205 - バケットstringの場所はstringです。これは指定された場所stringと競合します |
ログ・バケットまたはデータ・バケットに異なる地理的位置が指定されました。 |
インストーラを場所およびreRegisterオプションを指定して再実行して地理的位置を変更し、コマンドを再試行してください。 |
KBHS - 00206 - ファイル文字列はすでに存在します。 |
すでに使用されている名前のファイルを作成しようとしました。 |
' |
KBHS - 00207 - パラメータstringの値stringがバケット/コンテナstringプロパティstringと競合しています |
異なるプロパティを持つバケット/コンテナが指定されました。 |
構成ファイルに指定されているパラメータを確認してください。 |
KBHS - 00208 - サーバー側の暗号化コンテナstringはサポートされていません |
指定したコンテナでサーバー側の暗号化が有効になっています。これはサポートされていません。 |
サーバー側の暗号化を無効にするか、別のコンテナ名を指定してコマンドを再試行してください。 |
KBHS - 00209 - コンテナstringのライフ・サイクル階層化ポリシーではXMLオブジェクトを除外する必要があります |
指定した階層化対応コンテナではXMLオブジェクトがアーカイブされます。これはサポートされていません。 |
コンテナLTPのXMLオブジェクトを除外してください。 |
KBHS - 0400* - NETTEST BACKUP: 送信バイト数(マイクロ秒) |
NETTEST BACKUPの結果を表示しています。 |
この出力は内部使用のみを目的としておりドキュメント化されていません。処理は必要ありません。 |
KBHS - 00401* - NETTEST RESTORE: 受信バイト数(マイクロ秒) |
NETTEST RESTOREの結果を表示しています。 |
この出力は内部使用のみを目的としておりドキュメント化されていません。処理は必要ありません。 |
KBHS - 00402* - NETTESTは正常に完了しました |
NETTESTコマンドが正常に戻ります。 |
この出力は内部使用のみを目的としておりドキュメント化されていません。処理は必要ありません。 |
KBHS - 00600 - 内部エラー |
Oracle HTTP SBTで内部エラーが発生しました。 |
Oracleカスタマ・サポートに連絡してください。 |
KBHS - 00601 - Oracle HTTP SBTの致命的エラー |
致命的なエラーが発生しました。 |
このメッセージに付随して、エラーの原因を示すその他のエラー・メッセージが表示されます。詳細は、 |
KBHS - 00700 - HTTPレスポンス・エラー'string' |
HTTP操作でエラーが返されました。 |
詳細は、付随するエラー・メッセージを参照してください。 |
KBHS - 00701 - ホスト名がないか、ポート番号またはホスト名が長すぎます |
ホスト名がないか長すぎます。ポート番号がないか無効です。 |
ホスト名が正しく、ポート番号が有効であることを確認してください。 |
KBHS - 00702 - ホストstringにアクセスできないため、接続に失敗しました |
指定されたアドレスにアクセスできないか、有効でないか、または当該アドレスにあるサービスを使用できませんでした。 |
HOSTおよびPROXYパラメータが有効であることを確認してください。 |
KBHS - 00703 - HTTPサーバーstringに接続できません。ORAstringを受信しました |
HTTPサーバーへの接続に失敗したか、タイムアウトしました。 |
HOSTおよびPROXYパラメータの値を確認してください。詳細は、ORAエラーの説明を参照してください。 |
KBHS - 00704 - 登録接続を実行できません。ORA-stringを受信しました |
接続の登録に失敗しました。 |
詳細は、ORAエラーの説明を参照してください。 |
KBHS - 00705 - 接続がクローズしたか、接続が失われました。ORA-stringを受信しました |
HTTPサーバーが切断されました。 |
詳細は、ORAエラーの説明を参照してください。 |
KBHS - 00706 - 通知を待機できません。ORA-stringを受信しました |
登録された接続のイベント通知の待機に失敗しました。 |
詳細は、ORAエラーの説明を参照してください。 |
KBHS - 00707 - HTTPレスポンスがタイムアウトしました。string秒待機しました |
HTTPサーバーが指定されたタイムアウト内に応答しませんでした。 |
これは通常、HTTPサーバーの問題です。HTTPサーバー管理者に連絡するか、タイムアウト値を増やしてください。 |
KBHS - 00708 - HTTPサーバーからデータを受信できません。エラーORA-string |
HTTPサーバーからの受信に失敗しました。 |
詳細は、ORAエラーの説明を参照してください。 |
KBHS - 00709 - HTTPサーバーにデータを送信できません。エラーORA-string |
サーバーへのHTTP送信操作に失敗しました。 |
詳細は、ORAエラーの説明を参照してください。 |
KBHS - 00710 - バッファからデータをフラッシュできません。エラーORA-string |
ローカル・バッファからHTTPサーバーへのデータのフラッシュに失敗しました。 |
詳細は、ORAエラーの説明を参照してください。 |
KBHS - 00711 - HTTPセッションをクローズできません。エラーORA-string |
HTTPクローズ・セッション操作に失敗しました。 |
詳細は、ORAエラーの説明を参照してください。 |
KBHS - 00712 - ローカルHTTPサービスからORA-stringを受信しました |
HTTP処理中にエラーが発生しました。 |
詳細は、付随するエラー・メッセージを参照してください。 |
KBHS - 00713 - HTTPクライアント・エラー'string' |
HTTPレスポンスでHTTPクライアント・エラーが指摘されました。 |
HTTPクライアント・エラーを修正し、HTTPリクエストを再試行してください。 |
KBHS - 00714 - HTTPサーバー・エラー'string' |
HTTPレスポンスでHTTPサーバー・エラーが指摘されました。 |
HTTPサーバー・エラーを修正し、HTTPリクエストを再試行してください。必要に応じて、HTTPサーバーの管理者に連絡してください。 |
KBHS - 00715 - HTTPエラーが発生しました'string' |
指定されたHTTPプロトコル・エラーが発生しました。 |
詳細は、付随するエラー・メッセージを参照してください。 |
KBHS - 00717 - ファイル名'string'に、無効な文字が含まれます。'string' |
指定されたファイル名にSBTバックアップ・ファイル名で許可されていない文字が含まれていました。 |
指定された不正な文字を含まないファイル名を使用して、コマンドを再試行してください。 |
KBHS - 00718 - 操作に失敗しました。再度実行してください |
HTTP HEAD、DELETE、PUTまたはGET操作がエラーで失敗しました。操作は再試行できます。 |
SBT HTTP APIはこのメッセージを使用して操作を再試行するかどうかを決定します。 |
KBHS - 00719 - エラー 'string'; string |
HTTP操作によって返されたエラーの説明。 |
詳細は、付随するエラー・メッセージを参照してください。 |
KBHS - 00720 - リクエストstringのエンドポイントを使用してバケットにアクセスできません |
HOSTパラメータで指定されたエンドポイントは、URL内のバケットのホームの場所ではありませんでした。 |
HOSTをバケットのホームの場所に変更してください。 |
KBHS - 00721 - リソースがビジー状態です。再試行してください |
リソースがビジー状態であったため、HTTP HEAD、DELETE、PUTまたはGET操作に失敗しました。操作は再試行できます。 |
SBT HTTP APIはこのメッセージを使用して操作を再試行するかどうかを決定します。 |
KBHS - 00722 - IAMロールstringのEC2インスタンス・メタデータがないか無効です |
指定したIAMロールに対応するメタデータが存在しないか、一時セキュリティ資格証明が無効です。 |
IAMロール名を確認してください。 |
KBHS - 00723 - HTTPレスポンスにヘッダーstringがありません |
予期していたヘッダーがHTTPレスポンスにありません。 |
送信されたHTTPリクエストが適切かどうかを確認してください。 |
KBHS - 00724 - ヘッダーstringの値stringが無効です |
ヘッダー値が無効です |
送信されたHTTPリクエストが適切かどうかを確認してください。 |
KBHS - 00900 - 仮想ファイルの初期化に失敗しました |
仮想ファイルを初期化できません。 |
Oracleカスタマ・サポートに連絡してください。 |
表23-5 KBHSのエラー・メッセージ(範囲01000-01803)
KBHS - エラー番号- メッセージ | 原因 | 処理 |
---|---|---|
KBHS-01000 - パラメータstringの値は数値にする必要があります。stringが指定されました |
指定されたパラメータに与えられた値が数値ではありませんでした。 |
パラメータの値を数値に変更し、コマンドを再試行してください。 |
KBHS-01001 - パラメータstringの値はTRUEまたはFALSEである必要があります。stringが指定されました |
指定されたパラメータに与えられた値がTRUEまたはFALSEではありませんでした。 |
パラメータをTRUEまたはFALSEに変更し、コマンドを再試行してください。 |
KBHS - 01002 - stringパラメータ・ファイルstringをオープンできません |
パラメータ・ファイルをオープンしようとしているときに、エラーが発生しました。 |
指定したファイルが存在し、読取り権限があることを確認してください。 |
KBHS - 01003 string |
パラメータの解析中にエラーが発生しました。 |
付随のエラー・メッセージでエラーの原因を確認してください。 |
KBHS-01004 - パラメータの解析時にLRM-stringが発生しました |
パラメータの解析中にエラーが発生しました。 |
付随のエラー・メッセージでエラーの原因を確認してください。 |
KBHS-01005 - stringパラメータ・ファイルstringの解析中に構文エラーが発生しました |
パラメータ・ファイルの解析中にエラーが発生しました。 |
詳細は、付随するエラー・メッセージを参照してください。 |
KBHS-01006 - パラメータstringが指定されていません |
指摘されたパラメータの指定に失敗しました。 |
パラメータの値を指定し、コマンドを再試行してください。 |
KBHS-01008 - stringパラメータstringの解析中に構文エラーが発生しました |
パラメータ文字列の解析中にエラーが発生しました。 |
詳細は、付随するエラー・メッセージを参照してください。 |
KBHS-01009 - パラメータstringをサブドメイン形式で指定しないでください |
指定されたパラメータはサブドメインでは使用できません。 |
サブドメイン形式を削除し、コマンドを再試行してください。 |
KBHS-01010 - ウォレットにユーザー名またはパスワードが指定されていませんでした |
ウォレットに指定されたユーザー名またはパスワードがNULLでした。 |
ユーザー名およびパスワードがnullでないことを確認し、コマンドを再試行してください。 |
KBHS-01012 - ウォレット操作中にORA-stringが発生しました。WRL string |
指摘されたエラーが原因でウォレットに対する操作が失敗しました。 |
詳細は、指摘されたOracleメッセージを参照してください。 |
KBHS-01013 - 指定されたstring別名stringがウォレットに見つかりません |
指定されたWALLET別名がウォレット内にありませんでした。 |
WALLET別名を確認するか、指定された属性のウォレットで別名を作成してから、コマンドを再試行してください。 |
KBHS-01014 - パラメータstringにstring属性が含まれている必要があります |
WALLETパラメータに必須属性がありませんでした。 |
欠落している属性を追加して、コマンドを再試行してください。 |
KBHS-01015 - パラメータstringの値が範囲外です(string - string) |
指定されたパラメータに与えられた値が無効でした。 |
パラメータの値を範囲内の値に変更し、コマンドを再試行してください。 |
KBHS-01016 - パラメータstringの解析中に構文エラーが発生しました |
パラメータの解析中にエラーが発生しました。 |
詳細は、付随するエラー・メッセージを参照してください。 |
KBHS-01017 - パラメータstring値文字列に含まれる属性が多すぎます |
WALLETパラメータに多数の属性が含まれています。 |
|
KBHS-01018 - パラメータstringは指定できません |
指摘されたパラメータは指定できません。 |
指摘されたパラメータを削除し、コマンドを再試行してください。 |
KBHS-01019 - パラメータstringの値が無効です。stringが指定されました |
指定されたパラメータに与えられた値が無効でした。 |
パラメータを有効な値に変更し、コマンドを再試行してください。 |
KBHS-01020 - 認証stringの場合、パラメータstringの値はTRUEである必要があります。 |
指定されたパラメータに与えられた値が無効でした。 |
パラメータを有効な値に変更し、コマンドを再試行してください。 |
KBHS-01021 - AWSリージョンを特定できませんでした |
AWSリージョンを特定できませんでした。 |
認証スキームを変更し、コマンドを再試行してください。 |
KBHS-01022 - アーカイブ・オブジェクトをリストアするためのエンドポイントを構築できません |
HOSTパラメータがv1ネームスペース内にありません。 |
v1ネームスペース内のHOSTパラメータを使用してください。 |
KBHS - 01023 - パラメータstringまたはパラメータstringのいずれかを指定する必要があります |
パラメータの1つを指定する必要があります。 |
パラメータの1つを指定し、コマンドを再試行してください。 |
KBHS - 01024 - 無効な資格証明オブジェクト[schema = string, name = string] |
資格証明オブジェクトにユーザー名またはパスワードが指定されていません。 |
資格証明オブジェクトが有効であることを確認し、コマンドを再試行してください。 |
KBHS - 01025 - パラメータstringとstringの両方を指定することはできません |
両方のパラメータを指定できません。 |
パラメータを1つのみ指定し、コマンドを再試行してください。 |
KBHS - 01026 - SSLWalletの場所をデータベースから取得できませんでした |
SSLWalletの場所がデータベースに見つかりませんでした。 |
SSLWalletの場所がデータベースで指定されていることを確認し、コマンドを再試行してください。 |
KBHS - 01100 - バックアップ・ピースstringの終わり |
このバックアップ・ピースに対して読み取るチャンクまたはメタデータ・ファイルで指定されている読取りバイトはこれ以上ありません。 |
想定より早くファイルの終わりに達した場合は、バックアップ・ピースにすべてのチャンクが存在していることを確認してください。 |
KBHS - 01102 - チャンクstringが欠落しているため、バックアップ・ピースstringを読み取れません |
指定されたチャンクが見つからないため、バックアップ・ピースを読み取れません。 |
指定した場所にチャンク・ファイルをリストアした後、コマンドを再試行してください。 |
KBHS - 01103 - バックアップ・ピースstringがありません |
指定されたピースが見つからないため、バックアップ・ピースを読み取れません。 |
指定した場所にファイルをリストアした後、コマンドを再試行してください。 |
KBHS - 01104 - ファイル stringがバックアップ・ピース形式ではありません |
指定されたファイルがバックアップ・ピース形式ではないため、バックアップ・ピース・ヘッダーを読み取れません。 |
指定した場所にファイルをリストアした後、コマンドを再試行してください。 |
KBHS - 01105 - ブロック・プール形式のリストアはパスワードの復号化をサポートしていません |
|
パスワードなしでコマンドを再試行してください。 |
KBHS - 01300 - メタデータ・ファイルstringが欠落しているため、バックアップ・ピースstringを読み取れません |
メタデータ・ファイルがないため、バックアップ・ピースを読み取れませんでした。 |
指定された場所にメタデータ・ファイルをリストアした後、コマンドを再試行してください。 |
KBHS - 01400 - 仮想ファイル・システムからメッセージ・ファイルをロードできません |
仮想ファイル・システムにメッセージ・ファイルが見つかりません。 |
Oracleカスタマ・サポートに連絡してください。 |
KBHS - 01401 - メモリーの割当てに失敗しました。 |
メモリーが不十分であるため、リクエストされた割当てを実行できません。 |
他のプロセスを終了してメモリーを解放するか、またはシステムにメモリーを追加してください。 |
KBHS - 01402 - 日付の変換中にOracleエラーが発生しました。: ORA-number: string |
日付の変換中に内部エラーが発生しました。 |
Oracleサポート・サービスに問い合せてください。 |
KBHS - 01403 - トレース・ファイルstringをオープンできませんでした |
トレース・ファイルのオープン中にエラーが発生しました。 |
ディレクトリが存在し、ファイルに書込み権限があることを確認してください。 |
KBHS - 01405 - 自動再試行待機時間の上限であるstringに達しました |
操作を自動的に再試行しようとしましたが、構成された待機時間の上限に達しました。 |
手動で操作を再試行してください。 |
KBHS - 01406 - パラメータstringの値は、stringからstringの間である必要があります。stringが指定されました |
パラメータの長さが制限の範囲外でした。 |
制限内の長さの値を指定し、コマンドを再試行してください。 |
KBHS - 01407 - バケット名stringに無効な文字列が含まれています |
指定したバケット名は次の規定のいずれかに従っていません:
|
規則に従うバケット名を使用して、コマンドを再試行してください。 |
KBHS - 01408 - リカバリ・アプライアンスへのログインがOracleエラー:stringで失敗しました |
リカバリ・アプライアンスへのログイン試行でOracleエラーが報告されました。 |
指定されたOracleエラーの処置方法に従ってください。 |
KBHS - 01409 - stringの実行中にリカバリ・アプライアンスからOracleエラーが報告されました |
リカバリ・アプライアンスでOracle Call Interface (OCI)操作の実行中にOracleエラーが報告されました。 |
指定されたOracleエラーの処置方法に従ってください。 |
KBHS - 01410 - Oracle HTTP Serverがリカバリ・アプライアンスで実行されていません |
Oracle HTTP Serverがリカバリ・アプライアンスで実行されていません。 |
リカバリ・アプライアンスでHTTPサーバーを起動し、コマンドを再試行してください。 |
KBHS - 01411 - リカバリ・アプライアンスのアクセスが許可されませんでした |
リカバリ・アプライアンスのアクセス権がこのユーザーに付与されませんでした。 |
このユーザーにデータベース・アクセス権を付与してから、コマンドを再試行してください。 |
KBHS - 01412 - 接続文字列(@string)で失敗しました |
情報提供のみ。これはエラー1410または1411より前に表示されます。 |
処置は必要ありません。 |
KBHS - 01413 - 接続文字列を解決できませんでした |
指定されたホストを解決できません。 |
ホスト名またはIPアドレスのスペルを確認してください。ホスト名またはIPアドレスがリカバリ・アプライアンスで解決可能であることを確認してください。 |
KBHS - 01500 - SBTコマンドstringの解析中に構文エラーが発生しました |
SBTコマンドの解析中にエラーが発生しました。 |
詳細は、付随するエラー・メッセージを参照してください。 |
KBHS - 01600 - バックアップ・ピースstringヘッダーの検証に失敗しました |
ヘッダーが有効なバックアップ・ピース・ヘッダーとして認識されませんでした。理由の1つとして、バックアップ・ピースがターゲットで変換されており、変換されたバックアップ・ピースは送信できないことが考えられます。 |
バックアップ・ピースが変換されていないことを確認し、バックアップ操作を再試行してください。 |
KBHS - 01601 - データ・ポンプ・ダンプ・ファイルのバックアップ・ピースstringはサポートされていません |
データ・ポンプ・ダンプ・ファイルのバックアップがリクエストされました。これは送信することができず、サポートされていません。 |
バックアップ・ピースにデータ・ポンプ・ダンプ・ファイルが含まれていないことを確認し、バックアップ操作を再試行してください。 |
KBHS - 01602 - バックアップ・ピースstringは暗号化されません |
Oracle Public Cloudストレージに送信されたバックアップは暗号化されませんでした。Oracle Public Cloudストレージに格納できるのは、暗号化されたバックアップのみです。 |
暗号化されたバックアップを作成するようRMANを構成し、コマンドを再試行してください。 |
KBHS - 01603 - 制御または |
|
|
KBHS - 01605 - 現在のZDLRAバージョンは |
|
ZDLRAソフトウェアを適切なバージョンに更新します。 |
KBHS - 01606 - |
|
RMAN圧縮アルゴリズムをLOWに設定します。 |
KBHS - 01607 - |
RA_FORMAT=TRUEが設定されている場合、サポートされる暗号化方法は透過的データ暗号化のみです。 |
パスワード暗号化のかわりに透過的データ暗号化を使用します。 |
KBHS - 01608 - 以前に圧縮されたバックアップは |
|
初期バックアップを圧縮なしで作成します。 |
KBHS - 01609 - 以前に暗号化されたバックアップは |
|
初期バックアップを暗号化なしで作成します。 |
KBHS - 01610 - |
|
maxpiecesizeバックアップが必要な場合は、 |
KBHS - 01700 - XML処理文字列でエラーが発生しました。 |
XMLドキュメントの処理中にエラーが発生しました。 |
表示されたエラー・メッセージを確認して、問題を適切に修正してください。 |
KBHS - 01701 - XML解析に失敗しました |
文書解析時に、XML Parserがエラーを戻しました。 |
解析される文書が有効であることを確認してください。 |
KBHS - 01800 - パラメータstringの引用符が一致しません |
終了引用符がありません。 |
欠落している引用符を追加して、コマンドを再試行してください。 |
KBHS - 01801 - キーワード(string)が無効です。 |
これは、認識されないキーワードが検出されたことを示す情報メッセージです。 |
構文を訂正し、コマンドを再試行してください。 |
KBHS - 01802 - コマンドが不完全または正しくありません |
これは、コマンドが完了しなかったことを示す情報メッセージです。 |
構文を訂正し、コマンドを再試行してください。 |
KBHS - 01803 - パラメータ(string)が無効です。 |
これは構文エラーの原因となった識別子トークンを示す情報メッセージです。 |
構文を訂正し、コマンドを再試行してください。 |
23.1.5 RMANエラー・スタックの解釈
RMANエラー・スタックの関連メッセージを識別することは重要です。
RMANメッセージの解釈中に次のヒントおよび提案に注意します。
-
メッセージは下から上に読みます。これは、RMANは下から順にメッセージを発行するためです。スタックの最後から1つか2つのエラーが、通常は最も重要です。
-
SBT 1.1メディア管理レイヤーを使用しており、
「追加情報」
およびエラー・コード(番号)を含むSBT 1.1形式のエラー・メッセージが表示された場合、その後に続くORA-19511
メッセージの、メディア・マネージャによってRMANに戻されたエラー・メッセージのテキストを確認します。これらのメッセージには、メディア管理レイヤーでの実際の障害が示されます。 -
エラー・バナーの直後にある
RMAN-03002
メッセージまたはRMAN-03009
メッセージを確認します(RMAN-03009
にはチャネルIDが含まれていますが、RMAN-03002
と同じです)。これらのメッセージには、正常に実行されなかったコマンドが示されます。構文エラーの場合、RMAN-00558
が生成されます。 -
表23-2に示すエラー範囲を参照して基本的なエラー・タイプを判断し、最も重要なメッセージについて、エラー・メッセージを参照して確認します。
関連項目:
-
RMANエラー・メッセージの例は、「RMANエラーの解釈の例」および「サーバー・エラーの解釈の例」を参照してください
-
メディア管理エラーの解釈の例は、「SBT 2.0のメディア管理エラーの解釈の例」および「SBT 1.1のメディア管理エラーの解釈の例」を参照してください
-
エラー・メッセージの詳細は、『Oracle Databaseエラー・メッセージ』を参照してください
23.1.5.1 RMANエラーの解釈の例
RMAN-が先頭に付いたエラーは、RMANコマンドによって発生したエラーを示します。
users
表領域のバックアップを試行し、次のメッセージが戻されたと想定します。
Starting backup at 29-AUG-13 using channel ORA_DISK_1 RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of backup command at 08/29/2013 15:14:03 RMAN-20202: tablespace not found in the recovery catalog RMAN-06019: could not translate tablespace name "USESR"
RMAN-03002
エラーは、BACKUP
コマンドが正常に実行されなかったことを示しています。スタックの最後の2つのメッセージを参照すると、表領域名をusesr
と間違って入力したため、リカバリ・カタログ内にusers
という名前の表領域が見つからないことがわかります。
23.1.5.2 サーバー・エラーの解釈の例
サーバーによって発生したエラーには、先頭にORA-が付いています。
表領域のリカバリを試行し、次のエラーが戻されたと想定します。
RMAN> RECOVER TABLESPACE users; Starting recover at 29-AUG-13 using channel ORA_DISK_1 starting media recovery media recovery failed RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of recover command at 08/29/2013 15:18:43 RMAN-11003: failure during parse/execution of SQL statement: alter database recover if needed tablespace USERS ORA-00283: recovery session canceled due to errors ORA-01124: cannot recover data file 8 - file is in use or recovery ORA-01110: data file 8: '/oracle/oradata/trgt/users01.dbf'
前述の推奨事項に従って、スタックの下から読み始めます。ORA-01110
メッセージは、users01.dbf
データファイルのリカバリで問題が発生したことを示しています。下から2つ目のメッセージは、そのデータファイルが使用中かリカバリ中であるため、リカバリ不可能であることを示しています。その他のRMANエラーは、サーバー・エラーのためにリカバリ・セッションが取り消されたことを示しています。こうして、このデータファイルはリカバリ中ではないため、問題はデータファイルがオンラインであることで、このファイルをオフラインにしてバックアップをリストアする必要があると判断できます。
23.1.5.3 SBT 2.0のメディア管理エラーの解釈の例
この例では、メディア・マネージャ・レベルで発生したエラーを解釈する方法を示します。
テープ・ドライブを使用したバックアップ・ジョブ中に、次の出力が戻されたと想定します。
RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== ORA-19624: operation failed, retry possible ORA-19507: failed to retrieve sequential file, handle="/tmp/mydir", parms="" ORA-27029: skgfrtrv: sbtrestore returned error ORA-19511: Error received from media manager layer, error text: sbtpvt_open_input:file /tmp/mydir does not exist or cannot be accessed, errno=2
ORA-19511
エラーの後に表示されるエラー・テキストはメディア・マネージャによって生成されたものであり、障害の根源を示しています。このエラーを解釈する方法は、メディア・マネージャのドキュメントを参照してください。
23.1.5.4 SBT 1.1のメディア管理エラーの解釈の例
この例は、メディア管理エラーがあるバックアップ・ジョブの出力を示しています。
テープ・ドライブを使用したバックアップ・ジョブ中に、次の出力が戻されたと想定します。
RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03009: failure of backup command on c1 channel at 09/04/2013 13:18:19 ORA-19506: failed to create sequential file, name="07d36ecp_1_1", parms="" ORA-27007: failed to open file SVR4 Error: 2: No such file or directory Additional information: 7005 Additional information: 1 ORA-19511: Error received from media manager layer, error text: SBT error = 7005, errno = 2, sbtopen: system error
SBT 1.1メディア・マネージャによって戻される最も重要な情報は、「Additional information」行にあるエラー・コードです。
Additional information: 7005
表23-3を参照すると、7005
エラーが、メディア管理デバイスがビジー状態であることを示していることがわかります。メディア管理ソフトウェアが使用中か、またはそのソフトウェアに問題が発生しているため、そのソフトウェアを使用してデバイスに書き込むことができません。
ノート:
sbtio.log
には、Oracle Databaseではなくメディア管理ソフトウェアによって生成された情報が含まれています。そのため、それらのエラー・コードおよびメッセージを解釈するには、ご使用のメディア・ベンダーのドキュメントを参照する必要があります。sbtio.log
に情報が記述されない場合、別の場所にエラー・メッセージが記述されているかどうか、またはメディア・マネージャ・エラーをsbtio.log
に表示するために必要なステップがあるかどうかを、ご使用のメディア・マネージャのサポートに問い合せてください。
23.1.6 RMANのリターン・コードの識別
RMANにエラーが発生したかどうかを確認する方法の1つは、リターン・コードまたは終了ステータスを調べることです。RMANクライアントは、そのクライアントが起動されたシェルに、エラーが発生しなかった場合は0(ゼロ)を戻し、エラーが発生した場合は0(ゼロ)以外のエラー値を戻します。
このリターン・コードへのアクセス方法は、RMANクライアントを起動した環境によって異なります。たとえば、UNIXおよびCシェルを実行している場合、RMANが完了すると、$status
というシェル変数にリターン・コードが配置されます。終了ステータスを戻す方法は、RMANクライアントではなくホスト・オペレーティング・システムの詳細によって異なります。
23.2 RMANのトラブルシューティングでのV$ビューの使用
LIST
、REPORT
およびSHOW
を使用しても、RMANアクティビティで必要なすべての情報が表示されない場合は、いくつかの有効なV$ビューで詳細を参照できます。
バックアップおよびリカバリ・ジョブを実行するサーバー・セッションで現在実行されている動作を確認すると有効な場合があります。次の表に示すビューは、RMANジョブに関する情報を取得する場合に有効です。
表23-6 トラブルシューティングで有効なV$ビュー
ビュー | 説明 |
---|---|
|
現在アクティブなプロセスを識別します |
|
現在アクティブなセッションを識別します。このビューを使用して、RMANが割り当てたチャネルに対応するデータベース・サーバー・セッションを判断します。 |
|
セッションが待機中のイベントまたはリソースのリストを表示します |
前述のビューを使用して、次のタスクを実行できます。
23.2.1 RMANとメディア・マネージャの相互作用の監視
動的パフォーマンス・イベント・ビューのイベント名を使用して、Media Management APIに対するRMANコールを監視できます。イベント名には、SBT機能との1対1の対応があります。
次の例を参照してください。
Backup: MML v1 open backup piece Backup: MML v1 read backup piece Backup: MML v1 write backup piece Backup: MML v1 query backup piece Backup: MML v1 delete backup piece Backup: MML v1 close backup piece . . .
SBTイベントの完全なリストを取得するには、次の問合せを使用します。
SELECT NAME FROM V$EVENT_NAME WHERE NAME LIKE '%MML%';
サーバーは、Media Management APIでいずれかのファンクションをコールする前に、V$SESSION_WAIT
に行を追加して、STATE
列に文字列WAITING
を含めます。V$SESSION_WAIT.SECONDS_IN_WAIT
列には、サーバーが、このコールが戻されるのを待機している秒数が表示されます。SBTファンクションがメディア・マネージャから戻されると、この行は削除されます。
SBTイベント名に対応するV$SESSION_WAIT
の行には、問題は表示されません。これは、サーバーがこれらの行を実行時に更新するためです。これらの行は、コールが実行されると表示され、戻されると削除されます。ただし、SECONDS_IN_WAIT
列の値が高い場合、メディア・マネージャが一時停止している可能性があります。
SBTイベントを監視するには、次のSQL問合せを実行します。
COLUMN EVENT FORMAT a17 COLUMN SECONDS_IN_WAIT FORMAT 999 COLUMN STATE FORMAT a15 COLUMN CLIENT_INFO FORMAT a30 SELECT p.SPID, s.EVENT, s.SECONDS_IN_WAIT AS SEC_WAIT, sw.STATE, s.CLIENT_INFO FROM V$SESSION_WAIT sw, V$SESSION s, V$PROCESS p WHERE sw.EVENT LIKE '%MML%' AND s.SID=sw.SID AND s.PADDR=p.ADDR;
SQL出力を調べて、待機中のSBT機能を確認します。たとえば、次の出力には、RMANがsbtbackup
ファンクションが戻されるのを10分間待機していることが示されています。
SPID EVENT SEC_WAIT STATE CLIENT_INFO ---- ----------------- ---------- --------------- ------------------------------ 8642 Backup: MML creat 600 WAITING rman channel=ORA_SBT_TAPE_1
ノート:
V$SESSION_WAIT
ビューにはデータベース・イベントのみが表示され、メディア・マネージャ・イベントは表示されません。
関連項目:
V$SESSION_WAIT
ビューの詳細は、Oracle Databaseリファレンスを参照してください。
23.2.2 サーバー・セッションとRMANチャネルの関連付け
どのサーバー・セッションがどのRMANチャネルに対応しているかを確認するには、V$SESSION
およびV$PROCESS
を問い合せます。
V$PROCESS
のSPID
列に、オペレーティング・システムのプロセスまたはスレッドのID番号が示されます。たとえば、UNIXではSPID
列にプロセスIDが表示され、WindowsではSPID
列にスレッドIDが表示されます。この情報を取得するには、複数のRMANセッションが同時にアクティブになっているかどうかに応じて、2つの基本的な方法があります。
この項では、次の項目について説明します。
23.2.2.1 アクティブなRMANセッションが1つの場合のサーバー・セッションとチャネルの一致
アクティブなRMANセッションが1つのみの場合、RMANチャネルに対応するサーバー・セッションIDを確認する最も簡単な方法は、ターゲット・データベースを問い合せることです。
RMANジョブの実行中に、ターゲット・データベースで次の問合せを実行します。
COLUMN CLIENT_INFO FORMAT a30 COLUMN SID FORMAT 999 COLUMN SPID FORMAT 9999 SELECT s.SID, p.SPID, s.CLIENT_INFO FROM V$PROCESS p, V$SESSION s WHERE p.ADDR = s.PADDR AND CLIENT_INFO LIKE 'rman%';
出力例を次に示します。
SID SPID CLIENT_INFO ---- ------------ ------------------------------ 14 8374 rman channel=ORA_SBT_TAPE_1
システム生成のデフォルトIDではなく、RMANのSET COMMAND ID
コマンドを使用してIDを設定する場合、'rman%'
ではなく、CLIENT_INFO
列の値を検索します。
23.2.2.2 RMANセッションが複数の場合のサーバー・セッションとチャネルの一致
複数のRMANセッションがアクティブである場合、V$SESSION.CLIENT_INFO
列に各セッションのチャネルと同じ情報が生成されます。
たとえば:
SID SPID CLIENT_INFO ---- ------------ ------------------------------ 14 8374 rman channel=ORA_SBT_TAPE_1 9 8642 rman channel=ORA_SBT_TAPE_1
この場合、次の方法でSID
値に対応するチャネルを確認します。
23.2.2.2.1 RMAN出力からのチャネルIDの取得
まずRMAN出力からsid
値を取得して、その値をSQL問合せで使用する必要があります。
バックアップ中にプロセスをチャネルに関連付けるには:
23.2.2.2.2 SET COMMAND IDを使用したサーバー・セッションとチャネルの関連付け
RMANバックアップ・スクリプトでコマンドID文字列を指定します。これによって、この文字列のV$SESSION.CLIENT_INFO
を問い合せることができます。
バックアップ中にプロセスをチャネルに関連付けるには:
関連項目:
SET COMMAND ID
の構文についてはOracle Databaseバックアップおよびリカバリ・リファレンス、V$SESSION
およびV$PROCESS
の詳細は Oracle Databaseリファレンスを参照してください
23.3 Media Management APIのテスト
一部のプラットフォームでは、Oracleによってsbttest
という診断ツールが提供されます。このユーティリティは、Oracle Databaseサーバーとして機能し、メディア・マネージャとの通信を試行することによって、メディア管理ソフトウェアの簡単なテストを実行します。
この項では、次の項目について説明します。
23.3.1 sbttestユーティリティの入手
sbttest
ユーティリティのデフォルトの場所は、プラットフォームによって異なります。
UNIX上では、sbttest
ユーティリティは、通常$ORACLE_HOME/bin
に存在します。なんらかの理由でプラットフォームにこのユーティリティが存在しない場合、Oracleサポート・サービスからこのプログラムのCバージョンを入手してください。このバージョンのプログラムは、すべてのUNIXプラットフォームでコンパイルできます。
Solarisなどのプラットフォームでは、sbttest
を使用する際に再リンクを行う必要はありません。その他のプラットフォームでは、再リンクが必要な場合があります。
23.3.2 sbttestユーティリティのオンライン・ドキュメントの取得
引数を指定せずにsbttest
コマンドを使用すると、このプログラムの様々な引数が表示されます。
sbttest
のオンライン・ドキュメントを入手するには、コマンドラインで次のコマンドを発行します。
% sbttest
このプログラムで使用可能な引数のリストが表示されます。
Error: backup file name must be specified Usage: sbttest backup_file_name # this is the only required parameter <-dbname database_name> <-trace trace_file_name> <-remove_before> <-no_remove_after> <-read_only> <-no_regular_backup_restore> <-no_proxy_backup> <-no_proxy_restore> <-file_type n> <-copy_number n> <-media_pool n> <-os_res_size n> <-pl_res_size n> <-block_size block_size> <-block_count block_count> <-proxy_file os_file_name bk_file_name [os_res_size pl_res_size block_size block_count]> <-libname sbt_library_name>
各引数の意味も表示されます。たとえば、2つのオプション・パラメータの説明を次に示します。
Optional parameters: -dbname specifies the database name which will be used by SBT to identify the backup file. The default is "sbtdb" -trace specifies the name of a file where the Media Management software will write diagnostic messages.
23.3.3 sbttestユーティリティの使用
sbttest
を使用すると、メディア・マネージャの簡単なテストを実行できます。
sbttest
によって0(ゼロ)が戻される場合、テストがエラーなしで実行されています。これは、メディア・マネージャが正しくインストールされ、データ・ストリームを受け入れ、要求に応じて同じデータを戻すことができることを意味します。sbttest
によって0以外の値が戻される場合、メディア・マネージャがインストールされていないか、正しく構成されていません。
sbttestを使用するには:
sbttest
を実行可能でも、RMANバックアップを実行できない場合があります。次のような理由が考えられます。
-
sbttest
を実行したユーザーがOracle Databaseプロセスの所有者ではない。 -
データベース・サーバーがメディア管理ライブラリにリンクされていないか、または必要に応じてメディア管理ライブラリを動的にロードできない。この場合、
sbttest
は機能しますが、メディア・マネージャに対するRMANによるバックアップは失敗します。 -
sbttest
プログラムはシェルからすべての環境変数を渡しているが、RMANは渡していない。
23.4 RMANコマンドの終了
実行中のRMANコマンドは、複数の方法で終了できます。
これには次の機能が含まれます。
-
推奨する方法は、RMANインタフェースで[CTRL]キーを押しながら[C]キー(または、ご使用のシステムのアテンション・キーの組合せ)を押すことです。この操作では、テープのマウントを待機している場合など、割当て済チャネルがメディア管理コードで一時停止していないかぎり、そのチャネルも終了します。
-
RMANチャネルに対応するサーバー・セッションは、「ALTER SYSTEM KILL SESSIONによるセッションの終了」で説明するように、SQLの
ALTER SYSTEM KILL SESSION
文を実行することで終了できます。 -
「オペレーティング・システム・レベルでのセッションの終了」で説明されているように、オペレーティング・システム上のRMANチャネルに対応するサーバー・セッションを終了できます。
23.4.1 ALTER SYSTEM KILL SESSIONによるセッションの終了
ALTER SYSTEM文を使用してRMANセッションを終了するには、RMANチャネルのOracleセッションIDおよびシリアル番号が必要です。この情報は、RMANログ内のメッセージに含まれます。
次の例に示す書式のメッセージを検索します。
channel ch1: sid=15 devtype=SBT_TAPE
割当て済チャネルごとに、sid
およびdevtype
が表示されます。Oracle Databaseのsid
はオペレーティング・システム・プロセスIDとは異なります。セッションを終了するには、SQLのALTER
SYSTEM
KILL
SESSION
文を使用します。
ALTER SYSTEM KILL SESSION
には、シリアル番号およびRMANメッセージに出力されたsid
の2つの引数を指定できます。いずれの引数も、V$SESSION
を問い合せて取得できます。
たとえば、次の文を実行します。ここで、sid_in_rman_output
はRMANメッセージから得られた番号です。
SELECT SERIAL#
FROM V$SESSION
WHERE SID=sid_in_rman_output
;
問合せによって取得したsid_in_rman_output
およびシリアル番号を代入して次の文を実行します。
ALTER SYSTEM KILL SESSION 'sid_in_rman_output
,serial#
';
メディア・マネージャ・コードでセッションが停止した場合、この文はセッションに影響を与えません。
23.4.2 オペレーティング・システム・レベルでのセッションの終了
サーバー・セッションに関連付けられたプロセスの検出および終了の方法は、オペレーティング・システムによって異なります。サーバー・セッションがどのプロセスにも関連付けられていないプラットフォームもあります。詳細は、オペレーティング・システム別のドキュメントを参照してください。
23.4.3 メディア・マネージャで応答しなくなったRMANセッションの終了
メディア・マネージャで応答しなくなったRMANジョブを終了する必要がある場合があります。チャネル接続がメディア・マネージャで応答しなくなった場合にRMANを終了する最も適切な方法は、メディア・マネージャ内のセッションを終了することです。
この操作で問題が解決しない場合、Linuxなどの一部のプラットフォームでは、接続を行っているOracle Databaseプロセスを終了できる場合があります。(Oracleプロセスを終了すると、メディア・マネージャに問題が発生する場合があります。詳細は、ご使用のメディア・マネージャのドキュメントを参照してください。)
23.4.3.1 RMANセッションの構成要素
RMANセッションの特性は、オペレーティング・システムに応じて異なります。
UNIXでは、RMANセッションには次のプロセスが関連付けられています。
-
RMANクライアント・プロセス自体。
-
ターゲット・データベースへの初期接続であるデフォルト・チャネル。
-
各割当て済チャネルに1つ対応付けられた、ターゲット・データベースへのターゲット接続。
-
リカバリ・カタログを使用する場合、リカバリ・カタログ・データベースへのカタログ接続。
-
DUPLICATE
操作またはTSPITR操作中は、補助インスタンスへの補助接続。 -
様々な割当て済チャネルに対するRMANコマンドの実行の監視に使用される、ターゲット・データベースへのポーリング接続。デフォルトでは、RMANは1つのポーリング接続を確立します。
ALLOCATE CHANNEL
コマンドまたはCONFIGURE CHANNEL
コマンドに異なる接続文字列を使用すると、RMANは追加のポーリング接続を確立します。ポーリング接続は、ALLOCATE CHANNEL
コマンドまたはCONFIGURE CHANNEL
コマンドに使用した各接続文字列に1つ存在します。
23.4.3.2 ジョブの一時停止中のプロセス動作
RMANが応答しなくなる理由は、通常、メディア・マネージャ・コードでテープ・リソースが使用可能になるまでチャネル接続が待機するためです。カタログ接続およびデフォルト・チャネルが一時停止しているように見えるのは、RMANからの指示を待機しているためです。ポーリング接続は、RMANプロセスの制御下でRPCをポーリングする間は無限にループしているように見えます。
RMANプロセス自体を終了すると、カタログ接続、補助接続、デフォルト・チャネルおよびポーリング接続が切断されます。メディア・マネージャ・コードの実行中以外に一時停止しているターゲット接続および補助接続も切断されます。メディア管理レイヤーで、ターゲット接続または補助接続が実行されている場合、これらのプロセスを終了するには、オペレーティング・システム・レベルで手動で終了する必要があります。
すべてのメディア・マネージャがOracle Databaseプロセスの終了を検出できるわけではありません。終了を検出しないメディア・マネージャは、リソースをビジー状態のままにしたり、処理を継続する場合があります。詳細は、ご使用のメディア・マネージャのドキュメントを参照してください。
カタログ接続を切断しても、RMANプロセスは終了されません。これは、RMANは、バックアップまたはリストアの実行中にはカタログ操作を実行しないためです。デフォルト・チャネルおよびポーリング接続を削除すると、RMANプロセスはチャネルの1つが存在しなくなったことを検出し、終了処理を実行します。この場合、前述のとおり、応答しなくなったチャネルへの接続はアクティブのままです。