Oracle Database Control リポジトリの再構築手順

1. 既存 SYSMAN シノニムの削除

Enterprise Manager Database Control のリポジトリ再構築前に、前回のインストールや失敗した設定作業によって残留したシノニムが競合を引き起こす場合があります。以下の PL/SQL ブロックを実行し、SYSMAN スキーマを参照するシノニムを安全に除去してください。

SET SERVEROUTPUT ON
DECLARE
  v_drop_stmt VARCHAR2(256);
BEGIN
  FOR rec IN (
    SELECT owner, synonym_name AS syn_name
    FROM dba_synonyms
    WHERE table_owner = 'SYSMAN'
  ) LOOP
    IF rec.owner = 'PUBLIC' THEN
      v_drop_stmt := 'DROP PUBLIC SYNONYM ' || rec.syn_name;
    ELSE
      v_drop_stmt := 'DROP SYNONYM ' || rec.owner || '.' || rec.syn_name;
    END IF;
    
    BEGIN
      EXECUTE IMMEDIATE v_drop_stmt;
    EXCEPTION
      WHEN OTHERS THEN
        NULL; -- エラー発生時は処理を継続
    END;
  END LOOP;
  COMMIT;
END;
/

2. EMCA によるリポジトリ再作成

クリーンアップ完了後、Oracle 提供の EM Configuration Assistant (EMCA) を利用してリポジトリの再構築を行います。単純な作成コマンドでは OC4J コンテナの設定ファイル読み込みエラーが発生するケースがあるため、削除と作成を自動実行する recreate オプションを使用します。

コマンドラインから以下のスクリプトを実行し、対話プロンプトに各環境情報を順に入力してください。

$ORACLE_HOME/bin/emca -config dbcontrol db -repos recreate

入力が必要な項目は以下の通りです。

  • データベース SID: 対象インスタンスの識別子
  • リスナー ポート番号: TNS リスナーの待受ポート(デフォルト: 1521)
  • SYS ユーザーのパスワード: SYSDBA 権限アカウント
  • SYSMAN ユーザーのパスワード: リポジトリ管理用アカウント
  • DBSNMP ユーザーのパスワード: 監視エージェント用アカウント

3. プロセスの実行と確認

コマンド実行後、EMCA が自動でリポジトリのドロップ、スキーマの再構築、設定ファイルの生成、および OMS プロセスの起動を行います。正常終了時のログ出力例は以下のようになります。

INFO: 既存の EM リポジトリを削除しています...
INFO: リポジトリの削除が正常に完了しました。
INFO: EM リポジトリを作成しています (数分かかる場合があります)...
INFO: リポジトリの作成に成功しました。
INFO: 構成データをリポジトリへアップロードしています...
INFO: アップロード処理が完了しました。
INFO: ソフトウェアライブラリの設定を適用しています...
INFO: プロビジョニングプロファイルのデプロイに成功しました。
INFO: Database Control のセキュア接続を設定しています...
INFO: Database Control が正常に起動しました。
INFO: >>>>>>>>>> Database Control のアクセス URL は https://db_host01:1158/em <<<<<<<<<<

処理完了後、コンソールに表示される警告メッセージに従い、emkey.ora ファイルを安全な場所へバックアップしてください。該ファイルの紛失により、メトリクスデータの暗号化復号が不可能となるため、必須の運用手順となります。

タグ: oracle-db-control emca sysman-schema oracle-repository enterprise-manager

5月18日 00:06 投稿