0 / 0
Go back to the English version of the documentation
Replikowanie danych Oracle
Last updated: 28 cze 2023
Replikowanie danych Oracle

Dane z bazy danych Oracle można replikować za pomocą opcji Data Replication.

Aby skonfigurować replikację dla danych Oracle , najpierw skonfiguruj bazę danych Oracle jako źródło, a następnie utwórz połączenie.

Obsługiwane wersje

Oracle 19c R1 (19.1)+

Ograniczenia

Możliwe jest replikowanie tylko niektórych typów danych Oracle . Patrz sekcja Obsługiwane typy danych Oracle.

Konfigurowanie Oracle jako źródła

Przed rozpoczęciem replikacji z połączeniem Oracle należy upewnić się, że wymagania dotyczące bazy danych, kont użytkowników i schematu zostały spełnione.

  1. Skonfiguruj bazę danych Oracle . Podczas konfigurowania połączenia Oracle użytkownik jest proszony o podanie nazwy bazy danych Oracle , z której Data Replication ma replikować dane. Przed utworzeniem połączenia należy upewnić się, że ta baza danych Oracle istnieje i że użytkownik tworzy i tworzy użytkownika bazy danych, który ma do niego dostęp. Data Replication obsługuje tabele odwzorowań, które znajdują się w wielu schematach w obrębie tej samej bazy danych. Upewnij się, że parametr Oracle XStream jest włączony za pomocą parametru enable_goldengate_replication .

    Niektóre z konfiguracji Oracle XStream muszą być przygotowane z wyprzedzeniem przed utworzeniem połączenia Oracle .

  2. Włącz enable_goldengate_replication. Aby włączyć możliwość replikacji XStream w bazie danych Oracle, należy ustawić parametr systemowy enable_goldengate_replication w źródłowej bazie danych. Można użyć następującej instrukcji:

    ALTER SYSTEM SET enable_goldengate_replication=TRUE SCOPE=BOTH
    

Wszystkie instancje w produkcie Oracle RAC muszą mieć takie same ustawienia. Zapoznaj się z dokumentacją Oracle , aby poznać wpływ włączania tego parametru na bazę danych.

  1. Utwórz konto użytkownika dla bazy danych Oracle .

    Replikacja danych z baz danych Oracle powoduje, że Data Replication przetwarza dzienniki bazy danych. Program Data Replication można skonfigurować na potrzeby lokalnego przechwytywania, w którym dzienniki są przetwarzane w tej samej bazie danych, co schematy, które są replikowane. Alternatywnie można skonfigurować Data Replication w taki sposób, aby używała oddzielnego połączenia Oracle XStream w celu przetwarzania dzienników w innej bazie danych. Jeśli używane jest przechwytywanie lokalne, wymagane jest pojedyncze połączenie Oracle . Jeśli do przetwarzania dziennika używana jest oddzielna baza danych Oracle XStream, potrzebne będą dwa połączenia Oracle : jeden do nawiązania połączenia z bazą danych, który zawiera replikację schematu, oraz jeden do nawiązania połączenia z bazą danych, w której Oracle XStream przetwarza dzienniki. Ta baza danych przetwarzania dziennika może być bazą danych Oracle w dalszym ciągu.

    Zapoznaj się z wymaganymi uprawnieniami dla użytkowników Oracle . Przed skonfiguroniem połączeń Oracle należy zapoznać się z listą uprawnień, które są wymagane przez użytkowników Oracle . Użytkownik musi nadać te uprawnienia użytkownikom, uruchamiając skrypty SQL.

    Następujące przykładowe skrypty mogą pomóc w dostarczyniu odpowiednich uprawnień użytkownikowi bazy danych Oracle i użytkownikowi bazy danych przetwarzania dziennika.

Przykładowy skrypt createuser-ora-nodba.sql

Skopiuj ten skrypt i zastąp wartości w nawiasach trójkątnych. Uruchom ten skrypt, aby utworzyć użytkownika bazy danych Oracle do replikowania danych z bazy danych 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;

Przykładowy skrypt createuser-ora-xstream.sql

Skopiuj ten skrypt i zastąp wartości w nawiasach trójkątnych. Uruchom przykładowy skrypt createuser-ora-nodba.sql przed uruchomieniem programu createuser-ora-xstream.sql. Jeśli opcja Data Replication zostanie skonfigurowana w taki sposób, aby używane było lokalne przechwytywanie, w którym dzienniki są przetwarzane w tej samej bazie danych, co replikowane schematy, należy uruchomić produkt createuser-ora-nodba.sql i createuser-ora-xstream.sql w odniesieniu do tej samej bazy danych i użyć tej samej wartości dla produktu <user>. Jeśli użytkownik woli, aby proces Oracle XStream logował się w osobnej bazie danych ze schematów, które są replikowane, opcjonalnie podaj innego użytkownika i uruchom skrypt dla bazy danych.

