• 検索結果がありません。

Recovery ManagerおよびMedia Managerトラブルシューティング・ガイド

N/A
N/A
Protected

Academic year: 2021

シェア "Recovery ManagerおよびMedia Managerトラブルシューティング・ガイド"

Copied!
19
0
0

読み込み中.... (全文を見る)

全文

(1)

Recovery Manager および Media Manager

トラブルシューティング・ガイド

オラクル・ホワイト・ペーパー

(2)

Recovery Manager および Media Manager

トラブルシューティング・ガイド

概要 ... 3

RMANとメディア・マネージャの概要... 3

メディア・マネージャのコンポーネント ... 4

RMANとメディア・マネージャ・ソフトウェアの連携... 5

トラブルシューティングの手順... 7

1. メディア・マネージャ初期化のチェック ... 7

メディア・マネージャ統合のトラブルシューティング... 9

追加のメディア・マネージャ・リソース ... 10

2. メディア・マネージャ利用のOSバックアップ動作の判断... 10

3. ディスクおよびSBTテスト・ディスクのバックアップの実行 ... 11

4. SBTライブラリからのサーバー・プロセスの分離 ... 12

5. RMANエラー・メッセージ・スタックのチェック... 12

6. OSエラー・コードのトラブルシューティング ... 13

7. RMANとメディア・マネージャ・ログのチェック... 14

ターゲット・データベースのUSER_DUMP_DESTディレクトリにあ

るトレース・ファイル ... 14

USER_DUMP_DESTディレクトリ内のSbtio.log ... 16

メディア・マネージャ・ログ ... 16

8. SBT関数エラーの診断... 17

SBTINITとSBTINIT2 の失敗... 17

SBTOPENまたはSBTBACKUPの失敗 ... 17

SBTOPENまたはSBTRESTOREの失敗... 17

SBTWRITEまたはSBTREADの失敗 ... 18

(3)

Recovery Manager および Media Manager

トラブルシューティング・ガイド

概要

Recovery Manager(RMAN)は、Oracleデータベースのバックアップとリカバリの ための性能が保証された、効率的で管理が容易な単一のツールです。RMANは System Backup to Tape(SBT)API経由でのテープへのバックアップに関して、業 界をリードするサード・パーティ・バックアップ・ベンダーと統合しています。 これらのバックアップ・ベンダーは、すでにAPIを使用して製品にインタフェース を実装しているため、RMANはテープへのバックアップやテープからのリストア を実行できます。これらのベンダーの詳細は、Oracle Backup Solutions Programを参 照してください。 このホワイト・ペーパーでは、RMAN の環境を概説し、RMAN とメディア・マネー ジャの通信方法を説明した後、サード・パーティ・メディア・マネージャを統合 して操作するときの一般的なトラブルシューティング手順について説明します。 ここからメディア・マネージャ固有のトラブルシューティングへスキップします。

RMAN とメディア・マネージャの概要

環境の概要を次に示します。 メディア・マネージャのアーキテクチャ

(4)

バックアップをテープに保存する場合、RMAN にはメディア・マネージャ・ソフ トウェアが必要です。メディア・マネージャ・ソフトウェアは、データのバック アップおよびリカバリに使用するテープなど、シーケンシャル・メディアを読み/ 書きおよび管理するサード・パーティ製のソフトウェア・プログラムです。バッ クアップの場合、RMAN は Oracle Server セッションを開始します。そのセッショ ンがデータを読み取り、メディア・マネージャに送信し、メディア・マネージャ がデータをテープ・デバイスに書き込みます。リストアの場合、メディア・マネー ジャ・ソフトウェアがデータをテープから読み取り、Oracle Server セッションに 送信し、そのセッションがデータをディスクにリストアします。 SBT API は、RMAN がメディア・マネージャとやりとりするためのインタフェー スです。API はバックアップ・ファイルの作成機能、バックアップ・メディアへ の書込み/読取り機能、およびバックアップ・ファイルの検索/削除機能を定義しま す。バックアップ・デバイスとメディアの管理は、SBT API ではなくメディア・ マネージャが行います。

メディア・マネージャのコンポーネント

メディア・マネージャ・ソフトウェアは、製品によって機能の幅が様々です。た だし次の説明のように、ほとんどのメディア・マネージャにより共有される典型 的な一連のコンポーネントがあります。 Device Agent このコンポーネントはバックアップ・デバイス(たとえばテープ・ドライブ)に データを書き込み、そこからデータを読み取ります。 Robot Agent このコンポーネントは、デバイス・エージェントから命令を受信し、ロボティッ ク・インタフェースを制御して、テープをロードおよびアップロードします。 Disk Agent このコンポーネントはディスクからデータを読み取り、デバイス・エージェント に送信します。RMAN と統合されると、このコンポーネントはメディア管理ライ ブラリ(Unix では libobk.so、Windows では ORASBT.DLL と呼ばれる)になりま す。

