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

OracleデータベースをAWSEC2からAWSRDSに移行する方法

    データベース移行サービス 2つのRDSDBインスタンス間だけでなく、ソース/ターゲットが非RDSデータベースであってもデータベースを移行するために使用できます。唯一の要件は、DMS移行のデータベースエンドポイントの少なくとも1つがAWSベースのデータベースであるということです。 AWSベースのデータベースは、RDS DBインスタンス、Redshift、MongoDB、またはEC2でホストされているデータベースである可能性があります。 4つの記事では、OracleデータベースをEC2からRDSに移行する方法について説明します。この記事には次のセクションがあります:

    • 環境の設定
    • AWSRDSでのOracleデータベースインスタンスの作成
    • RDS上のOracleデータベースインスタンスへの接続
    • EC2インスタンスの作成
    • EC2でのOracleデータベースインスタンスの作成と起動
    • EC2上のOracleデータベースインスタンスへの接続
    • 結論

    環境の設定

    まず、AWSアカウントを作成します。次に、KMSマスターキー(dms)を作成します。

    AWSRDSでのOracleデータベースインスタンスの作成

    Oracleデータベース用のRDSDBインスタンスを作成します。 Oracleを選択します 図1に示すように、RDSダッシュボードのエンジンとして。


    図1: RDSエンジンとしてのOracleデータベースの選択

    本番用?開発/テストを選択します 、図2に示すように、[次のステップ]をクリックします 。


    図2: 開発/テストとしてのユースケースの選択

    DBの詳細を指定で 、チェックボックスを選択しますRDS無料利用枠の対象となるオプションのみを表示 。無料利用枠のデフォルト設定を図3に示します。


    図3: DBの詳細を指定

    DBインスタンス識別子を指定します (ORCL)、マスターユーザー名を指定します およびマスターパスワード 、図4に示すように、[次のステップ]をクリックします 。


    図4: DBインスタンス識別子の指定

    詳細設定の構成新しいVPCを作成するオプションを選択します 、図5に示すように、また、新しいDBサブネットグループを作成するオプションを選択します。 、および一般公開を設定します はいアベイラビリティーゾーンを設定します 優先なし新しいセキュリティグループを作成するオプションを選択します 。 データベースオプション ヘッダー、データベース名を指定します (ORCL)、データベースポート (1521)、DBパラメータグループのデフォルト設定を維持します およびオプショングループ


    図5: 詳細設定の構成

    バックアップ、監視、および保守のオプションを含む他のオプションをデフォルトのままにします(図6を参照)。 DBインスタンスの起動をクリックします 。


    図6: その他の詳細設定の構成とDBインスタンスの起動

    メッセージあなたのDBインスタンスが作成されています 図7に示すように、が表示されます。[DBインスタンスの表示]をクリックします。 。


    図7: DBインスタンスが作成されています

    図8に示すように、新しいDBインスタンスが作成されます。エンドポイント Hostname:Portの形式です ホスト名を使用します 後のセクションでターゲットデータベースエンドポイントを構成するとき。 OracleデータベースがDMS移行のターゲットとして使用される場合、移行で使用されるすべてのターゲットスキーマは、移行を実行する前に作成する必要があります。スキーマDVOHRAを使用します RDS上のOracleデータベースで作成されました。


    図8: RDSDBインスタンスORCL

    DMSレプリケーションインスタンスがRDSDBインスタンスに接続できるようにするには、セキュリティグループのインバウンドルールを変更して、すべてのトラフィックを許可します。 セキュリティグループのリンクをクリックします 図8に示すように、セキュリティグループコンソールが表示されます。インバウンドを選択します。 タブをクリックし、編集をクリックします 。


    図9: セキュリティグループ>インバウンド>編集

    インバウンドルールの編集タイプを設定します すべてのトラフィックプロトコル すべてポート範囲 0-65535、ソース どこでも 、[保存]をクリックします 、図10に示すように。


    図10: インバウンドルールの編集

    インバウンドルールは、すべてのトラフィックを許可するように変更されます(図11を参照)。


    図11: すべてのトラフィックを許可するように設定されたインバウンドルール

    アウトバウンド 図12に示すように、ルールはすべてのトラフィックを許可するようにすでに設定されているため、ルールを変更する必要はありません。


    図12: アウトバウンドルール

    RDS上のOracleデータベースインスタンスへの接続

    Oracleデータベースをターゲットとして使用するには、DMSユーザーにOracleデータベースでの特定の権限を付与する必要があります。 Oracleデータベースに接続し、SQL*Plusコマンドラインインターフェイスを使用して権限を付与します。

    C:appdeepakproduct12.1.0dbhome_1BIN>sqlplus
       [email protected](DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)
       (HOST=orcl.crbmlbxmp8qi.us-east-1.rds.amazonaws.com)
       (PORT=1521))(CONNECT_DATA=(SID=ORCL)))
    
    SQL*Plus: Release 12.1.0.1.0 Production on Sun Sep 17 14:11:18 2017
    
    Copyright (c) 1982, 2013, Oracle.  All rights reserved.
    
    Enter password:
    
    Connected to: Oracle Database 11g Release 11.2.0.4.0 - 64bit
       Production
    
    SQL>
    

    次に、DMSユーザーに特権を付与します。これは、ユーザーごとに異なります。

    SQL> GRANT SELECT ANY TRANSACTION to DVOHRA;
    Grant succeeded.
    
    SQL> GRANT CREATE SESSION,CREATE ANY TABLE to DVOHRA;
    Grant succeeded.
    
    SQL> GRANT CREATE ANY INDEX to DVOHRA;
    Grant succeeded.
    
    SQL> GRANT DROP ANY TABLE to DVOHRA;
    
    Grant succeeded.
    
    SQL> GRANT SELECT ANY TABLE to DVOHRA;
    
    Grant succeeded.
    
    SQL> GRANT INSERT ANY TABLE to DVOHRA;
    
    Grant succeeded.
    
    SQL> GRANT UPDATE ANY TABLE to DVOHRA;
    
    Grant succeeded.
    
    SQL> GRANT CREATE ANY VIEW to DVOHRA;
    
    Grant succeeded.
    
    SQL> GRANT DROP ANY VIEW to DVOHRA;
    
    Grant succeeded.
    
    SQL> GRANT CREATE ANY PROCEDURE to DVOHRA;
    
    Grant succeeded.
    
    SQL> GRANT ALTER ANY PROCEDURE to DVOHRA;
    
    Grant succeeded.
    
    SQL> GRANT DROP ANY PROCEDURE to DVOHRA;
    
    Grant succeeded.
    
    SQL> GRANT CREATE ANY SEQUENCE to DVOHRA;
    
    Grant succeeded.
    
    SQL> GRANT ALTER ANY SEQUENCE to DVOHRA;
    
    Grant succeeded.
    
    SQL> GRANT DROP ANY SEQUENCE to DVOHRA;
    
    Grant succeeded.
    
    SQL>
    

    EC2インスタンスの作成

    EC2でOracleデータベースインスタンスを作成するには、AWSMarketplaceからAMIを選択します。 Oracleデータベース用のいくつかの異なるAMIが利用可能です。 Oracle Database 11g Standard Editionを選択します 、図13に示すように。


    図13: EC2上のOracleデータベース用のAMIの選択

    OracleDatabaseAMIベースのEC2インスタンスを図14に示します。IPv4パブリックIPを取得します EC2管理コンソールからのEC2インスタンスのアドレス。


    図14: OracleデータベースのEC2インスタンス

    図15に示すように、EC2インスタンスが作成されるセキュリティグループのインバウンドルールでは、トラフィックを許可する必要があります。少なくとも、レプリケーションインスタンスのIPアドレスへの接続を提供する必要があります。


    図15: すべてのトラフィックを許可するセキュリティグループのインバウンドルール

    同様に、アウトバウンド ルールはすべてのトラフィックを許可する必要があります(図16を参照)。


    図16: アウトバウンドルール

    EC2でのOracleデータベースインスタンスの作成と開始

    EC2インスタンスのパブリックIPアドレスとEC2インスタンスの作成に使用されたキーペアを使用して、ローカルマシンからEC2インスタンスに接続します。キーペアの権限は400に設定する必要があります。

    [[email protected] ~]# chmod 400 rhel.pem
    [[email protected] ~]# ssh -i "rhel.pem" [email protected]
    

    図17のメッセージに示されているように、Oracle Databaseソフトウェアがインストールされます。このメッセージは、ソフトウェアを使用するには、データベースを作成する必要があることも示しています。 「今すぐデータベースを作成しますか[y|n]」というユーザープロンプトが表示されます。


    図17: EC2インスタンスに接続してOracleデータベースソフトウェアをインストールする

    yを指定します 図18に示すように、データベースを作成します。図18に示すように、Oracleデータベースの名前を指定するユーザープロンプトが表示されます。指定した名前がOracleSIDとして使用されます。


    図18: OracleSIDの指定を求めるユーザープロンプト

    SIDをORCLとして指定します Enterをクリックします。図19に示すように、SYSユーザーのパスワードを指定するためのユーザープロンプトが表示されます。


    図19: SYSユーザーのパスワードを入力するように求めるユーザープロンプト

    図20に示すように、[SYSパスワードの確認]プロンプトでSYSパスワードを再指定します。SYSTEMユーザーのパスワードを指定するための別のユーザープロンプトが表示されます。


    図20: システムユーザーのパスワードを指定するように求めるユーザープロンプト

    同様に、DBSNMP、SYSMAN、およびADMINユーザーのそれぞれにパスワードを指定します。データベースの作成が開始されます(図21を参照)。


    図21: Oracleデータベースの作成

    データベースはEC2にインストールされます。完全な出力が一覧表示されます:

    The Oracle Database Software (ORACLE_HOME) has been installed at
       /u01/app/oracle/product/11.2.0/db1.
    Before you can use the Oracle Software, you will need to create a
       database.
    
    Would you like to create a database now [y|n]:  y
    Please enter the name for your Oracle Database.
    This name will be used as your ORACLE SID (System Identifier):
       ORCL
    
    Please specify the passwords for the database administrative
       accounts.
    All passwords must be a minimum of 6 characters in length and must
       contain a combination of letters and numbers.
    
    
    SYS (Database Administrative Account) Password:
    Confirm SYS password:
    
    SYSTEM (Database Administrative Account) Password:
    Confirm SYSTEM password:
    
    DBSNMP (Enterprise Manager Administrative Account) Password:
    Confirm DBSNMP password:
    
    SYSMAN (Enterprise Manager Administrative Account) Password:
    Confirm SYSMAN password:
    
    ADMIN Password:
    Confirm ADMIN password:
    
    Please wait while your database is created, it may take up to 15
       minutes.
    
    Copying database files
    1% complete
    3% complete
    37% complete
    Creating and starting Oracle instance
    40% complete
    45% complete
    50% complete
    55% complete
    56% complete
    57% complete
    60% complete
    62% complete
    Completing Database Creation
    66% complete
    70% complete
    73% complete
    85% complete
    96% complete
    100% complete
    Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/ORCL/
       ORCL.log" for further details.
    Oracle Enterprise Manager 11g Database Control Release 11.2.0.4.0
    Copyright (c) 1996, 2013 Oracle Corporation.  All rights reserved.
    https://ip-172-30-4-238:1158/em/console/aboutApplication
    Stopping Oracle Enterprise Manager 11g Database Control ...
     ...  Stopped.
    
    SQL*Plus: Release 11.2.0.4.0 Production on Sun Sep 17 19:45:25 2017
    
    Copyright (c) 1982, 2013, Oracle.  All rights reserved.
    
    SQL> Connected.
    SQL> Database closed.
    Database dismounted.
    ORACLE instance shut down.
    SQL> ORACLE instance started.
    
    Total System Global Area 4676636672 bytes
    Fixed Size                  2261048 bytes
    Variable Size             939528136 bytes
    Database Buffers         3724541952 bytes
    Redo Buffers               10305536 bytes
    Database mounted.
    SQL>
    Database altered.
    
    SQL>
    Database altered.
    
    SQL> Disconnected from Oracle Database 11g Release 11.2.0.4.0 -
       64bit Production Oracle Enterprise Manager 11g Database Control
       Release 11.2.0.4.0
    Copyright (c) 1996, 2013 Oracle Corporation.  All rights reserved.
    https://ip-172-30-4-238:1158/em/console/aboutApplication
    Starting Oracle Enterprise Manager 11g Database Control ....
       started.
    ------------------------------------------------------------------
    Logs are generated in directory /u01/app/oracle/product/11.2.0/db1
       /ip-172-30-4-238_ORCL/sysman/log
    
    Adding ORACLE_SID=ORCL to /home/oracle/.bash_profile
    
    The database was created successfully.
    
    The database and config was created successfully.
    
    
    To use the database web console, navigate to https://34.234.193
       .179:1158/em and login with the username SYSMAN and the password
       you created earlier for the SYSMAN account.
    Note that you must have properly configured your security groups to
       allow the IP you are browsing from to connect to port 1158 on
       the database instance.
    To connect to the database from the command line, type 'sudo su -
       oracle' to change to the oracle user.
    To start working with the database instance type
       'sqlplus / as sysdba'
    
    Thank You for choosing Oracle Database on EC2!
    

    EC2上のOracleデータベースインスタンスへの接続

    Oracleユーザーをoracleとして設定します 次のコマンドを使用します:

    [email protected] ~> sudo su - oracle

    SQL * Plus CLIを起動して、コマンドラインからデータベースに接続します。

    [email protected] ~> sqlplus / as sysdba
    SQL*Plus: Release 11.2.0.4.0 Production on Sun Sep 17 19:47:30 2017
    Copyright (c) 1982, 2013, Oracle.  All rights reserved.
    Connected to:
    Oracle Database 11g Release 11.2.0.4.0 - 64bit Production
    SQL>
    

    結論

    Oracle DatabaseインスタンスをEC2からRDSに移行することに関する4つの記事の最初の記事では、EC2とRDSにOracleDatabaseインスタンスを作成することから始めました。 2番目の記事では、IAMユーザーを作成し、移行するデータベーステーブルを作成し、レプリケーションエンドポイントを含むレプリケーションインスタンスを作成します。


    1. SQLServer2008のLPAD

    2. Debian/UbuntuでのPostgreSQLレプリケーションセットアップの作成

    3. SQL Serverで「smalldatetime」を「datetimeoffset」に変換します(T-SQLの例)

    4. MySQL/MariaDBテーブルを最適化する方法