ユーザーおよび環境の構成

移行リポジトリは、移行プロセスで収集および変換されたメタデータを格納するデータベース・スキーマです。

移行用のユーザーの作成

移行用のユーザーを作成します。

  1. 管理ユーザーとしてAutonomous Databaseにログインします。
  2. 移行メタデータの移行リポジトリ・ユーザーを作成し、ユーザーにメタデータの無制限の領域割当てを付与します。
    この例では、ユーザーmwrepを使用します。
    SQL> CREATE USER MWREP 
    IDENTIFIED BY Welcome112233 
    DEFAULT TABLESPACE DATA
    TEMPORARY TABLESPACE TEMP;
    ALTER USER MWREP QUOTA UNLIMITED on DATA;
  3. mwrepユーザーに権限を付与します。
    SQL> GRANT 
        CONNECT, 
        RESOURCE, 
        CREATE SESSION, 
        CREATE VIEW, 
        CREATE MATERIALIZED VIEW 
        TO mwrep;

移行リポジトリの作成

Microsoft SQL ServerデータベースをOracleに変換するには、必要なリポジトリ表およびPL/SQLパッケージを格納するリポジトリを作成し、mwrepユーザーへのSQL Developer接続を作成します。

  1. Oracle Cloudコンソールで「接続」タブをクリックし、「接続」「接続の作成」の順に選択します。
    「データベース接続の作成/選択」ウィンドウが表示されます。
  2. 「新規/データベース接続の選択」ウィンドウで、接続に関する次のフィールドに入力します。
    1. 名前: mwrep_adb (または接続を識別する名前)を入力します。
    2. データベース・タイプ:「Oracle」を選択します。
    3. 認証タイプ:「デフォルト」を選択します。
    4. ユーザー名: mwrepと入力します。
    5. パスワード:パスワードを入力し、「パスワードの保存」を選択します。
    6. 接続タイプ:ドロップダウン・メニューから「クラウド・ウォレット」を選択します。
    7. 構成ファイル:自律ウォレットのzipファイルが保存される場所を参照して、wallet_adbName.zipファイルを選択します。
      zipファイルが入力されると、デフォルトのデータベース・サービスが自動的に移入されます。
  3. 「テスト」をクリックして接続をテストします。
    ページの左側にある接続のステータスに「ステータス:成功」が表示されていることを確認します。
  4. 「保存」をクリックして接続を保存し、ウィンドウを閉じます。
    接続が保存され、「接続」タブの「接続」の下にリストされます。
  5. 「接続」タブに次の接続がリストされていることを確認します。
    • admin_adb
    • mwrep_adb
    • SQL Server 2016
  6. mwrep_adb接続を右クリックして「移行リポジトリ」を選択し、「移行リポジトリの関連付け」を選択します。
  7. 「OK」をクリックします。

Microsoft SQL Serverデータベースのスナップショットの取得

SQL Developer移行ウィザードを使用して、Microsoft SQL Serverデータベースのメタデータとデータを含むスナップショットを取得します。

この例では、ソースSQL Serverは、AdventureWorks (OLTP DB)およびAdventureWorksDW (Oracle Autonomous Data Warehouse)の2つのサンプル・データベースとともにデプロイされます。これらのサンプル・データベースは、Microsoft SQL Server Github repoからダウンロードできます。

オフライン移行の一環として、MS SQL Serverに接続されたすべてのアプリケーションを停止するか、SQL ServerデータベースをReadOnlyモードに切り替えて、データベースの一貫した状態を取得することをお薦めします。

  1. 概要: 「ツール」「移行」「移行」の順に選択します。
    移行ウィザードでは、SQL ServerデータベースをOracleに変換する手順について説明します。
  2. リポジトリ: 移行リポジトリの接続を選択します。mwrep_adb接続を選択し、「次」をクリックします。
  3. プロジェクト:プロジェクトの名前を指定し、出力ディレクトリ(通常はmssqlservermigration.zipが解凍されたwkdir)を指定します。「次へ」をクリックします。
    プロジェクトとは、移行エンティティのコンテナです。
  4. ソース・データベース:ソース・データベースの詳細を指定し、すべてのデフォルトを受け入れます。デフォルトでは、「モード」は「オンライン」で、「接続」はSQL 2016です。「次へ」をクリックします。
  5. 取得:定義を取得するAdventureWorksデータベースを選択し、「次へ」をクリックします。
  6. 変換:変換オプションを指定します。新しいルールを追加できます。「次へ」をクリックします。
  7. 翻訳:変換するSQLオブジェクトを選択します。ツールは自動的にsqlオブジェクトを選択します。「次へ」をクリックします。
  8. ターゲット・データベース:ターゲット・データベースの詳細を指定します。「モード」については、「オフライン」を選択します。ここでターゲット・オブジェクトを削除することを選択できます。生成されたスクリプト・ディレクトリの場所(通常はwkdir\ProjectName\generated\YYYY-MM-DD_HH-MM-SS形式)を保存します。「次へ」をクリックします。
  9. データの移動:データ移動の詳細が表示されます。モードは「オフライン」である必要があります。データ移動スクリプト・ディレクトリの場所(通常はwkdir\ProjectName\datamove\YYYY-MM-DD_HH-MM-SS形式)を保存します。「次へ」をクリックします。
  10. サマリー: プロジェクト全体のサマリーが表示されます。詳細を保存します。変更する場合は、「戻る」をクリックします。「終了」をクリックします。
    「データベース移行ステータス」ボックスが表示されます。

