0 / 0
資料の 英語版 に戻る
Oracle データの複製
最終更新: 2024年11月28日
Oracle データの複製

Data Replicationを使用して、 Oracle からデータを複製できます。

Oracle データのレプリケーションをセットアップするには、まず Oracle データベースをソースとして構成してから、接続を作成します。

サポートされるバージョン

Oracle 19c R1 (19.1)+

制限

複製できるのは、一部の Oracle データ・タイプのみです。 サポートされる Oracle データ・タイプを参照してください。

ソースとしての Oracle の構成

Oracle 接続を使用してレプリケーションを開始する前に、データベース、ユーザー・アカウント、およびスキーマの要件が満たされていることを確認する必要があります。

  1. Oracle データベースを構成します。 Oracle 接続を構成すると、 Data Replication がデータを複製する元の Oracle データベースの名前を求めるプロンプトが出されます。 接続を作成する前に、この Oracle データベースが存在すること、およびこのデータベースへのアクセス権限を持つデータベース・ユーザーを作成してセットアップしていることを確認してください。 Data Replication は、同じデータベース内の複数のスキーマにある表のマッピングをサポートします。 enable_goldengate_replication パラメーターを使用して、 Oracle XStream が有効になっていることを確認します。

    一部の Oracle XStream 構成は、 Oracle 接続を作成する前に事前に準備しておく必要があります。

  2. enable_goldengate_replicationを有効にします。 Oracleで XStream レプリケーション機能を有効にするには、ソース・データベースで enable_goldengate_replication システム・パラメーターを設定する必要があります。 以下のステートメントを使用できます。

    ALTER SYSTEM SET enable_goldengate_replication=TRUE SCOPE=BOTH
    

Oracle RAC 内のすべてのインスタンスは、同じ設定でなければなりません。 このパラメータを有効にした場合のデータベースへの影響については、Oracleのドキュメントを参照してください。

  1. Oracle データベース用のユーザー・アカウントを作成します。

    Oracle データベースからデータを複製すると、 Data Replication はデータベース・ログを処理します。 ローカル・キャプチャー用に Data Replication を構成することができます。この場合、ログは、複製するスキーマと同じデータベースで処理されます。 別の方法として、別の Oracle XStream 接続を使用して別のデータベースのログを処理するように Data Replication を構成することもできます。 ローカル・キャプチャーを使用する場合は、単一の Oracle 接続が必要です。 ログ処理に別個の Oracle XStream データベースを使用する場合は、2 つの Oracle 接続が必要になります。1 つは複製するスキーマを含むデータベースに接続するための接続、もう 1 つは Oracle XStream がログを処理するデータベースに接続するための接続です。 このログ処理データベースは、 Oracle ダウンストリーム・データベースにすることができます。

    Oracle ユーザーに必要な特権を確認します。 Oracle 接続を構成する前に、 Oracle ユーザーに必要な特権のリストを確認してください。 SQL スクリプトを実行して、これらの特権をユーザーに付与する必要があります。

    以下のサンプル・スクリプトは、 Oracle データベース・ユーザーおよびログ処理データベース・ユーザーに適切な特権を提供するのに役立ちます。

サンプル・スクリプト createuser-ora-nodba.sql

このスクリプトをコピーし、不等号括弧内の値を置き換えます。 このスクリプトを実行して、 Oracleからデータを複製するための Oracle データベース・ユーザーを作成します。

/* _______________________________________________________ {COPYRIGHT-TOP} _____
** Licensed Materials - Property of IBM
** IBM Data Replication Cartridge for IBM Cloud Pak for Data
** 5900ASF
**
** (c) Copyright IBM Corp. 2001, 2022 All rights reserved.
**
** The following sample of source code ("Sample") is owned by International
** Business Machines Corporation or one of its subsidiaries ("IBM") and is
** copyrighted and licensed, not sold. You may use, copy, modify, and
** distribute the Sample in any form without payment to IBM.
**
** The Sample code is provided to you on an "AS IS" basis, without warranty of
** any kind. IBM HEREBY EXPRESSLY DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR
** IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
** MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Some jurisdictions do
** not allow for the exclusion or limitation of implied warranties, so the above
** limitations or exclusions may not apply to you. IBM shall not be liable for
** any damages you suffer as a result of using, copying, modifying or
** distributing the Sample, even if IBM has been advised of the possibility of
** such damages.
* ________________________________________________________ {COPYRIGHT-END} _____*/

