このトピックでは、ADAM (Advanced Database & Application Migration) が提供する2つの方法を使用して、ソースデータベースの情報を収集する方法について説明します。 インターネットまたはAlibaba Cloudからソースデータベースにアクセスできる場合は、オンラインでデータベース情報を収集できます。 そうでない場合は、Database Collectorクライアントをダウンロードしてデータベース情報を収集できます。
変更方法
オンラインでデータベース情報を収集する: ソースデータベースの情報をオンラインで収集する場合は、ソースデータベースにインターネット経由でアクセスできることを確認してください。 さらに、ADAMサーバーをソースデータベースのホワイトリストに追加する必要があります。 詳細については、このトピックの「データベースの情報をオンラインで収集する」を参照してください。
インターネット経由の接続: ソースデータベースにパブリックIPアドレスがある場合、インターネット経由でデータベースの情報を収集できます。
データベースゲートウェイを介した接続: ソースデータベースにパブリックIPアドレスがない場合、データベースゲートウェイ (DG) を介してデータベースの情報を収集できます。 Database Gatewayは、さまざまなデータベースへのリモートアクセスを提供するデータベース接続サービスです。 Database Gatewayを使用すると、パブリックIPアドレスを使用することなく、データセンターまたはサードパーティのクラウドプラットフォームにデプロイされているデータベースにアクセスして管理できます。 詳細については、「」をご参照ください。Database Gatewayとは
説明ADAMは、中国 (北京) 、中国 (張家口) 、中国 (深セン) 、中国 (杭州) 、および中国 (上海) リージョンのDGインスタンスをサポートしています。
データベースコレクタークライアントのダウンロード: インターネット経由またはAlibaba Cloudからソースデータベースにアクセスできない場合、ADAMデータベースコレクターを使用して、ソースデータベースの情報をオフラインで収集できます。 詳細については、このトピックの「データベースコレクターを使用してソースデータベースの情報を収集する」を参照してください。
データベースの情報をオンラインで収集する
最初に データ管理 (DMS) コンソールV5.0。
上部のナビゲーションバーで、[DTS] をクリックします。 左側のナビゲーションウィンドウで、[異種データベース移行 (ADAM)]> [データベース評価] を選択します。
[データベースコレクション] タブで、[オンラインデータベースコレクション] をクリックします。
[DB情報の収集] タブで、[コレクションタスクの作成] をクリックします。
ソースデータベースにログインし、ソースデータベースの情報を収集するためのアカウントを作成して承認します。
ソースデータベースがOracle 10g、11g、12c、18c、または19cの非コンテナデータベース (非CDB) の場合、ローカルユーザーを作成します。
eoa_userという名前のユーザーを作成し、パスワードをeoaPASSSW0RDに設定します。
create user eoa_user identified by eoaPASSW0RD default tablespace users;
ソースデータベースのデータを照会する権限をeoa_userユーザーに付与します。
grant connect,resource,select_catalog_role,select any dictionary to eoa_user;
eoa_userユーザーにDBMS_LOGMNRパッケージに対する権限を付与します。
説明ソースデータベースがOracle 10gデータベースの場合、eoa_userユーザーにDBMS_LOGMNRパッケージの権限を付与する前に、次のコマンドを実行します。
createまたはreplacepublicsynonymDBMS_LOGMNRforsys.dbms_logmnr;
grant execute on DBMS_LOGMNR to eoa_user;
DBMS_METADATAパッケージにDDL文を照会する権限を付与します。
grant execute on dbms_metadata to eoa_user;
トランザクションを照会する権限を付与します。
grant select any transaction to eoa_user;
クエリテーブルへのアクセス許可を付与します。
grant select any table to eoa_user;
テーブルを分析する権限を付与します。
grant analyze any to eoa_user;
乱数を生成する権限を付与します。
grant execute on dbms_random to eoa_user;
ソースデータベースがOracle 12c、18c、または19cコンテナーデータベース (CDB) の場合は、共通ユーザーを作成します。
create user c##eoa_user identified by "eoaPASSW0RD" default tablespace users; grant connect,resource,select_catalog_role,select any dictionary to c##eoa_user container=all; grant execute on DBMS_LOGMNR to c##eoa_user container=all; grant execute on dbms_metadata to c##eoa_user container=all; grant select any table to c##eoa_user container=all; grant select any transaction to c##eoa_user container=all; grant analyze any to c##eoa_user container=all; grant execute on dbms_random to c##eoa_user container=all; alter user c##eoa_user set container_data=all container=current;
Teradata 13、14、または15
ソースデータベースがTeradata 13、14、または15を実行している場合は、ソースデータベースの情報を収集するために使用するユーザーに、データベースのCANデータベースファイル (DBC) に対する権限を付与します。
grant select,show on dbc to (username)
Db2 LUW
ソースデータベースがDb2 for LUWデータベースの場合、ソースデータベースの情報を収集するために使用するユーザーに、db2lookコマンドを実行する権限を付与する必要があります。 データベース管理者 (DBA) 権限をユーザーに付与する必要があります。
ソースデータベースアカウントを設定したら、[次へ] をクリックして [コレクションタスクの作成] パネルに移動します。
収集タスク名: 収集タスクの名前を入力します。
ソースデータベースのタイプを選択します。
ソースデータベースタイプとして [ORACLE] を選択します。
サーバー名 /SID: ソースOracleデータベースのサーバー名またはシステムID (SID) を入力します。
ソースデータベースタイプとしてTERADATAまたはDb2_LUWを選択します。
データベース名: ソースデータベースの名前を入力します。
ソースデータベースのネットワークタイプを選択します。
[パブリックIPアドレスを持つデータベース] を選択します。
[パブリックIPアドレスまたはポート番号のないデータベース (データベースゲートウェイ経由で接続)] を選択します。
DGリージョン: ソースデータベース用に作成されたデータベースゲートウェイが存在するリージョンを選択します。
DGインスタンス: ソースデータベース用に作成されたデータベースゲートウェイのIDを選択します。
ソースデータベースの追加情報を入力します。
ホストIP: ソースデータベースのIPアドレスを入力します。
説明ADAMサーバーのCIDRブロックをソースデータベースのホワイトリストに追加して、ADAMがソースデータベースの情報をオンラインで収集できるようにする必要があります。 詳細については、「ホワイトリストの設定」をご参照ください。
ポート番号: ソースデータベースへの接続に使用するポートを入力します。
ユーザー名: ステップ5で作成したアカウントを入力します。
パスワード: アカウントのパスワードを入力します。
(オプション) [詳細設定]: [エンコード] フィールドにソースデータベースのエンコード方法を入力します。
[テスト接続] をクリックしてテストを実行します。 テストが成功したら、[コレクションの開始] をクリックします。
収集タスクが完了したら、収集タスクを選択し、[次へ: プロファイルの作成] をクリックしてデータベースプロファイルを作成します。
データベースコレクターを使用してソースデータベースの情報を収集する
最初に DMSコンソールV5.0。
上部のナビゲーションバーで、[DTS] をクリックします。 左側のナビゲーションウィンドウで、[異種データベース移行 (ADAM)]> [データベース評価] を選択します。
[データベースコレクション] タブで、[データベースコレクターのダウンロード] をクリックします。
[データベースコレクターのダウンロード] パネルで、コンピューターのオペレーティングシステムに基づいてデータベースコレクタークライアントをダウンロードします。 次に、パッケージを解凍し、Database Collectorクライアントをインストールします。
説明ソースデータベースのサーバーにDatabase Collectorクライアントをインストールしないことをお勧めします。 コンピュータは次の要件を満たす必要があります。
ネットワーク: コンピュータはソースデータベースに接続できます。
CPU: 2コア以上。
メモリ: 8 GB以上。
ディスク: 100 GBのディスク容量が利用可能です。
ソースデータベースにログインし、ソースデータベースの情報を収集するためのアカウントを作成して承認します。
SYSDBA権限が付与されたユーザーの資格情報を使用して一時ユーザーを作成し、その一時ユーザーに必要な権限を付与します。
説明ソースデータベースの既存のユーザーに必要な権限が付与されている場合は、既存のユーザーの資格情報を使用してソースデータベースの情報を収集できます。
ソースデータベースがOracle 10g、11g、12c、18c、または19cの非CDBの場合は、ローカルユーザーを作成します。
eoa_userという名前のユーザーを作成し、パスワードをeoaPASSSW0RDに設定します。
create user eoa_user identified by eoaPASSW0RD default tablespace users;
ソースデータベースのデータを照会する権限をeoa_userユーザーに付与します。
grant connect,resource,select_catalog_role,select any dictionary to eoa_user;
eoa_userユーザーにDBMS_LOGMNRパッケージに対する権限を付与します。
説明ソースデータベースがOracle 10gデータベースの場合、eoa_userユーザーにDBMS_LOGMNRパッケージの権限を付与する前に、次のコマンドを実行します。
createまたはreplacepublicsynonymDBMS_LOGMNRforsys.dbms_logmnr;
grant execute on DBMS_LOGMNR to eoa_user;
DBMS_METADATAパッケージにDDL文を照会する権限を付与します。
grant execute on dbms_metadata to eoa_user;
トランザクションを照会する権限を付与します。
grant select any transaction to eoa_user;
クエリテーブルへのアクセス許可を付与します。
grant select any table to eoa_user;
テーブルを分析する権限を付与します。
grant analyze any to eoa_user;
乱数を生成する権限を付与します。
grant execute on dbms_random to eoa_user;
ソースデータベースがOracle 12c、18c、または19cのCDBの場合は、共通ユーザーを作成します。
create user c##eoa_user identified by "eoaPASSW0RD" default tablespace users; grant connect,resource,select_catalog_role,select any dictionary to c##eoa_user container=all; grant execute on DBMS_LOGMNR to c##eoa_user container=all; grant execute on dbms_metadata to c##eoa_user container=all; grant select any table to c##eoa_user container=all; grant select any transaction to c##eoa_user container=all; grant analyze any to c##eoa_user container=all; grant execute on dbms_random to c##eoa_user container=all; alter user c##eoa_user set container_data=all container=current;
Teradata 13、14、または15
ソースデータベースがTeradata 13、14、または15を実行している場合は、ソースデータベースの情報を収集するために使用するユーザーに、データベースのDBCに対する権限を付与します。
grant select,show on dbc to (username)
Db2 LUW
ソースデータベースがDb2 for LUWデータベースの場合、ソースデータベースの情報を収集するために使用するユーザーに、db2lookコマンドを実行する権限を付与する必要があります。 ユーザーにDBA権限を付与する必要があります。
ソースデータベースの構造化データを収集します。 構造化データは、実現可能性レポートおよび互換性レポートを生成するために使用される。
必要なコマンドを実行して、ソースデータベースの情報を収集します。
説明Database CollectorクライアントがWindowsで実行されている場合は、
. バット
コマンドを実行します。 Database CollectorクライアントがLinuxで実行されている場合は、. sh
コマンドを実行します。オラクル10g
collect_10g[.sh|.bat] -h -u -p -d <service_name>
オラクル11g
オラクル11g R1
collect_11gR1[.sh|.bat] -h -u -p -d <service_name>
オラクル11g R2
collect_11gR2[.sh|.bat] -h -u -p -d <service_name>
オラクル12c 18c 19c
説明collect_12c
スクリプトを使用して、Oracle 12cプラグ可能データベース (PDB) の情報を収集できます。 詳細については、Oracle 11gの説明をご参照ください。 collect_12c[.sh.bat] -h <host> -u <username> -p <password> -P <port> -d <service_name> -s <sid>Teradate 13 14 15
collect_td[.sh] -h ip -p password -u username
Db2_LUW
collect_db2_luw[.sh] -h ip -u username -p password -d databasename -P port
-h: ソースデータベースのIPアドレス。 - -u: ユーザー名が収集されます。 Exampleユーザーはeao_userです。 - -p: eoa_userユーザーのパスワード。 パスワードはeoaPASSW0RDです。 -P: ソースデータベースの情報を収集するために使用するポート。 例: 1521。 -d: ソースデータベースのサービス名。 ソースデータベースがOracle 12cデータベースの場合は、指定したPDBのサービス名を指定します。 -s: ソースデータベースインスタンスの名前。
コレクション結果をエクスポートします。
収集タスクが完了すると、Database Collectorはパケットを生成し、パケットのパスを返します。 次のスクリプトは、ログファイルを示しています。
[***] ****************************************************************** [***] * Collect Successfully! [***] * [***] * Complete the file packaging, the package result path is: [***] * ~rainmeter/out/data.zip ******************************************************************
(オプション) 収集タスクが完了したら、一時ユーザーを削除します。
SYSDBA権限を付与されたユーザーの資格情報を使用して、Database Collectorをソースデータベースに接続し、dropステートメントを実行して一時ユーザーを削除します。
ソースデータベースがOracle 10g、11g、12c、18c、または19cの非CDBの場合は、次のステートメントを実行します。
drop user eoa_user cascade;
ソースデータベースがOracle 12c、18c、または19cのCDBの場合は、次のステートメントを実行します。
drop user c##eoa_user cascade;
オフピーク時にソースデータベースの情報を収集することを推奨します。 ほとんどの場合、データベースコレクターは、オフピーク時間帯に短時間でデータベース情報の収集を完了できます。
データベースコレクターは、高性能CPUを必要としません。 ソースデータベース内のオブジェクトに対してgetDDL操作を実行すると、収集タスクの開始時にデータベースサーバーのCPU負荷が増加する場合があります。 CPU負荷の増加は、ソースデータベースの仕様と現在の負荷によって異なります。
Database Collectorは、情報収集中にソースデータベースの少量のメモリを消費します。