Exascaleインフラストラクチャ・システムでのOracle Exadata Database Serviceのトラブルシューティング

これらのトピックでは、発生する可能性がある一般的な問題とその対処方法について説明します。

Oracle Exadata Database Service on Exascale Infrastructureの既知の問題

一般的な既知の問題。

Oracle管理対象データベース・ソフトウェアの更新に関する問題のトラブルシューティング

Oracle Managed Database Software Updatesに登録されているデータベース内の問題を特定して解決する方法について学習します。

Oracle Managed Database Software Updatesに登録されたデータベースには、更新前の定期的な準備状況チェックがあります。

次の表に、すべての問題とその解決方法を示します。

表6-27準備状況チェック

名前 説明 対象リソース 推奨されるソリューション
Sudoアクセス sudoアクセス権がありません 仮想マシン sudo権限を持つユーザーでログインしてから、usermodコマンドを使用して、指定したユーザーにsudoアクセス権を付与します。
UIDが正しくありません ユーザー'username'のUIDが正しくありません 仮想マシン usermodコマンドを使用して、指定したユーザーのUIDを設定します。
正しくないumask ユーザー'username'のumaskが正しくありません 仮想マシン ユーザーの~/.bash_profileにumask値を追加または更新し、ファイルを保存してから、source ~/.bash_profileを実行して変更を適用します。
不適切な所有権 必要なディレクトリ/tmpの所有権が正しくありません 仮想マシン 所有者が<dir_owner>であるディレクトリ/tmp、グループ<group_owner>および<minimum/exact>権限<permission>が影響を受ける<resource_type>に存在するかどうかを確認します。
不適切な所有権 必要なディレクトリ/tmpに不正なグループ所有権があります 仮想マシン 所有者が<dir_owner>であるディレクトリ/tmp、グループ<group_owner>および<minimum/exact>権限<permission>が影響を受ける<resource_type>に存在するかどうかを確認します。
不適切な所有権 必要なファイル<file_full_path>の所有権が正しくありません 仮想マシン ファイル<file_full_path> の所有者が<file_owner>で、グループ<group_owner>および<minimum/exact>権限<permission>が影響を受ける<resource_type>に存在するかどうかを確認します。
不適切な所有権 必要なファイル<file_full_path>に不正なグループ所有権があります 仮想マシン ファイル<file_full_path> の所有者が<file_owner>で、グループ<group_owner>および<minimum/exact>権限<permission>が影響を受ける<resource_type>に存在するかどうかを確認します。
権限が不適切です 必要なディレクトリ<dir_full_path>に不正な権限があります 仮想マシン 所有者が<dir_owner>であるディレクトリ<dir_full_path> 、グループ<group_owner>および<minimum/exact>権限<permission>が影響を受ける<resource_type>に存在するかどうかを確認します。
ファイルシステムの空き領域が不足しています '<dir_name>'ディレクトリ内の使用可能な領域は'1.95 GiB'です。必要な最小空き領域は'2.00 GiB'です。 仮想マシン ディレクトリ<dir_name>の空き領域が<minimum_dir_space>以上であることを確認します。最小空き領域要件を満たすために、より多くの領域を解放します。
ファイルがありません 必要なファイル<file_full_path>がありません 仮想マシン ファイル<file_full_path> の所有者が<file_owner>で、グループ<group_owner>および<minimum/exact>権限<permission>が影響を受ける<resource_type>に存在するかどうかを確認します。
パスワードなしSSH接続が失敗しました ユーザー'username'にはパスワードなしのSSH接続がありません 仮想マシン ユーザー<username>に、すべてのノードへのパスワードなしのSSH接続があることを確認します。
バージョン・チェック 実行可能ファイルの'java'バージョンが予期されたバージョンを下回っています 仮想マシン 実行可能ファイル'java'には、'2.8.*'以上のバージョンが必要です。
ディレクトリがありません 必要なディレクトリ/tmpがありません 仮想マシン 所有者が<dir_owner>のディレクトリ/tmp、グループ<group_owner>および<minimum/exact>権限<permission>が影響を受ける<resource_type>に存在するかどうかを確認します。
ユーザーが存在しません ユーザー'username'は存在しません 仮想マシン ユーザ <username>がすべてのノードに存在することを確認します。ない場合は、そのノードにユーザーを作成します。
権限が不十分です 必要なディレクトリ<dir_full_path>に不正な権限があります 仮想マシン 所有者が<directory_owner>のディレクトリ<directory_full_path>、グループ<group_owner>および<minimum/exact>権限<permission>が影響を受ける<resource_type>に存在するかどうかを確認します。
内部問題 Oracleオペレーションによって調査される内部問題 データベース 顧客のアクションは必要ありません。
オンライン・データベース・インスタンス数のチェック ローリング更新との互換性を確保するために、データベースが複数のノードで実行されているかどうかを確認します。 データベース ローリング・パッチ適用をサポートするために、データベースが複数のノードで実行されていることを確認してください。
Oracle Network Servicesの構成チェック Oracle Databaseホーム・ディレクトリのファイルに、必要な権限、所有者およびグループがあるかどうかを確認します。 データベース

