23 RMAN操作のトラブルシューティング

RMAN操作についてトラブルシューティングするには、RMANのメッセージ出力および動的パフォーマンス・ビューを使用します。

23.1 RMANのメッセージ出力の解釈

Recovery Managerは、問題のトラブルシューティングに役立つ詳細なエラー・メッセージを提供します。

また、Oracle Databaseおよびサード・パーティのメディア・ベンダーは、独自の有効なデバッグ出力を生成します。この項では、発生する可能性がある様々なエラーの識別方法および解釈について説明します。

23.1.1 RMANメッセージ出力タイプの識別

障害が発生したか、応答しなくなったRMANジョブのトラブルシューティングに役立つ出力は、様々な場所に表示または格納されます。

次の表に、RMANのバックアップの問題をトラブルシューティングするために使用できるメッセージ出力の場所の概要を示します。

表23-1 メッセージ出力タイプ

出力タイプ 作成元 場所 説明

RMANメッセージ

RMAN

ジョブの詳細情報は、V$RMAN_STATUSおよびRC_RMAN_STATUSに表示されます。現行のジョブの情報は、V$RMAN_OUTPUTに表示されます。

RMANをコマンドラインから実行すると、出力を次の場所に送ることができます。

  • 標準出力

  • コマンドラインのLOGまたはSPOOL LOGコマンドで指定したログ・ファイル

  • RMAN出力をリダイレクトすることで作成したファイル(たとえば、UNIXの場合、'>'演算子を使用)

RMANジョブに関連するアクションと、RMAN、データベース・サーバーおよびメディア・ベンダーによって生成されたエラー・メッセージが含まれています。RMANのエラー・メッセージには、RMAN-という接頭辞が付いています。通常のアクションの説明には接頭辞は付きません。

次のPL/SQLを実行すると、V$RMAN_STATUSからすべてのエントリを削除できます。

update node set high_rsr_recid=0
where db_key = our_target_database_db_key ;

このファンクションでは、すべてのジョブ関連エントリが削除されます。新しいバックアップ・ジョブがV$RMAN_BACKUP_JOB_DETAILSに表示されるまで、行は表示されません。

alert_SID.log

Oracle Database

自動診断リポジトリ(ADR)ホームのalertサブディレクトリ

エラー、初期化パラメータ設定および管理操作の時系列のログが含まれています。上書きされた制御ファイル・レコードの値が記録されます。

Oracleトレース・ファイル

Oracle Database

ADRホームのtraceサブディレクトリ

Oracle Databaseプロセスによって生成された詳細な出力が含まれています。このファイルは、ORA-600またはORA-3113エラー・メッセージが発生したとき、RMANがチャネルを割り当てられないとき、およびデータベースがメディア管理ライブラリのロードに失敗したときに作成されます。

sbtio.log

サード・パーティのメディア管理ソフトウェア

ADRホームのtraceサブディレクトリ

メディア管理ソフトウェアによって生成されたベンダー固有の情報が含まれています。このログには、Oracle DatabaseまたはRMANのエラーは含まれていません。

メディア・マネージャのログ・ファイル

サード・パーティのメディア管理ソフトウェア

sbtio.log以外のすべてのメディア・マネージャのログのファイル名は、メディア管理ソフトウェアによって決定されます。

メディア管理デバイスの機能に関する情報が含まれています

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メッセージが表示されない場合、エラーはありません。

Oracle Database 23c以降、RMANはインメモリー・トレース・メカニズムを使用して、断続的に発生する診断困難なRMAN障害を診断します。RMANではデフォルトでデバッグ・モードが有効になっており、RMANクライアントおよびサーバーのプロセス・トレースのインメモリー・レコードが作成されます。障害が発生すると、RMANはクライアントとサーバーのトレースを個別のファイルにダンプします。RMANメッセージ出力では、次のエラー・コードを使用してトレース・ファイルの場所に関する情報が示されます:
  • 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:の後に表示されるエラー

関連項目:

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

RESTOREコマンドまたはRECOVERコマンドのコンパイル

5500-5999

DUPLICATEコマンドのコンパイル

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 - パラメータstringstringは、SBTパラメータで指定されたBLKSIZE stringの倍数ではありません

構成で指定されたCHUNK_SIZEBLKSIZEの倍数ではありませんでした

BLKSIZEまたはCHUNK_SIZE構成を変更し、コマンドを再試行してください。

KBHS - 00101 - ファイル文字列はすでに存在します。一意の名前にはFORMAT '%number_%%U'オプションを使用してください