Media Management Database

これはバックアップとメディアについてのメタデータが入ったデータベースです。 たとえば、テープの Media ID、バーコード、ロケーションが保存されます。 Session Manager このコンポーネントは、バックアップ・データとリストア・データの送信を制御 します。このコンポーネントを別のプロセスにしている製品や、デバイス・エー ジェントに組み込んでいる製品もあります。

(5)

RMAN とメディア・マネージャ・ソフトウェアの連携

RMAN とメディア・マネージャ・ソフトウェアの統合のコアは、バックアップ・ ベンダーから供給されるメディア管理ライブラリです。このライブラリには SBT API 関数が実装され、Oracle サーバー・バイナリにリンクされています。Oracle 8.1.6 およびそれ以前のバージョンでは、RMAN を起動する前にライブラリを Oracle サーバー・バイナリに明示的にリンクする必要がありました。Oracle 8.1.7 では、 ライブラリは OS によって Oracle サーバー・セッションの開始時に暗黙的にロー ドされます。Oracle9i および 10g では、RMAN チャネルの割当て時にライブラリ は自動的にロードされます。 Oracle はこれらの SBT 関数を呼び出し、メディア・マネージャによって制御され たメディアへデータファイルをバックアップ、あるいはメディアからリストアし ます。バックアップやリストアを実行する際、RMAN クライアントはターゲット・ インスタンスに接続し、インスタンスにメディア・マネージャと対話するように 命令します。RMAN クライアントとメディア・マネージャは直接やりとりしませ ん。すべてはターゲット・インスタンス上で行われます。 バックアップ・セッションの流れ(SBT v2.0) テープ・デバイスへのバックアップ時に SBT の手順は次のとおりです。 1. RMAN が Oracle サーバーに接続し、割当て済みのチャネルごとにサー バー・セッションを開始します。 2. 開始すると、Oracle サーバー・セッションはメディア管理ソフトウェアを 初期化します。初期化は、sbtinit()を呼び出します。この関数は、メ ディア管理ソフトウェアを初期化する、RMAN に初期化を肯定応答する、 および初期化テキストを返すなどの機会をメディア管理ソフトウェアに 与えます。たとえば、メディア管理ソフトウェアはそのバージョンにつ いてのテキストを返すことができます。そのテキストは RMAN 出力に表 示されます(メッセージ RMAN-08526)。

RMAN-08030: allocated channel: ORA_SBT_TAPE_1 RMAN-08500: channel ORA_SBT_TAPE_1: sid=8 devtype=SBT_TAPE

RMAN-08526: channel ORA_SBT_TAPE_1: VERITAS NetBackup for Oracle8 - Release 3.4GA

Sbtinit()は、このメディア・マネージャがサポートする SBT API のバー ジョンも返します。この情報は RMAN 出力に表示されます(メッセージ RMAN-08503)。

RMAN-08503: piece handle=3mckj4i8_1_2 comment=API Version 2.0,MMS Version 3.2.0.0

3. sbtinit()が成功すると、Oracle は sbtinit2()を呼び出します。 Sbtinit2()は、sbtinit()が提供しない追加情報をメディア管理ソフ トウェアに提供するために、RMAN によって呼び出されます。たとえば、 ALLOCATE CHANNEL … PARMS 文の中の ENV 値などの追加情報です。

(6)

4. Oracle セッションは sbtbackup()を呼び出して、バックアップ・ピース を作成します。具体的には、セッション・マネージャがメディア管理デー タベースを読み取り、適切なデバイス・エージェントを開始し、バック アップ用のテープをロードします。 5. Oracle セッションは、入力ファイル(データファイル、アーカイブ・ログ、 または制御ファイル)の読取りを開始します。データは、テープにデー タを書き込む sbtwrite2()API 経由でメディア・マネージャに送信され ます。標準的なメディア・マネージャ・ライブラリは、データを内部バッ ファにコピーします。バッファが一杯になると、データはデバイス・エー ジェントに送信され、デバイス・エージェントがテープに書き込みます。 6. Oracle セッションはバックアップ・ピースを完了すると、sbtclose2() を呼び出し、書込みプロセスを完了します。メディア・マネージャはバッ ファされたデータをテープにフラッシュし、sbtwrite2()を介して以前 書き込まれたすべてのデータはテープに永続的に保存されます。つまり、 sbtclose2()はメディア・マネージャにデータをテープに収容(コミッ ト)するように指示します。このテープ上で、標準的なメディア・マネー ジャは、内部バッファ内にまだ存在するすべてのデータをデバイス・エー ジェントに送信し、すべてのデータがテープに収容されるまで待ちます。 7. 次に、Oracle セッションは sbtinfo2()を呼び出し、バックアップ・ピー スがメディア・マネージャ・データベースに保存されるかどうかを調べ ます。sbtinfo2()関数は、メディア・マネージャにバックアップ・ピー スが保存されるテープのメディア ID、ロケーション、および有効期限を 返すように指示します。 8. sbtinfo2()が完了すると、RMAN はバックアップ・ピースの名前を記 録します。