Oracle Network Services構成ファイル(listener.ora、tnsnames.oraおよびsqlnet.ora)を確認して修正します。各ファイルに適切な構文、正しいホスト、ポートおよびサービス名があり、Oracleの構成標準に準拠していることを確認します。必要な修正を行った後、リスナーを再起動し、接続をテストして、ネットワーク・サービスが適切に機能することを確認します。詳細は、https://docs.oracle.com/en/error-help/db/index.htmlを参照してください。

ソフトウェア・ホームのチェック Oracle Database Homeディレクトリのファイルに、必要な権限、所有者およびグループがあるかどうかを確認します。 データベース Oracle Database Homeディレクトリ内のすべてのファイルに、正しい権限、所有者およびグループが割り当てられていることを確認します。詳細は、https://docs.oracle.com/en/error-help/db/index.htmlを参照してください。
データベース・バックアップ・ジョブのチェック RMANジョブがデータベースで実行されていないことを確認します。 データベース RMANジョブが実行されていない場合は、データベースにパッチを適用することを検討してください。詳細は、MOSドキュメントID 2975965.1を参照してください。
中央インベントリの確認 中央インベントリが正しく定義されており、それにOracleホームが登録されていることを確認します データベース 中央インベントリが正しく定義されており、それにOracleホームが登録されていることを確認します。詳細は、MOSドキュメントID 2975965.1を参照してください。
システム公開付与のチェック ディクショナリ・オブジェクトに対する必要な権限がデータベースPUBLICユーザー・グループに付与されていることを確認します。 データベース リストされたディクショナリ・オブジェクトのEXECUTE権限をPUBLICユーザー・グループに付与します。詳細は、MOS Note 247093.1を参照してください。
Oracle Databaseキーストアのチェック Oracle Databaseキーストアが開いていることを確認します データベース データベースがOracleホームでオープンされたら、Oracle Databaseキーストアを開きます。詳細は、MOSドキュメントID 2975965.1を参照してください。
Oracle Database Vaultチェック Oracle Database Vaultが有効であり、DV_PATCH_ADMINロールがSYSユーザーに付与されていることを確認します。 データベース

Database Vault (DV)管理者としてログインし、CDB$ROOTに'container=all'句を指定してDV_PATCH_ADMINロールをSYSに付与します。

非CDBまたは単一のPDBの場合は、Database Vault (DV)管理者としてログインし、DV_PATCH_ADMINロールをSYSに付与します。

問合せ可能なインベントリDBAディレクトリ・チェック Oracleディレクトリ・オブジェクトがアクセス可能であり、問合せ可能であることを確認します。 データベース 問合せ可能なパッチ・インベントリで使用されるディレクトリが正しく定義され、ORACLE HOMEに対して相対的であることを確認します。物理パスとディレクトリオブジェクトの両方をチェックし、必要に応じて作成または修正します。詳細は、MOS Note 1602089.1を参照してください。
問合せ可能在庫外部表チェック opatch_xml_inv表を問い合せることができることを確認します。 データベース 環境内で外部表が正しく動作することを確認します。詳細については、MOS Note 1602089.1を参照してください。
問合せ可能な在庫ロック・チェック ORA$QP_CONTROL_LOCKロックが割り当てられていないことを確認して、インベントリが問合せ可能かどうかを確認します データベース datapatchを実行する前に、ロックORA$QP_CONTROL_LOCKを解放します。詳細は、MOSドキュメントID 2975965.1を参照してください。
問合せ可能在庫パッケージ・チェック 問合せ可能なインベントリ・パッケージは、OPatchインベントリ情報を取得できません。 データベース パッチ適用の前に問合せ可能インベントリ・パッケージを検証する方法の詳細は、MOSノート1602089.1を参照してください。
oracleホーム・パス・チェックのシンボリック・リンク BFILEデータ型、UTL_FILEパッケージまたは外部表で使用されるディレクトリ・オブジェクト・パスにシンボリック・リンクが存在するかどうかを確認します。 データベース ディレクトリ・オブジェクトを再作成して、ディレクトリ・パスからシンボリック・リンクを削除します。パッチ適用前にシンボリック・リンクを含むパスを識別するには、OSコマンドを使用します。詳細は、MOSドキュメントID 2975965.1を参照してください。
一時表領域のステータス・チェック 一時表領域にパッチ適用のための十分な領域があることを確認します。 データベース パッチ適用に十分な表領域があることを確認してください。最小推奨領域は2GBです。詳細は、MOSドキュメントID 2975965.1を参照してください。
一時ファイル存在チェック デフォルトの一時表領域に少なくとも1つの一時ファイルが関連付けられていることを確認します。 データベース 示された一時表領域に少なくとも1つの一時ファイルを追加します。
一時ファイルのオンライン・チェック デフォルトの一時表領域または表領域グループに、少なくとも1つのオンライン一時ファイルが含まれていることを確認します。 データベース デフォルトの一時表領域または一時表領域グループでは、1つ以上の一時ファイルをオンラインにします。