--This script does not grant dba to the data replication user.

-- create user
CREATE user <user> identified by <password>
default tablespace <tablespace_name> temporary tablespace <temporary_tablespace_name>;

-- Grant basic roles
grant connect to <user>;
grant resource to <user>;
grant select_catalog_role to <user>;
grant unlimited tablespace to <user>;

-- Table DDL permissions
grant create any table to <user>;
grant alter any table to <user>;
grant drop any table to <user>;
grant lock any table to <user>;

-- Table DML permissions
grant select any table to <user>;
grant flashback any table to <user>;
grant insert any table to <user>;
grant update any table to <user>;
grant delete any table to <user>;

-- Index and view DDL permissions
grant create any index to <user>;
grant alter any index to <user>;
grant drop any index to <user>;
grant create any view to <user>;
grant drop any view to <user>;

-- Procedure permissions
grant create any procedure to <user>;
grant execute any procedure to <user>;

-- Permission to perform select on the v_$ tables
grant select any dictionary to <user>;

-- General system views
grant select on sys.v_$database to <user>;
grant select on sys.v_$controlfile to <user>;
grant select on sys.v_$version to <user>;
grant select on sys.nls_database_parameters to <user>;

-- Archive and redo logs
grant select on sys.v_$log to <user>;
grant select on sys.v_$logfile to <user>;
grant select on sys.v_$archived_log to <user>;
grant select on sys.v_$log_history to <user>;

-- Sessions and transactions
grant alter session to <user>;
grant select on sys.v_$session to <user>;
grant select on sys.gv_$session to <user>;
grant select on sys.v_$transaction to <user>;
grant select on sys.v_$mystat to <user>;

-- Tables, indexes, columns and related views
grant select on sys.all_coll_types to <user>;
grant select on sys.all_type_attrs to <user>;
grant select on sys.dba_tables to <user>;
grant select on sys.dba_tab_comments to <user>;
grant select on sys.dba_tab_columns to <user>;
grant select on sys.dba_col_comments to <user>;
grant select on sys.dba_indexes to <user>;
grant select on sys.dba_ind_columns to <user>;
grant select on sys.all_constraints to <user>;
grant select on sys.dba_constraints to <user>;
grant select on sys.all_cons_columns to <user>;
grant select on sys.dba_cons_columns to <user>;
grant select on sys.tab$ to <user>;
grant select on sys.ind$ to <user>;
grant select on sys.lob$ to <user>;
grant select on sys.col$ to <user>;
grant select on sys.icol$ to <user>;
grant select on sys.coltype$ to <user>;
grant select on sys.attrcol$ to <user>;
grant select on sys.ccol$ to <user>;
grant select on sys.cdef$ to <user>;

-- Miscellaneous other objects
grant select on sys.obj$ to <user>;
grant select on sys.dba_mviews to <user>;
grant select on sys.dba_objects to <user>;
grant select on sys.dba_sequences to <user>;
grant select on sys.hist_head$ to <user>;
grant select on sys.resource_cost to <user>;

-- Storage
grant select on sys.dba_tablespaces to <user>;
grant select on sys.dba_rollback_segs to <user>;

-- Permissions
grant select on sys.dba_users to <user>;
grant select on sys.dba_sys_privs to <user>;
grant select on sys.dba_tab_privs to <user>;
grant select on sys.dba_profiles to <user>;
grant select on sys.dba_roles to <user>;
grant select on sys.user$ to <user>;
grant select on user_role_privs to <user>;