RMAN-08045: channel ORA_SBT_TAPE_1: finished piece 1 at MAR 13 2001 08:48:12

RMAN-08503: piece handle=41ckj865_1_1 comment=API Version 2.0,MMS Version 3.2.0.0 9. バックアップ対象の追加ピースがあれば、ステップ4からアルゴリズム を繰り返します。 10. Oracle セッションはすべてのピース・データのバックアップを完了した後、 sbtend()を呼び出します。この関数内で、メディア管理ソフトウェアが リソースをクリーンアップして解放します。sbtend()が戻ると、RMAN チャネルは解放され、サーバー・セッションが終了します。標準的なメ ディア・マネージャは、バックアップ・セッションの終了およびテープ のアンロードをセッション・マネージャに指示します。 リストア・セッションの流れ(SBT v2.0) テープ・デバイスからディスクにリストアする SBT の手順は次のとおりです。 1. RMAN が Oracle Server に接続し、割当て済みで使用中のチャネルごとに

(7)

2. 開始すると、Oracle Server セッションはメディア管理ソフトウェアを初期 化します。初期化は、sbtinit()を呼び出します。これは、前述のバッ クアップ・セッションの流れのステップ 2 と同じです。 3. 次に Oracle セッションは、メディア・マネージャからバックアップ・ピー スを要求するために sbtrestore()を呼び出します。Sbtrestore()は、 メディア・マネージャに要求しているバックアップ・ピースが入ったテー プを見つけ出して、ロードするように指示します。 4. Oracle データベースは sbtread2()を呼び出すことで、メディア・マネー ジャ・ライブラリからのデータの読取りを開始します。sbtread2()か ら受信されたデータは、次にディスクに書き込まれます。 5. バックアップ・ピースを読み終わると、Oracle データベースは sbtclose()を呼び出し、完了するように指示します。Sbtclose()は メディア・マネージャにテープからのデータ読取りを停止するように指 示します。 6. リストア対象のデータがさらにある場合は、ステップ 4 からアルゴリズ ムを繰り返します。 7. 各サーバー・セッションはそれぞれのデータのすべてをリストアした後、 sbtend()を呼び出します。この関数内で、メディア管理ソフトウェアが リソースをクリーンアップして解放します。sbtend()が戻ると、RMAN チャネルは解放され、サーバー・セッションが終了します。標準的なメ ディア・マネージャは、リストア・セッションの終了およびテープのア ンロードをセッション・マネージャに指示します。

トラブルシューティングの手順

1. メディア・マネージャ初期化のチェック

RMAN Error Message Stack だけではなく、RMAN ログ全体を入手します。メディ ア・マネージャおよびバージョンを識別するメッセージを探します。

Oracle8/8iの場合では、メッセージRMAN-08526 を探します。次のメッセージです。 RMAN-08526: channel t1: VERITAS NetBackup for Oracle8 – Release 3.4GA (030800)

RMAN-08526: channel dev1: BMO v3.0

RMAN-08526: channel t1: Tivoli Data Protection for Oracle: version 2.2.0.0

Oracle9iの場合での識別は、次のテキスト・メッセージです。

channel dev_0: HP Open View OmniBack II

A.04.10/PHSS_28582/PHSS_28583

これらのメッセージでメディア・マネージャが正しく識別されていれば、正しい ロードと初期化を確認できます。ステップ 5: RMAN Error Message Stackのチェッ クへ進みます。

(8)

識別されていない場合は、次のエラーが表示され、メディア・マネージャが Oracle に正しく統合されていないことが確認できます。

Oracle8 の場合

ORA-19506: failed to create sequential file, name="X",

parms=""

ORA-27006: sbtremove returned error

Additional information: 7086

Oracle8iの場合

ORA-19506: failed to create sequential file, name="X",

parms=""

ORA-27006: sbtremove returned error

Additional information: 4110

Oracle9iの場合

ORA-19557: device error, device type: SBT_TAPE, device name:

ORA-27211: Failed to load Media Management Library

Additional information: 2

SBT ルーチン、sbtinit()、sbtinit2()、sbtopen()または sbtbackup() 内のエラーもメディア・マネージャの統合または構成に問題がある可能性を示し ています。

RMAN-10035 - ORA-19506: failed to create sequential file,