Oracle Data Guardのトラブルシューティング

Oracle Data Guardの問題の特定および解決について学習します。

Oracle Data Guardをトラブルシューティングする場合、Data Guardの設定および初期化中に問題が発生したか、Data Guardの操作中(ライフサイクル・コマンドの入力時)に問題が発生したかを最初に特定する必要があります。問題を識別および解決するステップは、それらが使用されるシナリオによって異なります。

ライフサイクル操作には、スイッチオーバー、フェイルオーバーおよび回復の3つがあります。Data Guard Brokerは、これらのすべてのコマンドで使用されます。ブローカ・コマンドライン・インタフェース(dgmgrl)は、問題の識別およびトラブルシューティングに使用されるメイン・ツールです。ログ・ファイルを使用して根本原因を識別することもできますが、dgmgrlを使用すると、より迅速かつ簡単に問題をチェックして識別できます。

Data Guardの設定および有効化には複数のステップが含まれます。ログ・ファイルはステップごとに作成されます。いずれかのステップが失敗した場合は、関連するログ・ファイルを確認し、問題を特定して修正します。

  • プライマリ・クラウドVMクラスタおよびデータベースの検証
  • スタンバイ・クラウドVMクラスタの検証
  • ファイルの再作成およびスタンバイ・データベースへのコピー(パスワード・ファイルおよびウォレット)
  • ネットワークを介したData Guardの作成(RMAN Duplicateコマンド)
  • Data Guard Brokerの構成
  • 設定の完了

ログ・ファイルを使用したData Guardのトラブルシューティング

問題の識別に使用するツールおよび関連するログ・ファイルの場所は、それらが使用されるシナリオによって異なります。

次の手順を使用して、関連するログ・ファイルを収集し、問題を調査します。ログ・ファイルを調査しても問題を解決できない場合は、My Oracle Supportに連絡してください。

ノート

収集したファイルをOracleサポート用に準備する場合は、ZIPファイルなどの圧縮アーカイブにバンドルしてください。

Data Guard構成に関連付けられている各コンピュート・ノードで、発生した問題に関連するログ・ファイルを収集します。

  • 有効化ステージのログ・ファイル(スタンバイ・データベースの作成操作のドキュメントなど)および対応するプライマリまたはスタンバイ・システムのログ。
  • 有効化ジョブIDのログ・ファイル。例: 23
  • 有効化ステージおよびExadataシステム(プライマリまたはスタンバイ)別の有効化ログ・ファイルの場所。
  • データベース名のログ・ファイル(ファイル・パスに応じてdb_name またはdb_unique_name)。
ノート

対応するプライマリおよびスタンバイExadataシステムのすべてのノードをチェックしてください。システムで実行されたコマンドは、そのノードのいずれかで実行された可能性があります。

Data Guard Deployer (DGdeployer)は、構成を実行するプロセスです。プライマリ・データベースを構成すると、/var/opt/oracle/log/<dbname>/dgdeployer/dgdeployer.logファイルが作成されます。