移行が完了し、SQL Developerにmaster.sqlファイルがロードされると、Migration actions have successfully completedというポップアップ・メッセージが表示されます。オブジェクトやデータは、SQL Developerを使用して自律型データベースにロードおよび移行されます。

Oracle Databaseオブジェクトの作成

Oracle SQL Developer Migration Workbenchは、変換されたモデル・オブジェクトに基づいてOracle Autonomous Databaseオブジェクトを作成するDDL文を生成します。DDL文を実行すると、Oracle Autonomous Databaseでオブジェクトが作成されます。SQL Developerまたはsqlplusコマンドラインを使用してsqlスクリプトを実行し、Oracle Autonomous DatabaseでSQL Server変換済オブジェクトを作成できます。
  1. 必要な出力について「生成済スクリプト・ディレクトリ」を確認します。
    1. Windowsファイル・エクスプローラ、WindowsコマンドまたはWindows権限を使用して、生成されたスクリプト・ディレクトリに移動します。
      通常、mssqlservermigration.zipファイルのインストール中に定義されたwkdirディレクトリにあります。
    2. wkdirディレクトリ・ツリーを展開します。
      ディレクトリは次のようになります。
      Wkdir
      	[projectName]
      		datamove
      		generated
      			YYYY-MM-DD_HH-MI-SS
    3. 日付およびタイムスタンプ付きディレクトリを開きます。次のoracle sqlスクリプトが表示されます。
      dropallschemas.sql
      master.sql
      passworddefinition.sql
      reportallstatus.sql
  2. sql developerまたはストレートsqlplusコマンドライン・インタフェースを使用してmaster.sqlスクリプトを実行して、Oracle Autonomous DatabaseでSQL Server変換されたオブジェクトを作成します。
    • SQL Developerを使用してOracle Autonomous DatabaseでSQL Server変換済オブジェクトを作成するには、master.sqlスクリプトを実行します。
      1. 右側のアイコンのドロップダウンからadmin_adbを選択します。次に、「スクリプトの実行」(F5)をクリックします。
      2. (オプション)次のSQL問合せを実行して、変換プロセスの結果として作成された新しいOracleスキーマを表示します。
        SQL> select * from dba_users where created > sysdate - 1;
    • sqlplusコマンドラインを使用してOracle Autonomous DatabaseでSQL Server変換オブジェクトを作成するには:
      1. master.sqlを実行して、メタデータおよびスキーマ構造を作成します。
        $ sqlplus admin/[password]@atpdb_tp @master.sql
      2. reportallstatus.sql.を実行してスキーマ検証ステータス・レポートを作成します
        $ sqlplus admin/{password]@atpdb_tp @reportallstatus.sql

        これにより、スキーマごとに出力ファイルが生成されます(この場合、7つのログ・ファイル)。エラーがなく、すべてのオブジェクトにVALIDステータスが表示されていることを確認します。

この時点で、MS SQL ServerデータベースAdventureWorksデータベースをOracle Autonomous DatabaseのOracle Database構造に変換しました。変換プロセスでは、Oracleで7つの新しいスキーマを作成しました。
  • 注意事項
  • SALES_ADVENTUREWORKS
  • PERSON_ADVENTUREWORKS
  • PURCHASING_ADVENTUREWORKS
  • EMULATION
  • HUMANRESOURCES_ADVENTUREWORKS
  • PRODUCTION_ADVENTUREWORKS