すでに使用されている名前のファイルを作成しようとしました。

BACKUPコマンドのFORMATオプションで%d_%Uを使用して、コマンドを再試行してください。

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 - ファイル文字列はすでに存在します。ASオプションを使用して、ピースの名前を変更してください

すでに使用されている名前のファイルを作成しようとしました。

'AS backuppiece name'オプションを使用してバックアップ・ピースの名前を変更し、コマンドを再試行してください。

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の致命的エラー

致命的なエラーが発生しました。

このメッセージに付随して、エラーの原因を示すその他のエラー・メッセージが表示されます。詳細は、SBTIO.LOGファイルを参照してください。

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 - パラメータstringstring属性が含まれている必要があります

WALLETパラメータに必須属性がありませんでした。

欠落している属性を追加して、コマンドを再試行してください。

KBHS-01015 - パラメータstringの値が範囲外です(string - string)

指定されたパラメータに与えられた値が無効でした。

パラメータの値を範囲内の値に変更し、コマンドを再試行してください。

KBHS-01016 - パラメータstringの解析中に構文エラーが発生しました

パラメータの解析中にエラーが発生しました。

詳細は、付随するエラー・メッセージを参照してください。

KBHS-01017 - パラメータstring値文字列に含まれる属性が多すぎます

WALLETパラメータに多数の属性が含まれています。

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 - パラメータstringstringの両方を指定することはできません

両方のパラメータを指定できません。

パラメータを1つのみ指定し、コマンドを再試行してください。

KBHS - 01026 - SSLWalletの場所をデータベースから取得できませんでした

SSLWalletの場所がデータベースに見つかりませんでした。

SSLWalletの場所がデータベースで指定されていることを確認し、コマンドを再試行してください。

KBHS - 01100 - バックアップ・ピースstringの終わり

このバックアップ・ピースに対して読み取るチャンクまたはメタデータ・ファイルで指定されている読取りバイトはこれ以上ありません。

想定より早くファイルの終わりに達した場合は、バックアップ・ピースにすべてのチャンクが存在していることを確認してください。

KBHS - 01102 - チャンクstringが欠落しているため、バックアップ・ピースstringを読み取れません

指定されたチャンクが見つからないため、バックアップ・ピースを読み取れません。

指定した場所にチャンク・ファイルをリストアした後、コマンドを再試行してください。

KBHS - 01103 - バックアップ・ピースstringがありません

指定されたピースが見つからないため、バックアップ・ピースを読み取れません。

指定した場所にファイルをリストアした後、コマンドを再試行してください。

KBHS - 01104 - ファイル stringがバックアップ・ピース形式ではありません

指定されたファイルがバックアップ・ピース形式ではないため、バックアップ・ピース・ヘッダーを読み取れません。

指定した場所にファイルをリストアした後、コマンドを再試行してください。

KBHS - 01105 - ブロック・プール形式のリストアはパスワードの復号化をサポートしていません

RA_FORMAT=TRUEおよび暗号化を使用してバックアップを実行する場合、リストアには透過的データ暗号化/復号化が必要です。

パスワードなしでコマンドを再試行してください。

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に無効な文字列が含まれています

指定したバケット名は次の規定のいずれかに従っていません:
  • 小文字、数字、ピリオド(.)およびダッシュ(-)のみを含めることができます。
  • 数字または文字で始まる必要があります。
  • 末尾をダッシュ(-)にすることはできません。
  • ピリオドの隣にダッシュを使用することはできません
  • IPアドレス形式にすることはできません(例: 192.168.5.4)

規則に従うバケット名を使用して、コマンドを再試行してください。

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 - 制御またはspfileを含む増分バックアップはサポートされていません

RA_FORMAT=TRUEを使用したバックアップでは、制御ファイルまたはspファイルのデータファイルの混在はサポートされていません。

RA_FORMAT=TRUEの使用時にAUTOBACKUP ONを使用するようRMANを構成します。

KBHS - 01605 - 現在のZDLRAバージョンはRA_FORMAT=TRUEをサポートしていません。

RA_FORMAT=TRUEを設定した場合、ZDLRAにパッチを適用し、新しくフォーマットされたバックアップを受け入れるようにする必要があります。

ZDLRAソフトウェアを適切なバージョンに更新します。

KBHS - 01606 - RA_FORMAT=TRUEの使用時には無効な圧縮アルゴリズムです。

RA_FORMAT=TRUEが設定されている場合、サポートされる圧縮アルゴリズムはLOWのみです。

RMAN圧縮アルゴリズムをLOWに設定します。

