Oracleデータベースへの接続 (OracleToSQL)
- 06/04/2020
- 5分で読める
-
- n
- T
- M
- r
- S
-
+2
-
CONNECT
データベースへの接続(セッション作成)に必要な権限です。 -
SELECT ANY DICTIONARY
すべてのオブジェクトを検出するために、システム辞書テーブル (たとえば、SYS.MLOG$
) を照会することが必要です。 -
SELECT ANY TABLE
他のスキーマのテーブル、ビュー、マテリアライズド ビュー、および同義語を検出するために必要な権限。 -
CREATE ANY PROCEDURE
他のスキーマでプロシージャ、関数、パッケージのPL/SQLを検出するために必要です。 -
CREATE ANY TRIGGER
他のスキーマでトリガー定義を検出するために必要なもの。 -
CREATE ANY TYPE
他のスキーマで定義された型を検出するために必要。 -
EXECUTE ANY PROCEDURE
すべてのスキーマでテストしたいプロシージャおよび関数を実行するのに必要な権限です。 -
CREATE ANY TABLE
およびALTER ANY TABLE
変更追跡およびバックアップ用の一時テーブルを作成および変更するために必要です。 -
INSERT ANY TABLE
およびUPDATE ANY TABLE
変更追跡およびバックアップデータを一時テーブルへ挿入するために必要なもの。 -
CREATE ANY INDEX
およびALTER ANY INDEX
変更追跡およびバックアップに使用する一時テーブルのインデックスを作成および変更するために必要なもの。 -
CREATE ANY TRIGGER
およびALTER ANY TRIGGER
変更追跡で使用する一時トリガーの作成および変更に必要です。 -
DROP ANY TRIGGER
変更追跡で使用する一時トリガーを削除に必要です。
Oracle データベースを SQL Server へ移行するには、以下の手順を実行します。 は、移行したいOracleデータベースに接続する必要があります。 接続すると、SSMAはすべてのOracleスキーマに関するメタデータを取得し、Oracle Metadata Explorerペインに表示します。 SSMAはデータベースサーバーに関する情報を保存しますが、パスワードは保存しません。
データベースへの接続は、プロジェクトを閉じるまでアクティブなままです。 プロジェクトを再度開いたとき、データベースへのアクティブな接続が必要な場合は再接続する必要があります。
Oracle データベースに関するメタデータは自動的に更新されません。 代わりに、Oracle Metadata Explorer でメタデータを更新したい場合は、手動で更新する必要があります。 詳細については、このトピックで後述する「Oracle メタデータの更新」セクションを参照してください。
必要な Oracle 権限
少なくとも、Oracle データベースへの接続に使用するアカウントには次の権限が必要です:
これにより、接続ユーザーが所有するスキーマのすべてのオブジェクトを SSMA で読み込むことができます。 ほとんどの実世界のシナリオでは、ストアドプロシージャ間でスキーマを横断する参照があり、SSMA は変換を成功させるために参照されるすべてのオブジェクトを検出できるようにする必要があります。
一部の SSMA 機能には追加の権限が必要です。 たとえば、Tester および Backup Management 機能を使用する場合、接続ユーザーに次の権限を付与する必要があります。
注意
これは SSMA が適切に動作するための一般的な権限セットです。 もし、移行の範囲をスキーマのサブセットに絞り込みたい場合は、ALL
の代わりに、限定されたオブジェクトのセットに上記の許可を与えることで実現できます。 可能ではありますが、すべての依存関係を正しく特定することは非常に困難であり、SSMAが正しく機能しなくなる可能性があります。
Oracle への接続の確立
データベースに接続すると、SSMA はデータベースのメタデータを読み取り、このメタデータをプロジェクト ファイルに追加します。 このメタデータは、SSMA がオブジェクトを SQL Server の構文に変換するとき、およびデータを SQL Server に移行するときに使用されます。 Oracle Metadata Explorer ペインでこのメタデータを参照し、個々のデータベース オブジェクトのプロパティを確認できます。
重要
接続を試みる前に、データベース サーバーが実行中で接続を受け入れられることを確認します。
Oracleに接続するには
-
ファイルメニューで、Oracleに接続を選択します。
以前にOracleに接続していた場合、コマンド名はOracleに再接続します。 -
プロバイダボックスで、Oracle ClientプロバイダまたはOLE DB Providerを、インストールされるプロバイダに依存して、選択します。 デフォルトはOracleクライアントです。
-
[モード]ボックスで、標準モード、TNSNAMEモード、または接続文字列モードのいずれかを選択します。 Oracle サービス名を手動で指定する場合は、サービス名モードを使用します。
-
標準モードを選択した場合、次の値を指定します。
- サーバー名ボックスに、データベースサーバーの名前または IP アドレスを入力または選択します。
- [Oracle SID]ボックスには、システム識別子を入力します。
- [ユーザー名]ボックスには、必要な権限を持つOracleアカウントを入力します。
- [パスワード]ボックスには、指定したユーザー名用のパスワードを入力します。
-
TNSNAMEモードを選択した場合、次の値を入力します。
- 接続識別子ボックスに、データベースの接続識別子(TNSエイリアス)を入力します。
- [ユーザー名]ボックスに、必要な権限を持つOracleアカウントを入力します。
- [パスワード]ボックスに、指定したユーザー名のパスワードを入力します。
次の例は、OLE DB 接続文字列です:Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;User Id=myUsername;Password=myPassword;
次の例は、統合セキュリティを使用する Oracle Client 接続文字列です:
Data Source=MyOracleDB;Integrated Security=yes;
詳細については、Oracle への接続 (OracleToSQL).
Reconnecting to Oracle
データベースサーバーへの接続はプロジェクトを終了するまでアクティブな状態を維持します。 プロジェクトを再度開いたときに、データベースへの接続をアクティブにしたい場合は、再接続する必要があります。 メタデータの更新、データベース オブジェクトの SQL Server へのロード、およびデータの移行を行うまでオフラインで作業できます。
Oracle メタデータのリフレッシュ
Oracle データベースに関するメタデータは自動的にリフレッシュされません。 Oracle Metadata Explorer のメタデータは、最初に接続したときのメタデータ、または最後に手動でメタデータを更新したときのスナップショットです。 メタデータを更新するには
-
データベースに接続していることを確認します。
-
Oracle Metadata Explorer で、更新したい各スキーマまたはデータベース オブジェクトの横にあるチェック ボックスを選択します。
-
スキーマ、または個々のスキーマまたはデータベースオブジェクトを右クリックし、[データベースから更新]を選択します。
アクティブな接続を持っていない場合、SSMAは[Oracleに接続]ダイアログボックスを表示し、接続できるようにします。 -
データベースから更新]ダイアログボックスでは、更新するオブジェクトを指定します。
- オブジェクトを更新するには、矢印が表示されるまでオブジェクトに隣接するアクティブフィールドをクリックします。
- オブジェクトが更新されないようにするには、Xが表示されるまでオブジェクトに隣接するアクティブフィールドをクリックします。
-
OKをクリックします。
移行プロセスの次のステップは、SQL Serverのインスタンスに接続することです。