exit;

サンプル・スクリプト createuser-ora-xstream.sql

このスクリプトをコピーして、不等号括弧内の値を置き換えます。 createuser-ora-xstream.sqlを実行する前に、サンプル・スクリプト createuser-ora-nodba.sql を実行します。 複製するスキーマと同じデータベースでログが処理されるローカル・キャプチャーを使用するように Data Replication を構成する場合は、同じデータベースに対して createuser-ora-nodba.sqlcreateuser-ora-xstream.sql を実行し、 <user>に同じ値を使用します。 複製するスキーマとは別のデータベースにある Oracle XStream プロセス・ログを使用する場合は、オプションで別のユーザーを指定し、データベースに対してスクリプトを実行します。

/* _______________________________________________________ {COPYRIGHT-TOP} _____
** Licensed Materials - Property of IBM
** IBM Data Replication Cartridge for IBM Cloud Pak for Data
** 5900ASF
**
** (c) Copyright IBM Corp. 2001, 2022 All rights reserved.
**
** The following sample of source code ("Sample") is owned by International
** Business Machines Corporation or one of its subsidiaries ("IBM") and is
** copyrighted and licensed, not sold. You may use, copy, modify, and
** distribute the Sample in any form without payment to IBM.
**
** The Sample code is provided to you on an "AS IS" basis, without warranty of
** any kind. IBM HEREBY EXPRESSLY DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR
** IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
** MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Some jurisdictions do
** not allow for the exclusion or limitation of implied warranties, so the above
** limitations or exclusions may not apply to you. IBM shall not be liable for
** any damages you suffer as a result of using, copying, modifying or
** distributing the Sample, even if IBM has been advised of the possibility of
** such damages.
* ________________________________________________________ {COPYRIGHT-END} _____*/

-- This script is a continuation of createuser-ora-nodba.sql script with
-- additional changes needed for data replication user as well as XStream Log
-- Processing Database user. Process all needed privileges from the script
-- createuser-ora-nodba.sql prior to continuing with this script.

-- XStream privileges on data replication User

-- Expected to be used for DBMS_CAPTURE_ADM.BUILD
-- to define XStream Capture initialization points

grant execute on DBMS_CAPTURE_ADM to <user>;

-- Optional privilege that is expected to be used on
-- the target engine required for Recursion Prevention
-- in Bidirectional replication.

grant execute on DBMS_XSTREAM_ADM to <user>;

-- Enable enable_goldengate_replication

-- You need to set the enable_goldengate_replication system parameter on your source
-- database to enable XStream replication capability in Oracle.

ALTER SYSTEM SET enable_goldengate_replication=TRUE SCOPE=BOTH;

-- to enable the enable_goldengate_replication system parameter.
-- All instances in Oracle RAC must have the same setting. Refer to Oracle documentation
-- for further understanding on the impact of enabling this parameter on your database.

-- Setting up Oracle XStream user account.

-- Most work in data replication is done using the Oracle user account.
-- When data replication needs to interact with Oracle XStream it will use the Oracle XStream account.
-- An Oracle XStream account needs sufficient privileges to comply with Oracle XStream user requirements.
-- In a Pluggable database environment, the Oracle user account has all the granted access to the
-- Pluggable database when replication is configured for a pluggable database, whereas the XStream
-- user account has to be defined in the root container database as per Oracle XStream requirements.
-- All Oracle XStream related objects are defined and managed in the container database in this case.

CALL DBMS_XSTREAM_AUTH.GRANT_ADMIN_PRIVILEGE(
  grantee                 => <Log Processing Database User>,
  privilege_type          => 'CAPTURE');