ORA-27007: failed to open file

Additional information: 7009

Additional information: 1

ORA-19511: SBT error = 7009, errno = 0, sbtopen: can't connect with media manager

RMAN-10031 - ORA-19624 occurred during call to

DBMS_BACKUP_RESTORE.BACKUPPIECECREATE

次のメッセージでも、メディア・マネージャの統合に問題があることが確認でき ます。

RMAN-08526: channel t1: WARNING: Oracle Test Disk API

ORA-19511: SBT error= 4110, errno = 0, BACKUP_DIR environment variable is not set

ディスク API は、メディア・マネージャとは別に SBT ルーチンのテストに使用で きますが、この場合のメッセージはエラーです。それは、メディア・マネージャ 用にチャネルが割り当てられているのにメディア・マネージャ統合の問題が原因 で、デフォルトによってディスク API が使用されるからです。

(9)

メディア・マネージャ統合のトラブルシューティング

メディア・マネージャ・ライブラリが Oracle に正しくリンクされていることを確 認してください。 Oracle8/8i の場合: RMAN はメディア・マネージャ・モジュールが$ORACLE_HOME/lib に配置され、 基本的にその名称を libobk.<suffix>(suffix はプラットフォームによって異 なる)としています。 ただし Oracle 8.1.6 を稼働している Solaris プラットフォームでは、例外的にモ ジュールが libdsbtsh8.so と呼ばれます。64 ビット・プラットフォーム上で 32 ビット Oracle を稼働している場合は、メディア・マネージャ・モジュールの 32 ビット・バージョンが使用されていることを確認してください。 トラブルシューティングには次の手順が役立ちます。 a. シンボリック・リンクをチェックする: $ORACLE_HOME/lib に移動します。libobk.<suffix>とメディア・マネー ジャ・モジュール間にシンボリック・リンクが必要です。 ない場合は、次の文を使用して作成します。 % mv libobk.<suffix> libobk.sav

% ln -s <pathname to vendor’s MML module>

$ORACLE_HOME/lib/libobk.<suffix>

b. Oracle8の場合は、Oracle実行可能ファイルを再リンクする: Solarisの場合:

cd $ORACLE_HOME/rdbms/lib make -f ins_rdbms.mk ioracle

LLIBOBK=/usr/lib/libobk.so LIBMM= LLIBMM=

HPの場合:

cd $ORACLE_HOME/rdbms/lib make -f ins_rdbms.mk ioracle

"LLIBOBK=/usr/lib/libobk.sl -lC" LIBMM= LLIBMM=

Digital Unixの場合:

cd $ORACLE_HOME/rdbms/lib make -f ins_rdbms.mk ioracle

LLIBOBK="/usr/lib/libobk.so" LIBMM= LLIBMM=

AIXの場合:

cd $ORACLE_HOME/rdbms/lib make -f ins_rdbms.mk ioracle

(10)

Oracle9i の場合: メディア管理ライブラリ(libobk.x)は、デバイス・タイプ SBT_TAPE でチャ ネルが割り当てられたときに動的にロードされます。libobk.x(x はオペレー ティング・システムに合った適切な拡張子)が$ORACLE_HOME/lib ディレクト リ内に存在すること、$ORACLE_HOME/lib ディレクトリが LIBPATH(または LD_LIBRARY_PATH)の最初にあることを確認してください。 あるいは、PARMS パラメータ SBT_LIBRARY を使用してメディア・マネージャを 明示的に指定できます。 メディア・マネージャ環境変数は、次のような ALLOCATE CHANNEL コマンドの PARMS オプションを介してメディア・マネージャ・レイヤーに引き渡されます。 allocate channel t1 type 'sbt_tape' PARMS

'ENV=(TDPO_OPTFILE=/tmp/tdopt.opt)';

ALLOCATE CHANNEL コマンドのPARMS オプションを介してメディア・マネー

ジャに引き渡されたメディア・マネージャ環境変数が、完全であり構文的に正し いことを確認してください。

追加のメディア・マネージャ・リソース

Tivoli Storage Manager

• TDP and RMAN Problem Resolution Tips(IBM.com登録およびIBM Tivoliカ スタマ番号が必要です。)

• Note 125219.1: Integration of RMAN and ADSM Connect Agent for Oracle(参 照には、Oracle社とサポート・サービス契約を締結した上で MetaLinkへ 登録が必要です)

Legato Networker

• Note 208914.1: Quick Start for Legato Storage Manager Configuration and Troubleshooting(参照には、Oracle社とサポート・サービス契約を締結し た上で MetaLinkへ登録が必要です)

HP Omniback

• Note 77552.1: RMAN: Configuring HP Omniback with RMAN(参照には、 Oracle社とサポート・サービス契約を締結した上で MetaLinkへ登録が必 要です)