このログには、プライマリ・データベースの構成に失敗した根本原因が含まれています。

  • dbaasapiコマンドライン・ユーティリティのプライマリ・ログは、/var/opt/oracle/log/dbaasapi/db/dg/<job_ID>.logです。dg_apiを含むエントリを検索します。
  • dbaasapiコマンドライン・ユーティリティのスタンバイ・ログの1つは、/var/opt/oracle/log/dbaasapi/db/dg/<job_ID>.logです。このログで、dg_apiを含むエントリを検索します。
  • もう1つのスタンバイ・ログは、/var/opt/oracle/log/<dbname>/dgcc/dgcc.logです。このログはData Guard構成ログです。
  • Oracle Cloud Deployment Engine (ODCE)は、/var/opt/oracle/log/<dbname>/ocde/ocde.logファイルを作成します。このログには、スタンバイ・データベースの作成に失敗した原因が含まれています。
  • dbaasapiコマンドライン・ユーティリティは、var/opt/oracle/log/dbaasapi/db/dg/<job_ID>.logファイルを作成します。dg_apiを含むエントリを検索します。
  • Data Guard構成ログ・ファイルは、/var/opt/oracle/log/<dbname>/dgcc/dgcc.logです。
  • DGdeployerは、構成を実行するプロセスです。/var/opt/oracle/log/<dbname>/dgdeployer/dgdeployer.logファイルを作成します。このログには、スタンバイ・データベースの構成に失敗した根本原因が含まれています。
  • dbaasapiコマンドライン・ユーティリティは、/var/opt/oracle/log/dbaasapi/db/dg/<job_ID>.logファイルを作成します。dg_apiを含むエントリを検索します。
  • Data Guard構成ログは、/var/opt/oracle/log/<dbname>/dgcc/dgcc.logです。

DGdeployerは、構成を実行するプロセスです。Data Guardの構成中に、/var/opt/oracle/log/<dbname>/dgdeployer/dgdeployer.logファイルが作成されます。このログには、プライマリ・データベースの構成に失敗した根本原因が含まれています。

プライマリ・サイトおよびスタンバイ・サイトの各ノードで、関連するデータベース名(db_name)のログ・ファイルを収集します。

ノート

プライマリとスタンバイ両方のExadataシステムのすべてのノードをチェックしてください。ライフサイクル管理操作は、プライマリ・システムとスタンバイ・システムの両方に影響する可能性があります。
  • データベース・アラート・ログ: /u02/app/oracle/diag/rdbms/<dbname>/<dbinstance>/trace/alert_<dbinstance>.log
  • Data Guard Brokerログ: /u02/app/oracle/diag/rdbms/<dbname>/<dbinstance>/trace/drc<dbinstance>.log
  • Data Guardのクラウド・ツール・ログ・ファイル: /var/opt/oracle/log/<dbname>/odg/odg.log

Data Guard設定プロセスのトラブルシューティング

Data Guard設定プロセスの様々なステップで発生する可能性があるエラーをレビューします。一部のエラーはコンソール内に表示されますが、根本原因のほとんどはログ・ファイルで確認できます

Data Guardを有効にするために入力したパスワードがSYSユーザーのプライマリ管理パスワードと一致しませんでした。このエラーは、有効化のプライマリの検証ステージ中に発生します。

データベースが稼働していない可能性があります。このエラーは、有効化のプライマリの検証ステージ中に発生します。ホストでsrvctlおよびsqlを使用してチェックし、データベースがすべてのノードで稼働していることを確認してください。

プライマリ・データベースを構成できませんでした。Data Guardコマンドが無効であるか、リスナーの再構成に失敗したことが、このエラーの原因となっている可能性があります。

TDEウォレットを作成できませんでした。Oracle Transparent Database Encryption (TDE)キーストア(ウォレット)ファイルをスタンバイ・サイトに転送する準備ができませんでした。このエラーは、有効化のTDEウォレットの作成ステージ中に発生します。次のいずれかの項目が、このステージで失敗する原因となっている可能性があります:

  • TDEウォレット・ファイルにアクセスできませんでした
  • 有効化コマンドでウォレット・ファイルを含むアーカイブを作成できませんでした

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

  1. クラスタがアクセス可能であることを確認します。クラスタのステータスをチェックするには、次のコマンドを実行します:
    crsctl check cluster -all
  2. クラスタが停止している場合は、次のコマンドを実行して再起動します:
    crsctl start crs -wait
  3. クラスタがアクセス可能なときにこのエラーが発生する場合は、TDEウォレットの作成(有効化ステージ)のログをチェックして、エラーの原因と解決策を確認します。

TDEウォレットを含むアーカイブがスタンバイ・サイトに転送されなかった可能性があります。通常、再試行すると問題が解決します。

  • スタンバイ・データベースを構成するためにプライマリ・サイトとスタンバイ・サイトが相互に通信できない可能性があります。これらのエラーは、有効化のスタンバイ・データベースの構成ステージ中に発生します。このステージでは、プライマリ・データベースのRMAN複製を含め、スタンバイ・データベースで構成が実行されます。この問題を解決するには:
    1. プライマリ・サイトとスタンバイ・サイトの接続ステータスを確認します。
    2. ホストがポート1521からすべてのポートと通信できることを確認します。ネットワーク・セキュリティ・グループ(NSG)、ネットワーク・セキュリティ・リストおよびリモートVCNピアリング設定(該当する場合)を含むネットワーク設定をチェックします。ホストと他のノードの間の通信をテストする最善の方法は、SQL*PLUSを使用してプライマリからスタンバイに向けて、またスタンバイからプライマリに向けてデータベースにアクセスすることです。
  • SCAN VIPまたはリスナーが実行されていない可能性があります。前述のテストを使用して、問題を識別してください。

