この章では、Oracle Configuration Managerの使用時に起こる可能性のあるエラーをリストし、これらのエラーのトラブルシューティングのヒントを示します。
installCCRSQL collectconfig実行時の権限不足
installCCRSQL.sh
スクリプトを実行すると、ORACLE_OCM
が作成され、データベース構成情報を収集するジョブが設定されます。ORACLE_OCM
ユーザーは、バージョン10g以降のデータベースの場合はUTL_FILE
およびDBMS_SCHEDULER
に対して、10gより前のデータベースの場合はDBMS_JOB
に対してEXECUTE
権限が必要です。これらの権限がPUBLIC
に付与されている場合、ORACLE_OCM
ユーザーはこれらの権限を継承します。付与されていない場合は、installCCRSQL.sh
スクリプトの実行時に明示的に付与されます。継承された権限が取り消された場合、権限の不足を示す次のエラーがalert_log
に記録されます。
ORA-12012: error on auto execute of job 52 ORA-04068: existing state of packages has been discarded ORA-04063: package body "ORACLE_OCM.<package name>" has errors ORA-06508: PL/SQL: could not find program unit being called
これらのエラーを解決するには、不足しているEXECUTE
権限をORACLE_OCM
ユーザーに付与する必要があります。
バージョン10g以降のデータベースの場合、次のSQL*PLUS
コマンドを使用して、UTL_FILE
およびDBMS_SCHEDULER
パッケージに対するEXECUTE
権限をORACLE_OCM
ユーザーに付与します。
SQL> grant execute on UTL_FILE to oracle_ocm; SQL> grant execute on DBMS_SCHEDULER to oracle_ocm; SQL> ALTER PACKAGE oracle_ocm.MGMT_DB_LL_METRICS compile; SQL> ALTER PACKAGE oracle_ocm.mgmt_config compile;
10gより前のデータベースの場合、次の SQL*PLUS
コマンドを使用して、DBMS_JOB
パッケージに対するEXECUTE
権限をORACLE_OCM
ユーザーに付与します。
SQL> grant execute on UTL_FILE to oracle_ocm; SQL> grant execute on DBMS_JOB to oracle_ocm; SQL> ALTER PACKAGE oracle_ocm.MGMT_DB_LL_METRICS compile; SQL> ALTER PACKAGE oracle_ocm.mgmt_config compile;
ORA-04021エラー
インストール時に必要な権限をORACLE_OCM
ユーザーに付与する必要がある場合があります。権限の付与時、次のエラーがOCM_INSTALL_ROOT/ccr/log/collectconfig<SID>.log
に記録される場合があります。
ORA-04021: timeout occurred while waiting to lock object SYS.<package like UTL_FILE
このエラーは、権限の付与対象のパッケージを別のプロシージャが使用している場合に起こることがあります。このエラーを解決するには、パッケージが使用されていないときにインストールを再試行します。このエラーは、権限をUTL_FILE
、DBMS_SCHEDULER
またはDBMS_JOB
に付与しているときに起こることがあります。
installCCRSQLの実行時のORA-01925エラー
このエラーは、MAX_ENABLED_ROLES
初期化パラメータの値を超えている場合に起こることがあります。このエラーを解決するには、次のようにしてMAX_ENABLED_ROLES
パラメータの値を増やし、データベースを再起動します。
init
<sid
>.ora
ファイル(<sid
>はデータベース・システム識別子)を編集し、MAX_ENABLED_ROLES
の値を増やします。サーバー・パラメータ(spfile)を使用している場合、次のSQL*Plusコマンドを使用してMAX_ENABLED_ROLES
パラメータを変更します。
SQL>alter system set MAX_ENABLED_ROLES=<value> scope=spfile
データベースを再起動します。
データベースの再起動後、installCCRSQL.sh
スクリプトを再度実行します。
不正に構成されたホスト名は短縮名のみがMetaLinkに表示されます。
ホスト名が完全修飾名でMetaLinkに表示されるようにするには、ホスト名とドメインの両方が次の書式で含まれるエントリを/etc/hosts
ファイルに含めます。
<IP-Address> <Full-HostName> <Short-HostName>
次に例を示します。
10.10.10.10 myhost.mydomain myhost
/etc/hosts
ファイルが正しく構成されていない場合、短縮名のみがMetaLinkに表示されます。
Oracle Configuration Managerの同期化メッセージ: Oracle Configuration Managerでは複数のコマンドを同時に実行できません。これを試行すると、次のメッセージが表示されます。
メッセージ: 他の操作が進行中です。お待ちください...
説明: いくつかのOracle Configuration Managerコマンドは同時に実行できません。これらのコマンドの1つを別のコマンドの進行中に実行しようとすると、最初のコマンドが完了するまで2番目のコマンドは実行されません。別のコマンドが進行中であることを示すメッセージが表示されます。2番目のコマンドは、最初のコマンドが完了すると、自動的に実行されます。
コマンド: emCCR
collect
、emCCR
getupdates
、emCCR
update_components
およびemCCR
upload
処理: さしあたっての処理は必要ありません。最初のコマンドが完了すると、2番目のコマンドが実行されます。しかし、コマンドの実行に時間がかかる場合、タイムアウトが起こります。タイムアウトが起きた場合は、emCCR
stop
コマンドを実行して、Oracle Configuration Managerアクティビティがないことを確認します。ccr/state/collector
.lock
ファイルを削除し、emCCR
start
コマンドを実行してスケジューラを再起動します。コマンドを非接続モードで実行している場合は、収集または更新が行われていないことを確認してから、ccr/state/collector
.lock
ファイルを削除します。
メッセージ: 操作がブロックされました。待機中です...
説明: 別のemCCR
コマンドが実行されている場合、emCCR update_components
コマンドは実行できません。コマンドを実行しようとすると、ブロックされます。また、emCCR
update_components
の実行中は他のすべてのemCCR
コマンドはブロックされるため、実行できません。
コマンド: configCCR
および大半のemCCR
処理: さしあたっての処理は必要ありません。現在のコマンドが完了すると、コマンドが実行されます。タイムアウトが起きた場合は、emCCR
stop
を実行して、Oracle Configuration Managerアクティビティがないことを確認します。ccr/state/semaphore
.op
*およびccr/state/semaphore
.update
*ファイルを削除し、emCCR
start
を実行してOracle Configuration Managerを再起動します。コマンドを非接続モードで実行している場合、収集または更新が行われていないことを確認し、ccr/state/semaphore
.op
*およびccr/state/semaphore
.update
*ファイルを削除します。
メッセージ: スケジューラはアップグレード用に停止中です。
説明: Oracle Configuration Managerのアップグレード中はemCCR
コマンドを実行できません。
コマンド: すべてのemCCR
コマンド
処理: 後でコマンドを再試行します。