VERITAS NetBackup

• Note 209117.1: How to Install, Configure, Check and Troubleshoot VERITAS NetBackup 4.5 for Oracle(参照には、Oracle社とサポート・サービス契約 を締結した上で MetaLinkへ登録が必要です)

• NetBackup linking instructions

2. メディア・マネージャ利用の OS バックアップ動作の判断

このステップは、メディア・マネージャの基本コンポーネントが正しくインストー ルされ構成されているかを判断します。メディア・マネージャのオペレーティン グ・システム・バックアップが動作しない場合、問題は Oracle メディア・マネー

(11)

ジャ・モジュールとは関係ありません。むしろメディア・マネージャのインストー ルと構成に問題があります。トラブルシューティングは、メディア・マネージャ・ ベンダーにお問い合わせください。

3. ディスクおよび SBT テスト・ディスクのバックアップの実行

メディア・マネージャが動作する場合は、RMAN ディスク・バックアップが動作 することを確認してください。 run {

allocate channel d1 type disk format '/dev/null'; backup datafile <datafile #, etc>;

} 二次チェックとして、SBT ディスク・ライブラリを使用してバックアップを作成 します。これは、メディア・マネージャに対して通常行われる API コールと同じ テープを作成しますが、実際の物理バックアップはディスクに書き込まれます。 PARMS パラメータ BACKUP_DIR は、バックアップ・ピースが書き込まれるディ スクの位置にセットする必要があります。 Oracle8/8iの場合: a. この$ORACLE_HOME を使用する Oracle インスタンスをすべて停止します。 b. シンボリック・リンクを作成します。 % cd $ORACLE_HOME/lib % mv libobk.<suffix> libobk.<suffix>.save % ln -s libdsbtsh8.<suffix> libobk.<suffix> Oracle8 の場合、メディア・マネージャ統合のトラブルシューティングで説明され ているとおり、Oracleを再リンクします。 c. ディスク・バックアップを実行します。 run {

allocate channel t1 type sbt format '%U'; parms='ENV=(BACKUP_DIR=/<backup_directory>)'; backup datafile <datafile #, etc>;

}

Oracle9iの場合:

SBT ディスク・ライブラリを動的にロードできます。 run {

allocate channel t1 type sbt format '%U'; parms='SBT_LIBRARY=oracle.disksbt, ENV=(BACKUP_DIR=/<backup_directory)';

backup datafile <datafile #, etc>; }

バックアップが成功して、すべての RMAN API コールが正しく行われた場合は、 メディア・マネージャ側のエラーです。

(12)

4. SBT ライブラリからのサーバー・プロセスの分離

メディア・マネージャは、Oracle サーバー・セッションによって実行されるファ イルの読取りを妨害することがあります。この問題は、メディア・マネージャ・ ライブラリが Oracle サーバー・プロセスによってロードされ、Oracle サーバー・ プロセス専用のすべてのオペレーティング・システム・リソースをライブラリが 共有しているために発生します。たとえば、まれにですが、サーバー・プロセス 内の Oracle コードによって開かれたデータ・ファイル・ディスクリプタを MML が誤って閉じる可能性があります。 読取りに責任を負うプロセスと書込みに責任を負うプロセス(メディア管理ライ ブラリ内の SBT 関数によって実行される)を分ける必要があります。 BACKUP_TAPE_IO_SLAVES 初期化パラメータを TRUE にセットすることで、こ の 2 つのプロセスを分けることができます。

5. RMAN エラー・メッセージ・スタックのチェック

メディア・マネージャ・モジュールのロードと初期化は成功しましたが、バック アップは成功しません。 ORA-19511 を探してください。これは必ずメディア・マネージャ・レイヤーから 返されます メディア・マネージャ・エラーは、次の特徴もあります。 • ORA-19506: シーケンシャル・ファイルの作成に失敗しました。 • シーケンシャル・ファイルの読取り、書込み、オープン、またはクロー ズ時のエラー • sbtinit、sbtinit2、sbtopen、sbtread、sbtwrite、sbtclose、 sbtinfo、sbtend などのSBT ルーチン内のエラー 失敗した SBT ルーチンの例を次に示します。 RMAN-00571: ======================================= RMAN-00569: ======= ERROR MESSAGE STACK FOLLOWS======= RMAN-00571: ======================================= RMAN-03015: error occurred in stored script bkfIST(1)

RMAN-03006: non-retryable error occurred during execution of command: backup (2)

RMAN-07004: unhandled exception during command execution on channel ch1 (3)

RMAN-10035: exception raised in RPC: ORA-27015: skgfcls: failed to close the file

ORA-19511: SBT error = 7023, errno = 29, sbtclose: system error (4)

RMAN-10031: ORA-19583 occurred during call to DBMS_BACKUP_RESTORE.BACKUPPIECECREATE(5)

エラーから次のことが推定できます。

1. ストアド・スクリプトが使用されています。RMAN スクリプト bkfIST が失 敗しました。

(13)

2. 失敗した RMAN コマンド: backup 3. 失敗したチャネル: ch1 4. メディア・マネージャ・レイヤー・エラー: ORA-19511 SBT エラー: 7023(OS エラー) OS エラー: 29 (システムが指定されたデバイスに書き込めません) 失敗したルーチン: sbtclose 5. 失敗した RMAN RPC: DBMS_BACKUP_RESTORE.BACKUPPIECECREATE 結論: メディア・マネージャ関数 sbtclose は、OS エラー29 が原因でバックアッ プ・ピースの作成に失敗しました。 次に、SBT API 2.0 sbtbackup()関数の失敗の例を示します。 ORA-19506: failed to create sequential file, name="4fckrhkv_1_1",

parms=""

ORA-27028: skgfqcre: sbtbackup returned error

ORA-19511: Error received from media manager layer, error text: sbtbackup: Failed to open for backup. # SBT API 2.0 textual error message エラー・メッセージがシーケンシャル・ファイルを指している場合は、SBT API エラーを識別したことになります。前述の例では、ORA-19506 エラーがシーケン シャル・ファイルを指しているため、SBT API 内で問題が発生しています。シー ケンシャル・ファイルの読取り、書込み、オープン、またはクローズを伴うエラー はすべて、SBT 関数が失敗したことを意味します。ORA-19511 メッセージの次 のテキストは、メディア・マネージャから受信したデータに基づいてエラーを説 明しています。 どのOSエラー、RMANトレース・ファイル、sbtio.logおよびメディア・マネー ジャ・ログも調査する必要があります。必要な場合は、ステップ 8へ進み、SBT 関数エラーと一般的な原因を調査します。

エラーに関するその他のヘルプ情報については、Note 227517.1: Main Index of Common Causes for ORA-19511(参照には、Oracle社とサポート・サービス契約を 締結した上で MetaLinkへ登録が必要です)を参照してください。

6. OS エラー・コードのトラブルシューティング

クイック・リファレンスについては、Note 28778.1: Unix Error Codes(参照には、 Oracle社とサポート・サービス契約を締結した上で MetaLinkへ登録が必要です) を参照してください。

ポート固有エラーについては、/usr/include/sys/errno.h を参照してくださ い。

(14)

7. RMAN とメディア・マネージャ・ログのチェック

ターゲット・データベースの USER_DUMP_DEST ディレクトリにあるト

レース・ファイル

このトレース・ファイルは、バックアップを実行する Oracle サーバー・セッショ ンによって作成され、どの SBT 関数が失敗したか、特に保留中の問題またはコア・ ダンプのために失敗したかを示しています。Oracle は SBT API 関数のすべての開 始と終了をトレース・ファイルに書き込みます。

ALLOCATE CHANNEL コマンドの TRACE=1 パラメータを使用して一般的なトレー スを有効にします。

RUN {

ALLOCATE CHANNEL tst TYPE DISK TRACE=1 FORMAT '/dev/null';

BACKUP DATAFILE <datafile #, etc>; } トレース・ファイルは、次に示す内容を含みます。 *** SESSION ID:(9.17) 2002-03-16 13:50:21.945 skgfalo(se=0x815ff8c8, ctx=0x262bf98, dev=0x264861c, devparms=, flags=33554432) skgfidev(se=0x815ff8c8 ctx=0x262bf98, dev=0x264861c) entering sbtinit on line 2203

return from sbtinit on line 2213

skgfqsbi(ctx=0x262bf98, vtapi=API Version 1.1, id=MMS Version 2.2.0.1)

skgfqcre(se=0x815ff8c8, ctx=0x262bf98, dev=0x264861c, file=0x2647f08, fparms=, flags=0x0)

entering sbtopen on line 683 return from sbtopen on line 704

skgfwrt(ctx=0x262bf98, file=0x2647f08, iosb=0x2647cf4, buf=0x815b0000, numblks=1)

skgfwrt(data=13020000 00000001 0003A1B1 00000104) entering sbtwrite on line 903

... トレース出力は、Oracle Server セッションにセットされる環境変数を正確に示し ます。 たとえば、チャネルが次のようなオプションを持っていると、 PARMS=’ENV=(NB_ORA_CLASS=class1)’ トレース出力は次のように表示されます。

skgfidev(): processing: ENV=(NB_ORA_CLASS=fdfa) skgfidev(): setting environment variable: NB_ORA_CLASS=fdfa

トレース・ファイルは、関数がハング状態(保留中)かどうかを示すことができ ます。次に例を示します。

(15)

skgfwrt(ctx=0x262bf98, file=0x2647f08, iosb=0x2647cf4, buf=0x815b0000, numblks=1)

skgfwrt(data=13020000 00000001 0003A1B1 00000104) entering sbtwrite on line 903

この後に何もない場合、関数 sbtwrite()はハングします。

レベル 1 トレーシングがエラー解決の手がかりにならない場合は、パフォーマン ス統計も提供する TRACE=5 で冗長トレーシングを有効にできます。

(16)

追加のトレーシング・レベルを次に示します。 レベル 名前 説明 ∼∼∼∼∼ ∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼ ∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼ 2 KRB_TRACE_THREAD krbbpc スレッド・スイッチをトレー スします。 3 KRB_TRACE_IO トレース I/O 4 KRB_TRACE_INCR 増分リストアをトレースします。 5 KRB_TRACE_PERF パフォーマンスのトレーシング 6 KRB_TRACE_KRBBPC_OUTPUT 詳細なバックアップ・ピースの出力 注意: トレース・レベル 0 は、SBT 関数からのリターン・コードが-1 の結果にな るすべてのエラー状況をトレースします。クライアントによって扱われる SBT_ERROR_EOF と SBT_ERROR_NOTFOUND は例外です。トレース・レベル 2 は、 各 SBT 関数の開始と終了、すべての関数パラメータの値および各読み/書きバッ ファの最初の 32 バイトを 16 進数でトレースします。読取りバッファは関数の開 始時にトレースされ、読取りバッファはデータが一杯になった後、クライアント に戻される前にトレースされます。

USER_DUMP_DEST ディレクトリ内の Sbtio.log

このログは、メディア・マネージャにより排他的に書き込まれる唯一のものです。 次に、Legato Storage Manager により書き込まれる sbtio.log の例を示します。 (24677) LSM 2.2.0.1: 03/19/02 10:26:27 Sbtopen: unable to start save session with server dlsun1556: There is no pool named 'fdfa'. このエラー・メッセージからは、データ・プールがないためにバックアップに失 敗したことが確認できます。 このログ・ファイルに書込みしないメディア・マネージャ(NetBackup など)も あることに注意してください。デバッグ情報は、メディア・マネージャによって 作成されたログ・ファイルを参照してください。

メディア・マネージャ・ログ

次に、ログ位置のサンプル・リストを示します。 メディア・マネージャ ディレクトリ ファイル メタリンク

Legato Networker /nsr/log /nsr

Daemon.log Note: 208914.1

Omniback /var/opt/omni/log oracle8.log

debug.log media.log Note: 77552.1 NetBackup <install_path>/netb ackup/logs bphdp dbclient bpdbsbora Note: 209117.1

Tivoli Logdirectory (in

dsm.opt or tdpo.opt) parameter: tracefile

(17)

8. SBT 関数エラーの診断

SBTINIT と SBTINIT2 の失敗

sbtinit()および sbtinit2()関数は、メディア・マネージャ・ライブラリを初 期化します。sbtinit()または sbtinit2()の呼び出し時発生したエラーは、メ ディア・マネージャ・ライブラリが初期化できないことを意味します。

NetBackup、Legato および OmniBack II など、多くの sbtinit()と sbtinit2() の実装は、単にメディア管理ライブラリの内部データ構造を初期化するだけです。 そのため、このエラーはほとんど発生しません。 sbtinit()または sbtinit2()が失敗した場合、メディア・マネージャ統合モ ジュールは適切にインストールされません。たとえば、構成ファイルに対するア クセス権が正しく設定されていないことがあります。初期化用のリソースが十分 ではないという別の可能性もあります。

SBTOPEN または SBTBACKUP の失敗

これら 2 つの関数により、RMAN の要求時にバックアップ・ピースが作成され、 メディア・マネージャ・バックアップ・セッションを開始する必要があります。 バックアップ中に sbtopen()または sbtbackup()が失敗すると、メディア・マ ネージャはバックアップ・ピースの作成またはバックアップ・セッションの開始 もできません。 次に、その一般的な失敗の状況を示します。 • PARMS オプションに指定された環境変数が間違っています。たとえば Legato Networker の場合、誤ったメディア・プールが指定された可能性が あります。 • プール、クラス、またはその他のメディア・マネージャ構成エンティティ が Oracle バックアップのために適切に構成されていません。たとえば NetBackup の場合、NB_ORA_CLASS によって指定された"Class"は、Oracle クラスではありません。または Legato Networker の場合、

NSR_DATA_VOLUME_POOL によって指定されたメディア・プールが存在 しません。

• Oracle サーバー・セッションを実行中の UNIX または NT ユーザーが、メ ディア・マネージャ構成内の有効なユーザーではありません。たとえば OmniBack II の場合、Oracle を実行中のユーザーは OmniBack II UserList に含まれている必要があります。 • メディア・マネージャ・サーバー・デーモンが開始されていないため、 メディア・マネージャ・ライブラリから接続できません。

SBTOPEN または SBTRESTORE の失敗

既存のバックアップ・ピースの取得には、sbtopen()および sbtrestore()関 数が使用されます。リストア中に sbtopen()または sbtrestore()関数が失敗 すると、メディア・マネージャは要求されたバックアップ・ピースを見つけるこ とができないか、リストア・セッションを開始できません。

(18)

これらの関数がリストア中に失敗する原因は主に 2 つあります。 • バックアップ・ピースがメディア管理データベース内に存在しません。 たとえば、バックアップが入ったテープがメディア・マネージャ・デー タベースから削除されました。この問題をチェックするもっとも簡単な 方法は、メディア管理データベースからバックアップ・ピースを探すこ とです。 • 要求されたオブジェクトのリストアに必要な権限が、メディア管理ライ ブラリにはありません。このエラーは、各 Oracle インスタンスがその他 のノードと共にバックアップされたデータへアクセスする権限が必要な Real Application Cluster 環境では一般的です。たとえば、クラスタ構成の 最初のノードは、バックアップ・ピースをバックアップします。リスト ア中、2 番目のノードは、メディア・マネージャ・ライブラリに同じバッ クアップ・ピースを要求できます。メディア・マネージャ・デーモンは、 その他のノードとともにバックアップされたバックアップ・ピースのリ ストアをノード 2 に許可しないように構成することができます。

SBTWRITE または SBTREAD の失敗

sbtwrite()および sbtread()関数は、データをOracle サーバー・セッション からメディア・マネージャ・ライブラリへ転送します。バックアップ中に sbtwrite()または sbtread()関数が失敗すると、メディア・マネージャはバッ クアップ・メディア(テープなど)にデータを書き込めません。リストア中に sbtwrite()または sbtwrite2()が失敗すると、メディア・マネージャはバッ クアップ・メディアからデータを読み取れず、sbtread()も失敗します。これら の関数がバックアップ中またはリストア中に失敗する主な原因は次のとおりです。 • バックアップ・メディアの読取り中または書込み中に I/O エラーが発生し た。 • メディア・マネージャ・セッションがメディア・マネージャ・オペレー タにより中断された。 • メディア・マネージャ・ライブラリとメディア・マネージャ・セッショ ン・マネージャ間の通信リンクが壊れた。

(19)

Recovery Manager および Media Manager トラブルシューティング・ガイド 2005 年 7 月

著書: Timothy Chien、Senad Dizdar 寄稿者: Matt Arrocha Oracle Corporation World Headquarters 500 Oracle Parkway Redwood Shores, CA 94065 U.S.A. 海外からのお問合せ窓口: 電話: +1.650.506.7000 ファックス: +1.650.506.7200 www.oracle.com

Copyright © 2005, Oracle. All rights reserved.

この文書はあくまで参考資料であり、掲載されている情報は予告なしに変更されることがあります。 オラクル社は、本ドキュメントの無謬性を保証しません。また、本ドキュメントは、法律で明示的または暗黙的に記載 されているかどうかに関係なく、商品性または特定の目的に対する適合性に関する暗黙の保証や条件を含む一切の保証 または条件に制約されません。オラクル社は、本書の内容に関していかなる保証もいたしません。また、本書により、 契約上の直接的および間接的義務も発生しません。本書は、事前の書面による承諾を得ることなく、電子的または物理 的に、いかなる形式や方法によっても再生または伝送することはできません。

参照

関連したドキュメント

スタンドアロン モードでの Cisco DCNM ISO のインストール 46 ネイティブ HA モードで Cisco DCNM ISO をインストールする 50.. Cisco APIC SE で Cisco DCNM

② 小売電気事業を適正かつ確実に遂行できる見込みがないと認められること、小売供給の業務

本研究の目的は,外部から供給されるNaCIがアルカリシリカ反応によるモルタルの

そこで本解説では,X線CT画像から患者別に骨の有限 要素モデルを作成することが可能な,画像処理と力学解析 の統合ソフトウェアである

仏像に対する知識は、これまでの学校教育では必

の点を 明 らか にす るに は処 理 後の 細菌 内DNA合... に存 在す る

スライダは、Microchip アプリケーション ライブラリ で入手できる mTouch のフレームワークとライブラリ を使って実装できます。 また

この設定では、管理サーバ(Control Center)自体に更新された Windows 用の Dr.Web Agent のコンポ ーネントがダウンロードされませんので、当該 Control Center で管理される全ての Dr.Web