5.4.8 非同期ジョブの修復

非同期の比較を修復するには

ナビゲーション・ペインの「ジョブのモニター」をクリックし、「完了したジョブ」タブをクリックします。

リストのジョブ名をクリックして、ジョブのサマリーを表示します。
  • 「その他のアクション」をクリックし、「修復」をクリックします。
  • 個々の比較ペアを修復するには、リスト内の比較ペア名をクリックして「比較ペアの詳細」ページを開き、「修復」をクリックします。
Oracle GoldenGate Veridataでは、次のデータベースで主キーのない表の重複レコードの修復ができます: Oracle、MySQLおよびMSSQL。非同期ジョブの詳細ページが表示されます。

ノート:

表に重複レコードがある場合は、比較ペアでシステム生成のマッピングを使用することをお薦めします。ユーザー定義マッピングを使用する場合は、ユーザー定義の列マッピングに一意のデータセットがあることを確認してください。行にスキップ・ステータスのアイコンがある場合、その行は修復で無視されます。
「修復ジョブ」ページには、すべての修復ジョブのサマリーが表示されます。このページの「フィルタ」を使用して、古い修復ジョブを表示したり、修復ステータスおよびジョブ名で修復ジョブをフィルタできます。有効な修復ステータスは次のとおりです:
  • 保留中
  • 実行中
  • 非同期
  • 成功
  • 失敗
  • 警告
  • 取消

5.4.8.1 非同期レコードのSQL文のダウンロード

Oracle GoldenGate Veridataには、Veridata修復の一部として生成されたSQL問合せを表示する修復SQLのダウンロード機能が用意されています。SQL問合せのダウンロードは、OracleまたはSQL Serverのいずれかがターゲット・データベースとして使用されている場合にのみ有効になります。

これらのSQL文は、Oracle GoldenGate Veridataによってターゲット・データベースに対して実行される前に表示したり、他のデータベース・ツールでユーザーが実行できます。修復SQLのダウンロード機能を使用すると、すべての非同期レコードのSQL文をダウンロードでき、必要に応じて実行することもできます。SQL問合せをダウンロードするには:
  1. 「終了したジョブ」ページから、非同期比較を選択します。
    SQL文をダウンロードするジョブ、グループおよびペアを選択できます。
  2. 非同期データのSQL問合せをダウンロードするには、終了したジョブからジョブを選択し、修復SQLのダウンロードをクリックします。
    修復SQLのダウンロードボタンは、修復アクセス機能にアクセスできるユーザーに対してのみ有効になります。
    SQLファイルは、アプリケーションが使用されているブラウザにダウンロードされます。

    修復SQLのダウンロードをクリックすると、ファイルがブラウザにダウンロードされます。

レコードがすでに修復されている場合、そのレコードのチェック・ボックスは修復日時に置き換えられます。それらのレコードは、SQL文のダウンロードには使用できません。

5.4.8.1.1 SQLファイルの実行

SQLファイルを実行するには、次の手順に従います。
  1. 修復SQLのダウンロードをクリックすると、SQLファイルが生成されます。このzipをターゲット・システムにコピーします。ターゲットOracle DBへのアクセスを有効にするには、ターゲット・データベースで次の問合せを実行します。これは1回かぎりの操作です。
    CREATE OR REPLACE DIRECTORY VDT_LOB_DIR AS '<path of lob files>';
    たとえば:
    CREATE OR REPLACE DIRECTORY VDT_LOB_DIR AS '/scratch/lobs';
    説明:
    /scratch/lobsは、生成されたSQLファイルおよびLOBファイルのコピー先となるターゲット・システム上のパスです。DBプロンプトからSQLスクリプトが実行された場合、LOBファイルは/scratch/lobsから読み取られます
  2. zipファイルを解凍します。
    LOBファイルは、表にBLOBデータ型があり、CLOB/NCLOBの大量のデータがある場合にのみ生成されます。
    ディレクトリは次のように作成されます。
    <JobName><Timestamp>
    • <GroupName>
      • SQLファイル(形式 – <ComparePairName>.sql)
      • LOBファイル(形式 - <TableName>_<ColumnName>_<Timestamp>.lob)
    • <Group2>
      • SQLファイル
      • LOBファイル

    o SQLファイル(形式 – <ComparePairName>.sql)

    o LOBファイル(形式 - <TableName>_<ColumnName>_<Timestamp>.lob)

  3. SQLファイルおよびLOBファイルをVDT_LOB_DIRにコピーします。ただし、sqlファイルをVDT_LOB_DIRにコピーすることは必須ではありません。ただし、VDT_LOB_DIRにはLOBファイルが必要です。
  4. データにマルチバイト文字が含まれる場合は、DBターミナルを起動する前にNLS_LANG環境変数が設定されていることを確認します。
    Linuxの場合:
    1. Bourne/Bashシェル
      • export NLS_LANG=<NLS_LANGUAGE>_<NLS_TERRITORY>.<NLS_CHARACTERSET>

        たとえば、export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

    2. C/TCSHシェル
      • setenv NLS_LANG <NLS_LANGUAGE>_<NLS_TERRITORY>.<NLS_CHARACTERSET>

        たとえば、setenv NLS_LANG AMERICAN_AMERICA.AL32UTF8

    Windowsの場合:
    • システム変数にNLS_LANGを設定します。値は<NLS_LANGUAGE>_<NLS_TERRITORY>.<NLS_CHARACTERSET>である必要があります。

      たとえば: AMERICAN_AMERICA.AL32UTF8

    ノート: NLS_LANGの設定後にDBターミナルを起動します。
  5. DBターミナルにログインして、SQLファイルを実行します(SQL> @<sqlファイル>)。たとえば、SQL> @VeridataRepair.sqlなどです。入力を求められた場合は、NLS_CHARACTERSETの値を入力します。

    ノート:

    SQLファイルがDBターミナルを開いている場所と異なる場所にある場合は、実行時にSQLファイルの完全パスを指定します。たとえば、SQL> @/Home/User/filename.sqlなどです。