exit;
  1. ログ処理データベースを構成します。 Data Replication 資産を作成すると、 Data Replication で使用する Oracle ログ処理データベースの名前を求めるプロンプトが出されます。 このデータベースは、 Data Replication が接続し、 Oracle XStream API によって提供される論理変更レコードを処理するために接続する XStream アウトバウンド・データベースを提供します。 ローカル Oracle XStream キャプチャーおよびアウトバウンド・サーバーの場合、これは以前と同じデータベースです。 プラグ可能データベースの場合、ログ処理データベースはルート・コンテナー・データベースです。 ダウンストリーム・キャプチャーの場合、ログ処理データベースはダウンストリーム・データベースです。 ログ処理データベースには、enable_goldengate_replication も必要です。

  2. オプション: ダウンストリーム・ログ処理データベースを構成します。 リアルタイム・ダウンストリーム・キャプチャーまたはアーカイブ・ログ・ダウンストリーム・キャプチャーのいずれかを構成するには、いくつかのステップが必要です。 Oracle XStream の資料を参照して、データベース・リンクとログ・ファイル転送を構成します。

  3. Oracle XStream ユーザー・アカウントをセットアップします。 Data Replication での作業のほとんどは、 Oracle ユーザー・アカウントを使用して行われます。 Data Replication は、 Oracle XStream と対話する必要がある場合、 Oracle XStream アカウントを使用します。 Oracle XStream アカウントには、 Oracle XStream ユーザー要件に準拠するための十分な特権が必要です。 プラグ可能データベース環境では、レプリケーションがプラグ可能データベース用に構成されている場合、 Oracle ユーザー・アカウントには、プラグ可能データベースへのアクセス権限がすべて付与されます。 ただし、XStream ユーザー・アカウントは、 Oracle XStream 要件に従ってルート・コンテナー・データベースで定義する必要があります。 この場合、すべての Oracle XStream 関連コンポーネントは、ルート・コンテナー・データベースで定義および管理されます。 DBMS_XSTREAM_AUTH.GRANT_ADMIN_PRIVILEGE 。 Oracle XStream アウトバウンド・データベース資格情報では、大/小文字が区別されます。 詳細については、Oracleのドキュメントを参照してください。

  4. データベース・メタデータ表に関するスキーマを作成するか、または既存のスキーマを選択します。 Data Replicationを構成するときに、このスキーマを指定する必要があります。

プロジェクトでの Oracle への接続

プライベート接続の場合、インターネットに外部化されていないデータベース (例えば、ファイアウォールの内側) に接続するには、 セキュア接続をセットアップする必要があります。

Cloud Pak for Data as a ServiceのプロジェクトでOracleに接続するには、Oracle接続を参照してください。

Data Replication の開始

Data Replication 資産を作成するには、以下の手順を実行します。

  1. プロジェクトの 「資産」 タブをクリックします。
  2. 「新規資産」>「データの複製」をクリックします。
  3. 名前を入力します。
  4. 「接続」をクリックします。
  5. ソースオプシ ョ ン]ページで、 接続の一覧から既存のOracleを選択するか、[接続の追加] をク リ ックして新しい接続を作成します。
  6. Oracle 接続には追加のパラメーターが必要です。 Oracle XStream には、a という 2 つのオプションがあります。 ソース接続と同じデータベース内のログを処理するには、 「ローカル・キャプチャー」 を選択します。 a. 別個のデータベースでログを処理するための別個の Oracle XStream 接続を選択します。 i。 「リアルタイム・ダウンストリーム・キャプチャー」を選択しない場合、オプションには PDB/CDB およびアーカイブ・ログ・ダウンストリーム・キャプチャーが含まれます。 i。 「リアルタイム・ダウンストリーム・キャプチャー」を選択すると、別のデータベースでログを処理するために別個の Oracle XStream 接続が使用されます。
  7. 「データの選択」をクリックし、スキーマを選択し、オプションでスキーマから表を選択します。
  8. ターゲット・オプション・ページで、リストからOracle接続を選択します。
  9. Reviewページで概要を確認し、Createをクリックする。

親トピック: サポートされた Data Replication 接続

生成 AI の検索と回答
これらの回答は、製品資料の内容に基づいて、 watsonx.ai のラージ言語モデルによって生成されます。 詳細