Oracle データベースからパブリケーションを作成する方法 (レプリケーション Transact-SQL プログラミング)

Oracle データベースをパブリッシャとして構成した後で、システム ストアド プロシージャを使用して、MicrosoftSQL Server パブリッシャから行う場合と同じ方法でトランザクション パブリケーションまたはスナップショット パブリケーションを作成できます。

Oracle パブリケーションを作成するには

  1. Oracle データベースをパブリッシャとして構成します。詳細については、「Oracle パブリッシャの構成」を参照してください。

  2. リモート ディストリビュータが存在しない場合は、リモート ディストリビュータを構成します。詳細については、「パブリッシングとディストリビューションを構成する方法 (レプリケーション Transact-SQL プログラミング)」を参照してください。

  3. Oracle パブリッシャが使用するリモート ディストリビュータで、sp_adddistpublisher (Transact-SQL) を実行します。@publisher に Oracle データベースの TNS (Transparent Network Substrate) 名を、@publisher_type に ORACLE または ORACLE GATEWAY を指定します。Oracle パブリッシャからリモート SQL Server ディストリビュータに接続するときに使用する次のいずれかのセキュリティ モードを指定します。

    • 既定の Oracle 標準認証を使用するには、@security_mode0 を、@login に Oracle パブリッシャで構成時に作成したレプリケーション管理ユーザー スキーマを、@password にパスワードを指定します。

      セキュリティに関する注意セキュリティに関する注意

      可能であれば、実行時にセキュリティ資格情報の入力を求めるメッセージを表示します。スクリプト ファイルに資格情報を格納する場合は、不正アクセスを防ぐために、そのファイルをセキュリティで保護する必要があります。

    • Windows 認証を使用するには、@security_mode1 を指定します。

      注意注意

      Windows 認証を使用する場合は、Windows 資格情報を使用した接続を許可するように Oracle サーバーが構成されている必要があります (詳細については、Oracle のマニュアルを参照してください)。また、レプリケーション管理ユーザー スキーマに指定した Microsoft Windows アカウントと同じアカウントを使用して現在ログインしている必要があります。

  4. パブリケーション データベースのログ リーダー エージェント ジョブを作成します。

    • パブリッシュされたデータベースにログ リーダー エージェント ジョブが存在するかどうか不明である場合は、ディストリビューション データベースの Oracle パブリッシャによって使用されるディストリビュータで sp_helplogreader_agent (Transact-SQL) を実行します。@publisher に Oracle パブリッシャの名前を指定します。結果セットが空の場合、ログ リーダー エージェント ジョブを作成する必要があります。

    • パブリケーション データベース用のログ リーダー エージェント ジョブが既に存在する場合、手順 5. に進みます。

    • Oracle パブリッシャのディストリビューション データベースによって使用されるディストリビュータで、sp_addlogreader_agent (Transact-SQL) を実行します。@job_login および @job_password に、エージェントを実行するときに使用する Windows 資格情報を指定します。

      注意注意

      @job_login パラメータは、手順 3. で指定したログインと一致する必要があります。パブリッシャのセキュリティ情報を指定しないでください。ログ リーダー エージェントは、手順 3. で指定されたセキュリティ情報を使用してパブリッシャに接続します。

  5. ディストリビュータ側のディストリビューション データベースに対して、パブリケーションを作成する sp_addpublication (Transact-SQL) を実行します。詳細については、「パブリケーションを作成する方法 (レプリケーション Transact-SQL プログラミング)」を参照してください。

  6. ディストリビュータ側のディストリビューション データベースに対して、sp_addpublication_snapshot (Transact-SQL) を実行します。手順 4. で使用したパブリケーション名を @publication に指定し、スナップショット エージェントを実行するときに使用される Windows 資格情報を @job_name@password に指定します。パブリッシャへの接続時に Oracle 標準認証を使用するには、@publisher_security_mode0 を指定し、@publisher_login および @publisher_password に Oracle ログイン情報を指定する必要があります。これにより、パブリケーション用のスナップショット エージェント ジョブが作成されます。