/* _______________________________________________________ {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. Skonfiguruj bazę danych przetwarzania dziennika. Po utworzeniu zasobu Data Replication zostanie wyświetlona prośba o podanie nazwy bazy danych przetwarzania dziennika Oracle , która ma być używana przez program Data Replication . Ta baza danych obsługuje wychodzącą bazę danych XStream, z którą Data Replication łączy się i dołącza do przetwarzania rekordów zmian logicznych, które są dostarczane przez interfejs API Oracle XStream. W przypadku lokalnego serwera przechwytywania i przetwarzania danych Oracle XStream jest to ta sama baza danych, co wcześniej. W przypadku podłączanych baz danych, baza danych przetwarzania dziennika jest główną bazą danych kontenerów. Dla dalszego przechwytywania baza danych przetwarzania dziennika jest bazą danych. Baza danych przetwarzania dzienników wymaga również aktywne_goldengate_replication.

  2. Opcjonalnie: Skonfiguruj bazę danych przetwarzania dziennika znajdującego się poniżej. Aby skonfigurować przechwytywanie w czasie rzeczywistym lub przechwytywanie dziennika archiwalnego w czasie rzeczywistym, należy wykonać kilka kroków. Zapoznaj się z dokumentacją Oracle XStream, aby skonfigurować połączenia z bazą danych i przesyłanie plików dziennika.

  3. Skonfiguruj konto użytkownika Oracle XStream. Większość pracy w Data Replication jest wykonywana przy użyciu konta użytkownika Oracle . Gdy opcja Data Replication musi współdziałać z produktem Oracle XStream, korzysta z konta Oracle XStream. Konto Oracle XStream wymaga wystarczających uprawnień do spełnienia wymagań użytkownika Oracle XStream. W środowisku podłączonym do bazy danych konto użytkownika Oracle ma wszystkie nadane prawa dostępu do podłączanej bazy danych, gdy replikacja jest konfigurowalna dla podłączonej bazy danych. Jednak konto użytkownika XStream musi być zdefiniowane w bazie danych kontenera głównego zgodnie z wymaganiami Oracle XStream. Wszystkie komponenty powiązane ze strumieniem Oracle XStream są zdefiniowane i zarządzane w bazie danych kontenera głównego w tym przypadku. Może być używany parametr DBMS_XSTREAM_AUTH.GRANT_ADMIN_PRIVILEGE , aby nadać uprawnienia do konta użytkownika XStream. W referencjach wychodzących bazy danych Oracle XStream są rozróżniane wielkości liter. Aby uzyskać więcej informacji, zapoznaj się z dokumentacją Oracle documentation.

  4. Utwórz schemat lub wybierz istniejący schemat dla tabel metadanych bazy danych. Ten schemat należy określić podczas konfigurowania Data Replication.

Nawiąże połączenie z bazą danych Oracle w projekcie

W przypadku opcji Połączenia prywatnew celu nawiązania połączenia z bazą danych, która nie jest eksternalizowana do Internetu (na przykład za firewallem), należy skonfigurować bezpieczne połączenie.

Aby nawiązać połączenie z produktem Oracle w projekcie w produkcie Cloud Pak for Data as a Service, należy zapoznać się z Połączenie Oracle.

Uruchamianie Data Replication

Aby utworzyć zasób Data Replication :

  1. Na karcie Zasoby w projekcie kliknij opcję Nowy zasób aplikacyjny.
  2. Wybierz typ zasobu Data Replication .
  3. Wprowadź nazwę.
  4. Kliknij opcję Połączenia.
  5. Na stronie Opcje źródłowe wybierz pozycję Oracle z listy połączeń lub kliknij opcję Dodaj połączenie , aby utworzyć nowe połączenie.
  6. Połączenia Oracle wymagają dodatkowych parametrów. Dostępne są dwie opcje Oracle XStream: a. Wybierz opcję Przechwytywanie lokalne , aby przetworzyć dzienniki w tej samej bazie danych, co połączenie źródłowe. a. Wybierz osobne połączenie Oracle XStream, aby przetwarzać dzienniki w osobnej bazie danych. i. Jeśli nie zostanie wybrana opcja Przechwytywanie po czasie rzeczywistym w czasie rzeczywistym, do opcji zostaną uwzględnione przechwytywanie PDB/CDB i rejestrowanie zarchiwizowanych dzienników. i. Jeśli zostanie wybrana opcja Przechwytywanie w czasie rzeczywistym w czasie rzeczywistym, do przetwarzania dzienników w innej bazie danych będzie używany oddzielny połączenie Oracle XStream.
  7. Kliknij opcję Wybierz dane, wybierz schemat i opcjonalnie tabelę ze schematu.
  8. Kliknij opcję Opcje docelowe , a następnie wybierz połączenie Oracle z listy.
  9. Kliknij opcję Przegląd.
  10. Przejrzyj podsumowanie, a następnie kliknij przycisk Utwórz.

Temat nadrzędny: Obsługiwane połączenia Data Replication