sql >> データベース >  >> RDS >> Oracle

AWSEC2からAWSRDSへのOracleデータベースの移行、パート2

    データベース移行サービス プロプライエタリデータベースからオープンソースデータベースへの移行、プロプライエタリデータベースまたはオープンソースデータベース間の移行、マネージドサービスへの移行など、いくつかの理由で不可欠になります。 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: レプリケーションインスタンスを作成する

    詳細割り当てられたストレージを選択します (デフォルトは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: ソースおよびターゲットデータベース接続の詳細

    詳細 セクションで、KMSマスターキーを dmsとして選択します 図13に示すように、ソースデータベースエンドポイントとターゲットデータベースエンドポイントの両方について。


    図13: 詳細設定

    テストの実行をクリックします 図14に示すように、ソースデータベース接続をテストします。


    図14: テストを実行する

    同様に、[テストの実行]をクリックします ターゲットデータベース接続用。

    図15に示すように、「エンドポイント接続のテスト」というメッセージが、ソースデータベース接続とターゲットデータベース接続の両方に対して表示されます。


    図15: エンドポイント接続のテスト

    接続が確立されると、メッセージ接続が正常にテストされました 表示されます(図16を参照)。


    図16: 接続は正常にテストされました

    データベースエンドポイントは、[DMS]>[エンドポイント]の[エンドポイントの作成]で追加することもできます。 [エンドポイントの作成]オプションを使用する場合、テストエンドポイント接続には VPCを選択するためのプロビジョニングもあります およびレプリケーションインスタンス 図17に示すように、エンドポイントの場合は、[保存]をクリックします。 エンドポイント接続を保存します。


    図17: エンドポイント接続のテストと保存

    ソースとターゲットのデータベースエンドポイント接続は、DMS>エンドポイントに表示されます 図18。


    図18: ソースおよびターゲットデータベースエンドポイント

    結論

    4つの記事のこの2番目では、データベースユーザーを作成し、移行するデータベーステーブルを作成し、レプリケーションエンドポイントを含むレプリケーションインスタンスを作成しました。 3番目の記事では、既存のデータをソース(EC2)からターゲット(RDS)エンドポイントに移行する方法について説明します。


    1. OracleのSQRT()関数

    2. MySQL挿入コマンドと例を含むT-SQLクエリ構文

    3. OracleでMySQLのGROUP_CONCATに似たようなクエリを作成するにはどうすればよいですか?

    4. SQL Serverで自動増分値を使用して文字列を追加するにはどうすればよいですか?