KBHS - 01607 - RA_FORMAT=TRUEを使用している場合、パスワード暗号化はサポートされません。

RA_FORMAT=TRUEが設定されている場合、サポートされる暗号化方法は透過的データ暗号化のみです。

パスワード暗号化のかわりに透過的データ暗号化を使用します。

KBHS - 01608 - 以前に圧縮されたバックアップはRA_FORMAT=TRUEでサポートされていません。

RA_FORMAT=TRUEを設定した場合、すでに圧縮されているバックアップはサポートされません。

初期バックアップを圧縮なしで作成します。

KBHS - 01609 - 以前に暗号化されたバックアップはRA_FORMAT=TRUEでサポートされていません。

RA_FORMAT=TRUEを設定した場合、すでに暗号化されているバックアップはサポートされません。

初期バックアップを暗号化なしで作成します。

KBHS - 01610 - MAXPIECESIZEバックアップはサポートされていません

RA_FORMAT=TRUEを使用したバックアップでは、MAXPIECESIZEもあるバックアップはサポートされていません。

maxpiecesizeバックアップが必要な場合は、RA_FORMAT=TRUEなしでRMANを構成します。

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に示すエラー範囲を参照して基本的なエラー・タイプを判断し、最も重要なメッセージについて、エラー・メッセージを参照して確認します。

関連項目:

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$ビューの使用

LISTREPORTおよびSHOWを使用しても、RMANアクティビティで必要なすべての情報が表示されない場合は、いくつかの有効なV$ビューで詳細を参照できます。

バックアップおよびリカバリ・ジョブを実行するサーバー・セッションで現在実行されている動作を確認すると有効な場合があります。次の表に示すビューは、RMANジョブに関する情報を取得する場合に有効です。

表23-6 トラブルシューティングで有効なV$ビュー

ビュー 説明

V$PROCESS

現在アクティブなプロセスを識別します

V$SESSION

現在アクティブなセッションを識別します。このビューを使用して、RMANが割り当てたチャネルに対応するデータベース・サーバー・セッションを判断します。

V$SESSION_WAIT

セッションが待機中のイベントまたはリソースのリストを表示します

前述のビューを使用して、次のタスクを実行できます。

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$PROCESSSPID列に、オペレーティング・システムのプロセスまたはスレッドの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問合せで使用する必要があります。

バックアップ中にプロセスをチャネルに関連付けるには:

  1. アクティブなセッションで、RMANジョブを通常どおりに実行し、出力を確認してチャネルのSIDを取得します。たとえば、次の出力が表示される場合があります。
    Starting backup at 21-AUG-13
    allocated channel: ORA_SBT_TAPE_1
    channel ORA_SBT_TAPE_1: sid=14 devtype=SBT_TAPE
    
  2. RMANジョブの実行中に、SQL*Plusセッションを開始して、V$SESSIONおよびV$PROCESSビューを結合して問い合せます。たとえば、次のように入力します。
    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値を使用して、どのチャネルがどのサーバー・セッションに対応しているかを確認します。

           SID SPID         CLIENT_INFO
    ---------- ------------ ------------------------------
            14 2036         rman channel=ORA_SBT_TAPE_1
            12 2066         rman channel=ORA_SBT_TAPE_1
23.2.2.2.2 SET COMMAND IDを使用したサーバー・セッションとチャネルの関連付け

RMANバックアップ・スクリプトでコマンドID文字列を指定します。これによって、この文字列のV$SESSION.CLIENT_INFOを問い合せることができます。

バックアップ中にプロセスをチャネルに関連付けるには:

  1. 各セッションで、チャネルの割当てCOMMAND IDを別々の値に設定して、目的のオブジェクトをバックアップします。たとえば、セッション1で次のように入力します。
    RUN 
    {
      ALLOCATE CHANNEL c1 TYPE disk;
      SET COMMAND ID TO 'sess1';
      BACKUP DATABASE;
    }
    

    セッション2で実行中のジョブで、コマンドIDをsess2などの文字列に設定します。

    RUN 
    {
      ALLOCATE CHANNEL c1 TYPE sbt;
      SET COMMAND ID TO 'sess2';
      BACKUP DATABASE;
    }
    
  2. RMANジョブの実行中に、SQL*Plusセッションを開始して、V$SESSIONおよびV$PROCESSビューを結合して問い合せます。たとえば、次のように入力します。
    SELECT SID, SPID, CLIENT_INFO 
    FROM   V$PROCESS p, V$SESSION s 
    WHERE  p.ADDR = s.PADDR 
    AND    CLIENT_INFO LIKE '%id=sess%';
    

    RMANジョブでSET COMMAND IDコマンドを実行した場合、CLIENT_INFO列は次の形式で表示されます。

    id=command_id,rman channel=channel_id
    

    たとえば、次に例の出力を示します:

     SID SPID         CLIENT_INFO
    ---- ------------ ------------------------------
      11 8358         id=sess1
      15 8638         id=sess2
      14 8374         id=sess1,rman channel=c1
       9 8642         id=sess2,rman channel=c1
    

    文字列rman channelを含む行に、バックアップを実行中のチャネルが表示されます。残りの行には、ターゲット・データベースへの接続が表示されます。

