データベース移行サービス プロプライエタリデータベースからオープンソースデータベースへの移行、プロプライエタリデータベースまたはオープンソースデータベース間の移行、マネージドサービスへの移行など、いくつかの理由で不可欠になります。 OracleデータベースのEC2からRDSへの移行を検討しており、4つの記事の最初の「AWSEC2からAWS RDSへのOracleデータベースの移行、パート1」では、EC2とRDSにOracleデータベースインスタンスを作成しました。この2番目の記事では、データベースユーザーを作成し、移行するデータベーステーブルを作成し、レプリケーションエンドポイントを含むDMSレプリケーションインスタンスを作成します。
この記事には次のセクションがあります:
- データベースユーザーの作成
- データベーステーブルの作成
- AWSDMSレプリケーションインスタンスの作成
- レプリケーションエンドポイントの作成
- 結論
データベースユーザーの作成
DMSで使用するOracleデータベースユーザーを作成します。
SQL> CREATE USER DVOHRA IDENTIFIED BY Calgary_10 DEFAULT TABLESPACE SYSTEM QUOTA 10M ON SYSTEM TEMPORARY TABLESPACE TEMP QUOTA 5M ON SYSTEM; 2 3 4 5 User created.
Oracleデータベースのユーザー権限を付与します。特権のサブセット(http://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Privileges)のみが必要ですが、すべての特権を付与します。
SQL> grant all privileges to DVOHRA identified by password; Grant succeeded.
Oracle Databaseは、Database Migration Serviceでソースデータベースエンドポイントとして使用される場合、 ARCHIVELOGに存在する必要があります。 モード。データベースがARCHIVELOGモードになっていることを確認します。
SQL> select log_mode from v$database; LOG_MODE ------------ ARCHIVELOGからlog_modeを選択します
データベーステーブルの作成
2種類の移行タスクについて説明します。
- 既存のデータのみを移行する
- 既存のデータを移行し、進行中の変更を複製する
既存のデータを移行するには、次のDDLステートメントを使用してDVOHRAスキーマにデータベーステーブルを作成します。
SQL> CREATE TABLE DVOHRA.wlslog(time_stamp VARCHAR2(255) PRIMARY KEY,category VARCHAR2(255),type VARCHAR2(255), servername VARCHAR2(255),code VARCHAR2(255),msg VARCHAR2(255)); Table created.
次のDMSステートメントを使用してテーブルデータを追加します。
SQL> INSERT INTO DVOHRA.wlslog(time_stamp,category,type, servername,code,msg) VALUES('Apr-8-2014-7:06:16-PM-PDT', 'Notice','WebLogicServer','AdminServer','BEA-000365', 'Server state changed to STANDBY'); INSERT INTO DVOHRA.wlslog(time_stamp,category,type,servername, code,msg) VALUES('Apr-8-2014-7:06:17-PM-PDT','Notice', 'WebLogicServer','AdminServer','BEA-000365','Server state changed to STARTING'); INSERT INTO DVOHRA.wlslog(time_stamp,category,type,servername, code,msg) VALUES('Apr-8-2014-7:06:18-PM-PDT','Notice', 'WebLogicServer','AdminServer','BEA-000365','Server state changed to ADMIN'); INSERT INTO DVOHRA.wlslog(time_stamp,category,type,servername, code,msg) VALUES('Apr-8-2014-7:06:19-PM-PDT','Notice', 'WebLogicServer','AdminServer','BEA-000365','Server state changed to RESUMING'); INSERT INTO DVOHRA.wlslog(time_stamp,category,type,servername, code,msg) VALUES('Apr-8-2014-7:06:20-PM-PDT','Notice', 'WebLogicServer','AdminServer','BEA-000361','Started WebLogic AdminServer'); INSERT INTO DVOHRA.wlslog(time_stamp,category,type,servername, code,msg) VALUES('Apr-8-2014-7:06:21-PM-PDT','Notice', 'WebLogicServer','AdminServer','BEA-000365','Server state changed to RUNNING'); INSERT INTO DVOHRA.wlslog(time_stamp,category,type,servername, code,msg) VALUES('Apr-8-2014-7:06:22-PM-PDT','Notice', 'WebLogicServer','AdminServer','BEA-000360','Server started in RUNNING mode'); 1 row created. SQL> 1 row created. SQL> 1 row created. SQL> 1 row created. SQL> 1 row created. SQL> 1 row created. SQL> 1 row created. SQL> COMMIT; Commit complete.
AWSDMSレプリケーションインスタンスの作成
同じレプリケーションインスタンスを使用して、2つの異なるタイプの移行タスクを作成します。レプリケーションインスタンスを作成するには、[移行の作成]をクリックします 図1に示すように、DMSダッシュボードで。
図1: 移行を作成する
データベース移行サービスのウェルカムページで、[次へ]をクリックします。 、図2に示すように。
図2: ようこそ>次へ
レプリケーションインスタンスの作成 、図3に示すように、名前と説明を指定します。インスタンスクラスとレプリケーションエンジンのバージョンを選択します。これらのデフォルト設定が使用されます。 VPCを選択します RDSDBインスタンスが作成されるVPCとして。 マルチAZを作成しない場合は、[いいえ]オプションを選択します レプリケーションインスタンス。 一般公開チェックボックスを選択します レプリケーションインスタンスをパブリックにアクセス可能にするため。
図3: レプリケーションインスタンスを作成する
詳細strong> 、割り当てられたストレージを選択します (デフォルトは50 GB)、レプリケーションサブネットグループ 、およびアベイラビリティーゾーン (優先なしである必要があります )。 VPCセキュリティグループを選択します RDSDBインスタンスが作成されるセキュリティグループとして。 KMSマスターキーを選択します dmsとして 。詳細設定を図4に示します。
図4: 詳細設定
デフォルトのメンテナンスを選択します 設定をクリックし、[次へ]をクリックします 、図5に示すように。
図5: レプリケーションインスタンスの作成>次へ
ソースデータベースエンドポイントとターゲットデータベースエンドポイントを接続する 図6のメッセージに示されているように、ページが表示され、レプリケーションインスタンスの作成が開始されます。
図6: レプリケーションインスタンスが作成されています
レプリケーションインスタンスが作成されると、メッセージレプリケーションインスタンスが正常に作成されました 表示されます(図7を参照)。
図7: レプリケーションインスタンスが作成されました
新しいレプリケーションインスタンスがDMS>レプリケーションインスタンスに追加されます 、図8に示すように。
図8: DMS>レプリケーションインスタンス
レプリケーションエンドポイントの作成
ソースデータベースエンドポイントとターゲットデータベースエンドポイントを接続する ページにはサーバー名のフィールドがあります 図6で前述したように、ソースデータベースエンドポイントとターゲットデータベースエンドポイントの場合。ソースデータベースエンドポイントサーバー名は、Oracleデータベースが実行されているEC2インスタンスのパブリックDNSです。パブリックDNSは、図9に示すように、EC2管理コンソールから取得できます。
図9: パブリックDNS名
ターゲットデータベースエンドポイントのサーバー名は、図10のRDSコンソールにリストされているRDSDBインスタンスエンドポイントから取得されます。エンドポイントの形式はHostname:Portです。 。
図10: RDSDBインスタンスエンドポイント
ソースエンジンとターゲットエンジンをoracleとして選択します (図11を参照)。ソースおよびターゲットデータベースエンドポイントのサーバー名を指定します。 ポートを指定します ソースデータベースエンドポイントとターゲットデータベースエンドポイントの両方で1521として。
図11: ソースとターゲットの接続の詳細
SSLモードを指定します ソースデータベースエンドポイントとターゲットデータベースエンドポイントの両方でなし。 ユーザー名を指定します ソースデータベースはDVOHRAとして、ターゲットデータベースはRDSDBインスタンスで設定されたユーザーとして。 パスワードを指定します EC2でデータベースインスタンスを作成するときに指定されたパスワードとしてソースデータベースの場合、RDSDBインスタンス構成で使用されるパスワードとしてターゲットデータベースのパスワードを指定します。 SIDを指定します EC2でOracleDatabaseを作成するときに指定されたOracleSID(ORCL)としてのソースデータベースの場合。図12に示すように、ターゲットデータベースエンドポイントのSIDを、RDS DBインスタンスの作成時に指定したSID(ORCL)として指定します。
図12: ソースおよびターゲットデータベース接続の詳細
詳細strong> セクションで、KMSマスターキーを dmsとして選択します 図13に示すように、ソースデータベースエンドポイントとターゲットデータベースエンドポイントの両方について。
図13: 詳細設定
テストの実行をクリックします 図14に示すように、ソースデータベース接続をテストします。
図14: テストを実行する
同様に、[テストの実行]をクリックします ターゲットデータベース接続用。
図15に示すように、「エンドポイント接続のテスト」というメッセージが、ソースデータベース接続とターゲットデータベース接続の両方に対して表示されます。
図15: エンドポイント接続のテスト
接続が確立されると、メッセージ接続が正常にテストされました 表示されます(図16を参照)。
図16: 接続は正常にテストされました
データベースエンドポイントは、[DMS]>[エンドポイント]の[エンドポイントの作成]で追加することもできます。 [エンドポイントの作成]オプションを使用する場合、テストエンドポイント接続には VPCを選択するためのプロビジョニングもあります およびレプリケーションインスタンス 図17に示すように、エンドポイントの場合は、[保存]をクリックします。 エンドポイント接続を保存します。
図17: エンドポイント接続のテストと保存
ソースとターゲットのデータベースエンドポイント接続は、DMS>エンドポイントに表示されます 図18。
図18: ソースおよびターゲットデータベースエンドポイント
結論
4つの記事のこの2番目では、データベースユーザーを作成し、移行するデータベーステーブルを作成し、レプリケーションエンドポイントを含むレプリケーションインスタンスを作成しました。 3番目の記事では、既存のデータをソース(EC2)からターゲット(RDS)エンドポイントに移行する方法について説明します。