考えられる原因:

  • SCAN VIPまたはリスナーが実行されていない可能性があります。この問題を確認するには、任意のクラスタ・ノードで次のコマンドを使用します。
    • [grid@exa1-****** ~]$ srvctl status
                  scan
    • [grid@exa1-****** ~]$ srvctl status
                    scan_listener
  • データベースに到達できない可能性があります。この問題を確認するには、既存のOracle Net別名を使用して接続を試みます。

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

  1. Oracle OSユーザーとして、コンテナ・データベース(CDB)についてOracle Net別名の存在をチェックします。$ORACLE_HOME/network/admin/<dbname>/tnsnames.oraで別名を検索します。

    次の例は、db12cという名前のコンテナ・データベースのエントリを示しています:

    cat $ORACLE_HOME/network/admin/db12c/tnsnames.ora 
    DB12C = (DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = exa1-*****-scan.********.******.******.com)(PORT = 1521)) 
    (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = db12c.********.******.******.com) 
    (FAILOVER_MODE = (TYPE = select) (METHOD = basic))))
  2. 別名を使用してデータベースに接続できることを確認します。たとえば、sysdbaとして、次のコマンドを入力します:
    sqlplus sys@db12c

このエラーの考えられる原因は、データベースとTDEウォレットのOracle Database sysまたはsystemユーザー・パスワードが同じでない可能性があることです。パスワードを比較するには:

  1. sysユーザーとしてデータベースに接続し、次でTDEステータスをチェックします
    V$ENCRYPTION_WALLET
    .
  2. systemユーザーとしてデータベースに接続し、次でTDEステータスをチェックします
    V$ENCRYPTION_WALLET
    .
  3. 該当するパスワードを更新して一致させます。opcとしてシステム・ホストにログオンし、次のコマンドを実行します:
    1. SYSパスワードを変更するには:
      sudo dbaascli database changepassword --dbname <database_name>
    2. TDEウォレット・パスワードを変更するには:
      sudo dbaascli tde changepassword --dbname <database_name>

スイッチオーバー、フェイルオーバーおよび回復コマンドを実行したときに、複数のエラー・メッセージが表示されることがあります。これらのエラー・メッセージについては、Oracle Databaseのドキュメントを参照してください。

ノート

Oracleでは、Data Guard Brokerコマンドライン・インタフェース(dgmgrl)を使用して構成を検証することをお薦めします。

  1. Oracleユーザーとして、dgmgrlを使用してプライマリ・データベースまたはスタンバイ・データベースに接続し、構成とデータベースを確認します:
    dgmgrl sys/<pwd>@<database>
    DGMGRL> VALIDATE CONFIGURATION VERBOSE
    DGMGRL> VALIDATE DATABASE VERBOSE <PRIMARY>
    DGMGRL> VALIDATE DATABASE VERBOSE <STANDBY>
  2. Oracle Databaseのドキュメントを参照して、それぞれのエラー・メッセージをチェックします。例:
    • ORA-16766: REDO Applyが停止しています。
    • ORA-16853: 適用ラグが指定されたしきい値を超えました。
    • ORA-16664: メンバーから結果を受信できません(スタンバイ・データベース)。
    • ORA-12541: TNS: リスナーがありません(プライマリ・データベース)

追加のサポートが必要な場合

このトピックの情報を使用して問題を解決できなかった場合は、次の手順に従って、関連するデータベースおよび診断情報を収集します。この情報を収集したら、Oracleサポートに連絡してください。

関連トピック

クラウド・ツールのログの収集

関連するログ・ファイルを使用して、特定の問題の詳細な調査および解決のためにOracleサポートを支援できます。

DBAASCLIログ

/var/opt/oracle/log/dbaascli
  • dbaascli.log

Oracle Diagnosticsの収集

関連するOracle診断情報およびログを収集するには、dbaascli diag collectコマンドを実行します。

このユーティリティの使用方法の詳細は、DBAASツール: dbaascliを使用したクラウド・ツール・ログの収集およびクラウド・ツールのヘルス・チェックの実行を参照してください。