KNOWLEDGE

コーソルの技術情報

コーソルでは経験豊かなエンジニアが、Oracle Databaseに関するお役立ち情報を発信しています。
データベースのチューニングや設定にお役立ていただけます。

【Oracle版】Toadを使ったテーブルデータ差分チェック/修正の自動化

■概要
 データベースレプリケーション製品などを使用して、テーブルの同期処理を行っている環境でソースとターゲットで差異がないかをDBAが実施されている環境もあるかと思います。Toadの機能であるAutomation Designerを利用すればテーブルデータの差分チェックを自動化し、差分の修復も自動化することが可能です。

■利用可能エディション
 Toad for Oracle Xpert Edition
 Toad for Oracle Developer Edition
 Toad for Oracle DBA Edition
 Toad for Oracle DBA RAC Edition
 Toad for Oracle DBA Exadata Edition
 Toad for Oracle Base Edition + Toad DB Admin Module
 Toad for Oracle Professional Edition + Toad DB Admin Module

■利用手順
 1) Toadトップ画面から『Automation Designer』ボタンをクリックする。

 2) Automation Designerが起動したら『Create new app』ボタンを押下する。

 3) App1が作成されるので、App1をクリックしタスク処理を作成する。ここではまず分岐処理を入れたいのでControlタブをクリックする。

 4) 分岐処理のアイコンをクリックし、その下の赤枠の中でもう一度クリックする。

 5) 次にDBに接続できるか確認するため、TNS Pingの処理を追加する。『Utilities』タブの『TNP Ping』アイコンをクリックする。

 6) TNS Pingを実行する箇所に代入する。ここではTNS Pingの結果により処理を条件分岐させたいので、Ifの行をクリックしTNS Ping処理を代入する。

画像に alt 属性が指定されていません。ファイル名: 2023-03-09_17h32_24-1024x747.png

 7) TNS Pingが成功した場合の内容をThenに代入する。『DB Misc』タブから『Compare Multiple Tables』アイコンをクリックした後、Thenの行をクリックしCompare Multiple Tables処理を代入する。

 8) Compare Multiple Tables処理の結果をEメール通知するため、ThenにEmail処理を追加する。

 9) TNS Ping処理が失敗した際にも、Eメール通知で知らせるようにEmail処理をElseに追加する。

 10) 一通り各処理が配置できたら、処理ごとの設定を行う。まずは、TNS Ping1をダブルクリックする。

 11) サーバーへの接続情報を入力し『Run』ボタンを押下する。ここでは簡易接続形式で記載する。

 12) 正常に接続が行われると以下のメッセージが出力される。

 13) 次にCompare Multiple Tables処理をダブルクリックする。

 14) Compare and Sync Multiple TablesポップアップのChoose Schemas画面が表示されるので、ソースの接続情報(①)とスキーマ情報(②)、ターゲットの接続情報(③)とスキーマ情報(④)を選択し、『Next』ボタン(⑤)を押下する。

 15) Choose Tables画面が選択される。ソースとターゲットのスキーマに同じテーブルがあると自動で組み合わせが表示されるため、比較対象のテーブルにチェックを入れ(⑥)、『Next』ボタン(⑦)を押下する。

 16) Choose Output画面が表示される。Synchronizationの選択でテーブルデータの差異がみつかった場合のアクションを選択する。ここでは自動同期のSyncronize target tables immediately(⑧)を選択する(自動同期しない場合はDo not synchronize. Report only.を選択する)。また、結果をレポートする場合には、Reportingの各レポートにチェックを入れ、出力パスを入力する(⑨)。

 17) Compare and Sync画面が表示される。内容が正しいことを確認して『Apply』ボタン(⑪)を押下したのち、『Cancel』ボタン(⑫)を押下する。

 18) Email1をダブルクリックする。

 19) To: Cc: Bcc:(⑬)にメールを送付する宛先を入力し、 From:(⑭)に送信元アドレスを入力、Subject: Message:(⑮)に件名とメッセージを入力し、Attachmentに16)で指定したレポートのファイルパスを入力、SMTP Server: Port: Username: Password:(⑯)にSMTPサーバーの情報を入力し、『Apply』ボタン(⑱)を押下したのち、『Cancel』ボタン(⑲)を押下する。

 20) Email2をダブルクリックする。

 21) To: Cc: Bcc:(⑲)にメールを送付する宛先を入力し、 From:(⑳)に送信元アドレスを入力、Subject: Message:(㉑)に件名とメッセージを入力し、SMTP Server: Port: Username: Password:(㉒)にSMTPサーバーの情報を入力し、『Apply』ボタン(㉓)を押下したのち、『Cancel』ボタン(㉔)を押下する。

 22) App1の設定が完了したら、自動実行のためスケジューラに登録する。Schedule selected appsボタンをクリックする。

 23) Schedule Toad Appポップアップが表示されるのでタスク名を入力し、Nextボタンを押下する。

 24) Start a programにToad.exeが選択されていることを確認し、Nextボタンを押下する。

 25) 『New』ボタンを押下する。

 26) Trigger Detailポップアップが表示されるのでBegin the taskにOn a schedule(㉕)を選択し、ここでは日次で実行されるように設定するため、SettingsにDaily(㉖)、Start Dateに開始時間(㉗)、Recur everyに1(㉘)を入力し、『OK』ボタン(㉙)を押下する。

 27) Schedule Toad Appポップアップに戻るので『Next』ボタンを押下する。

 28) エクスポートジョブを定期実行するユーザーを選択し、実行OSユーザーがOSログインしているかどうかにかかわらず実行する場合は、Run whether user is logged on or notを選択し、『Next』ボタンを押下する。

 29) Authenticate userポップアップが表示されるのでユーザー名、パスワードを入力し、『OK』ボタンを押下する。

 30) Schedule Toad Appポップアップに戻るので『Finish』ボタンを押下する。

 31) Schedule Itemをクリックすると登録したスケジュールジョブが存在していることが確認できる。

Automation Designerを利用したテーブルデータの差分チェック/修正を自動化手順は以上です。

Toadは30日間、フル機能で無償トライアルも可能です。
Toadに少しでも興味を持っていただけたなら、是非次のページもご参照ください。
 ・トライアルのご依頼はこちら
 ・Spotligh概要ページはこちら
 ・Spotlight on Oracle機能紹介ページはこちら
 ・Spotlight on SQL Server機能紹介ページはこちら
 ・Toad概要ページはこちら
 ・Toad for Oracle機能紹介ページはこちら
 ・Toad for SQL Server機能紹介ページはこちら
 ・Toadの製品紹介資料ダウンロードはこちら