関連項目:

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を使用するには:

  1. コマンドラインでsbttestと入力し、プログラムがインストール済でシステム・パスに含まれていることを確認します。
    % sbttest
    

    プログラムが操作可能の場合、オンライン・ドキュメントが表示されます。

  2. オンライン・ドキュメントに表示された任意の引数を指定して、プログラムを実行します。たとえば、some_file.fテスト・ファイルを作成してsbtio.logに出力を生成するには、次のコマンドを入力します。
    % sbttest some_file.f -trace sbtio.log
    

    既存のデータファイルのバックアップをテストすることもできます。たとえば、prodデータベースのtbs_33.fデータファイルをテストするには、次のコマンドを入力します。

    % sbttest tbs_33.f -dbname prod
    
  3. 出力を確認します。プログラムの実行中にエラーが発生した場合、障害を説明するメッセージが出力されます。たとえば、データベースがライブラリを検出できない場合、次の出力が戻されます。
    libobk.so could not be loaded. Check that it is installed properly, and that
     LD_LIBRARY_PATH environment variable (or its equivalent on your platform)
     includes the directory where this file can be found. Here is some additional
     information on the cause of this error:
    ld.so.1: sbttest: fatal: libobk.so: open failed: No such file or directory
    

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つが存在しなくなったことを検出し、終了処理を実行します。この場合、前述のとおり、応答しなくなったチャネルへの接続はアクティブのままです。

23.4.3.3 RMANセッションの終了の基本ステップ

メディア・マネージャ・コードで応答しなくなったチャネルが終了されると、RMANプロセスはその終了を検出し、終了処理を実行します。その際、メディア管理レイヤーで実行可能なターゲット接続を除く、すべての接続を削除します。

この場合にも、メディア・マネージャ・リソースに関する警告が当てはまります。

メディア・マネージャで応答しなくなったOracle Databaseプロセスを終了するには:

  1. 「RMANのトラブルシューティングでのV$ビューの使用」で説明するように、V$SESSIONおよびV$SESSION_WAIT,を問い合せます。たとえば、次の問合せを実行します。
    COLUMN EVENT FORMAT a17
    COLUMN SECONDS_IN_WAIT FORMAT 999
    COLUMN STATE FORMAT a10
    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機能を確認します。たとえば、次のような出力が表示されます。

    SPID EVENT             SEC_WAIT   STATE      CLIENT_INFO
    ---- -----------------  ---------- ---------- -----------------------------
    8642 Backup:MML write   600        WAITING    rman channel=ORA_SBT_TAPE_1
    8374 Backup:MML write   600        WAITING    rman channel=ORA_SBT_TAPE_2
    
  2. ご使用のプラットフォームに適切なオペレーティング・システム・レベルのツールを使用して、応答しなくなったセッションを終了します。たとえば、Linuxではkill -9コマンドを実行します。
    % kill -9 8642 8374
    

    一部のプラットフォームには、orakillというコマンドライン・ユーティリティが含まれています。このユーティリティを使用すると、特定のスレッドを終了できます。コマンド・プロンプトから、次のコマンドを実行します。ここで、sidはターゲットに対するデータベース・インスタンスで、thread_idはステップ1の問合せで取得したSPID値です。

    orakill sid thread_id
    
  3. メディア・マネージャがプロセスもクリアしたことを確認します。消去されていないプロセスが存在する場合、次のバックアップまたはリストア操作が、以前のバックアップおよびリストア操作の問題が原因で再度フリーズする可能性があります。一部のメディア・マネージャでは、この唯一の解決策は、メディア・マネージャを停止して再起動することです。メディア・マネージャのドキュメントに必要な情報が記載されていない場合、メディア・マネージャのテクニカル・サポートに問い合せてください。

    関連項目:

    関連するコマンドについては、ご使用のオペレーティング・システム固有のドキュメントを参照してください。