Fusion Middleware Installing and Configuring Oracle GoldenGate for Oracle Database: https://docs.oracle.com/goldengate/c1221/gg-winux/GIORA/GUID-3108B63B-F2A2-446E-8006-D685C8E9B3A3.htm#GIORA110
Fusion Middleware Oracle GoldenGate Release Notes for Windows and UNIX :https://docs.oracle.com/goldengate/c1221/gg-winux/GRLWU/index.html
================================= Oracle Fusion Middleware Installing and Configuring Oracle GoldenGate for Oracle Database
Preface System Requirements and Preinstallation Instructions Installing Oracle GoldenGate Preparing the Database for Oracle GoldenGate Establishing Oracle GoldenGate Credentials Choosing Capture and Apply Modes Configuring Oracle GoldenGate in a Multitenant Container Database Configuring Capture in Integrated Mode Configuring Capture in Classic Mode Configuring Oracle GoldenGate Apply Additional Oracle GoldenGate Configuration Considerations Additional Configuration Steps for Using Classic Capture Additional Configuration Steps For Using Nonintegrated Replicat Configuring DDL Support Creating Process Groups Instantiating Oracle GoldenGate Replication Managing the DDL Replication Environment Uninstalling Oracle GoldenGate Optional Parameters for Integrated Modes Configuring a Downstream Mining Database Example Downstream Mining Configuration Installing Trigger-Based DDL Capture Supporting Changes to XML Schemas Preparing DBFS for an Active-Active Configuration Oracle GoldenGate Installed Components
======================================================================= 1 System Requirements and Preinstallation Instructions 本章包含支持Oracle GoldenGate的系統和數據庫資源的要求。本章包括以下部分 Verifying Certification and System Requirements Operating System Requirements Oracle Universal Installer Requirements for Oracle GoldenGate Database Configuration Summary of Supported Oracle Data Types and Objects Per Capture Mode Details of Support for Oracle Data Types Details of Support for Objects and Operations in Oracle DML Details of Support for Objects and Operations in Oracle DDL Supported and Non-supported Object Names
1.1 Verifying Certification and System Requirements 確保您在支持的硬件或軟件配置上安裝產品。 有關更多信息,請參閱Oracle Fusion Middleware Supported System Configurations("Oracle融合中間件支持的系統配置")頁面上的發行證書文檔。
1.2 Operating System Requirements操作系統檢查 1.2.1 Memory Requirements For more information about evaluating Oracle GoldenGate memory requirements, see the CACHEMGR parameter in Reference for Oracle GoldenGate for Windows and UNIX. 有關評估Oracle GoldenGate內存需求的更多信息,請參閱Oracle GoldenGate for Windows和UNIX的參考中的CACHEMGR參數。
1.2.2 Disk Requirements 1.2.2.1 Disk Requirements for Oracle GoldenGate Installation Files This section shows the disk requirements for a manual installation and for an installation through OUI. 本部分顯示手動安裝和通過OUI安裝的磁盤要求。 Table 1-1 shows the disk space that is consumed by the files of one Oracle GoldenGate installation in a manual build. A manual build does not use OUI. The person installing Oracle GoldenGate uncompresses the files and creates the working directories. 表1-1顯示了手動構建中一個Oracle GoldenGate安裝文件所消耗的磁盤空間。 手動構建不使用OUI。 安裝Oracle GoldenGate的人員解壓縮文件并創建工作目錄。
Disk Requirements for an OUI Build Platform Oracle Version Compressed Size (MB) Installed Size (MB) Linux 12c 325 zip file 521 329 OUI installer 1.2.2.2 Other Disk Space Considerations 除了由GoldenGate安裝的文件和二進制文件所需的磁盤空間之外,還可以在承載Oracle GoldenGate跟蹤(或小節)的任何系統上額外增加1 GB的磁盤空間。
1.2.2.3 Installing in a Cluster 要將Oracle GoldenGate安裝到集群環境中,請將Oracle GoldenGate二進制文件和文件作為Oracle用戶安裝到所有集群節點可用的共享文件系統上。 有關詳細信息,請參閱準備在群集中安裝Oracle GoldenGate。
1.2.5 Console Character Sets 您可以使用以下DOS命令在打開GGSCI會話之前設置控制臺的字符集: chcp OS character set
1.3 Oracle Universal Installer Requirements for Oracle GoldenGate
1.4 Database Configuration數據庫配置 本節包含特定于Oracle數據庫的Oracle GoldenGate要求。 除非明確指出,否則這兩種捕獲模式都適用。 If you are using the DBMS_LOB.LOADFROMFILE procedure to update a LOB column only and your supplemental log is on all the columns, Integrated Extract captures the key columns and LOB improving performance. Classic Extract captures the all the columns by default. These behaviors do not effect like to like replications. However, with a replication to data warehouse, you may want all the columns for update. If you are converting from Classic Extract to Integrated Extract, you must use one of the following parameters to ensure that the Extract operates correctly: 如果您正在使用DBMS_LOB.LOADFROMFILE過程來更新LOB列,并且您的補充日志位于所有列上,Integrated Extract將捕獲關鍵列和LOB以提高性能。 Classic Extract默認捕獲所有列。 這些行為并不像喜歡復制一樣。 但是,通過復制到數據倉庫,您可能希望更新所有列。 如果要從Classic Extract轉換為Integrated Extract,則必須使用以下參數之一來確保提取操作正確:
Use KEYCOLS to add all columns (except LOB).
Use LOGALLSUPCOLS to control the writing of supplementally logged columns. Database user privileges and configuration requirements are explained in “Establishing Oracle GoldenGate Credentials”. 數據庫用戶權限和配置要求在建立Oracle GoldenGate憑據中有所描述。
If the database is configured to use a bequeath connection, the sqlnet.ora file must contain the bequeath_detach=true setting. 如果數據庫配置為使用bequeath連接,則sqlnet.ora文件必須包含bequeath_detach = true設置。
To install Oracle GoldenGate in an Oracle Real Application Cluster (RAC) environment, install Oracle GoldenGate on the shared drive(s) that are accessed by the RAC nodes. For more information, see Preparing to Install Oracle GoldenGate Within a Cluster. 要在Oracle Real Application Cluster(RAC)環境中安裝Oracle GoldenGate,請在由RAC節點訪問的共享驅動器上安裝Oracle GoldenGate。 有關詳細信息,請參閱準備在群集中安裝Oracle GoldenGate。
(Integrated capture mode) Integrated Capture mode makes use of a logmining server on the source system or in a downstream Oracle Database. Refer to My Oracle Support article 1557031.1 for all Oracle Database release bundled patches for Oracle GoldenGate. (集成捕獲模式)集成捕獲模式使用源系統或下游Oracle數據庫中的登錄服務器。 有關Oracle GoldenGate的所有Oracle數據庫版本捆綁補丁,請參閱我的Oracle支持文章1557031.1。
To use integrated capture with an Oracle 11.2.0.3 source database, download and install the 11.2.0.3 database specific bundled patch required for Integrated Extract. For more information, see Choosing Capture and Apply Modes. 要使用集成捕獲與Oracle 11.2.0.3源數據庫,請下載并安裝Integrated Extract所需的11.2.0.3數據庫特定的捆綁補丁。有關詳細信息,請參閱選擇捕獲和應用模式。
Oracle Databases must be in ARCHIVELOG mode so that Extract can process the log files. Oracle數據庫必須處于ARCHIVELOG模式,以便Extract可以處理日志文件。
1.5 Summary of Supported Oracle Data Types and Objects Per Capture Mode 每種捕獲模式支持的Oracle數據類型和對象摘要 table 1-3 summarizes the way that Oracle GoldenGate supports the Oracle data types according to the capture mode that you choose. For more information about capture modes, see Deciding Which Capture Method to Use. 表1-3總結了Oracle GoldenGate根據您選擇的捕獲模式支持Oracle數據類型的方式。 有關捕獲模式的更多信息,請參閱確定要使用的捕獲方法。
Detailed support information for Oracle data types, objects, and operations starts with Details of Support for Oracle Data Types. 有關Oracle數據類型,對象和操作的詳細支持信息,請參閱Oracle數據類型支持詳細信息。
1.6 Details of Support for Oracle Data Types Oracle數據類型支持的詳細信息 The following outlines details of Oracle data type support by Oracle GoldenGate. Unless otherwise noted, the support applies to both classic and integrated capture mode. For more information about these modes, see Choosing “Capture and Apply Modes”. 以下概述了Oracle GoldenGate支持的Oracle數據類型的詳細信息。 除非另有說明,否則支持適用于經典和集成捕獲模式。 有關這些模式的更多信息,請參閱選擇捕獲和應用模式。
1.6.1 ANYDATA Data Types 1.6.1.1 Limitations of Support Your source database compatibility must be set to 11.2.0.0.0 or higher. Support for named collections and VARRAYs embedded within those data types. 您的源數據庫兼容性必須設置為11.2.0.0.0或更高版本。 支持嵌入在這些數據類型中的命名集合和VARRAY。
1.6.2 Numeric Data Types 1.6.2.1 Limitations of Support The support of the range and precision for floating-point numbers depends on the host machine. In general, the precision is accurate to 16 significant digits, but you should review the database documentation to determine the expected approximations. Oracle GoldenGate rounds or truncates values that exceed the supported precision. 浮點數的范圍和精度的支持取決于主機。 一般來說,精確度精確到16位有效數字,但您應該查看數據庫文檔以確定預期的近似值。 Oracle GoldenGate可以舍入或截斷超出支持的精度的值。
1.6.3 Character Data Types 1.6.3.1 Limitations of Support If an extended VARCHAR column is part of unique index or constraint, then direct path inserts to this table may cause Replicat to abend with a warning. Verify that the extended VARCHAR caused the abend by checking all_indexes/all_ind_columns for a unique index or all_cons_columns/all_constraints for a unique constraint. Once you determine that an extended VARCHAR, you can temporarily drop the index or disable the constraint: 如果擴展的VARCHAR列是唯一索引或約束的一部分,則直接路徑插入此表可能會導致Replicat退出警告。 通過檢查唯一索引的all_indexes / all_ind_columns來檢查擴展VARCHAR是否導致了異常,或者唯一約束的all_cons_columns / all_constraints。 確定擴展的VARCHAR后,您可以臨時刪除索引或禁用約束:
For Unique Index: drop index t2u; For Unique Constraint: alter table v32ind modify constraint sys_c0010125 disable;
Extended (32K) VARCHAR2 and NVARCHAR2 columns are supported when Extract is in integrated capture mode. All modes of Replicat support 32K VARCHAR2 and NVARCHAR2 columns. The following limitations apply: Extract處于集成捕獲模式時,支持擴展(32K)VARCHAR2和NVARCHAR2列。 Replicat的所有模式都支持32K VARCHAR2和NVARCHAR2列。 以下限制適用:
Oracle GoldenGate does not support 32K VARCHAR2 and NVARCHAR2 columns as part of a key or unique index, nor as a column in a KEYCOLS clause of the TABLE or MAP parameter. 32K columns cannot be used as row identifiers because they are not supplementally logged even when part of a primary key.
32K columns are not supported as resolution columns in a CDR (conflict resolution and detection) configuration nor as the basis for any other work that requires a column value to be present in the transaction log.
Oracle GoldenGate does not limit the number of 32K columns, but each trail record has a length limit of 4MB for inline records. The number of 32K columns that reaches this limit is approximately 160 columns, but the number of columns also depends on the actual size of the extended VARCHAR2 column.
1.6.4 Multi-byte Character Types 多字節字符類型
1.6.5 Binary Data Types二進制數據類型
1.6.6 Date and Timestamp Data Types 日期和時間戳數據類型
1.6.7 Large Object Data Types
1.6.8 XML Data Types
1.6.9 User Defined or Abstract Types 用戶定義或抽象類型
1.6.10 Non-Supported Oracle Data Types 不支持的Oracle數據類型
1.7 Details of Support for Objects and Operations in Oracle DML: Oracle DML中對象和操作的支持細節 This section outlines the Oracle objects and operations that Oracle GoldenGate supports for the capture and replication of DML operations. 本節概述Oracle GoldenGate支持捕獲和復制DML操作的Oracle對象和操作。
1.7.1 Multitenant Container Databases多租戶集裝箱數據庫 Oracle GoldenGate captures from, and delivers to, a multitenant container database. See Configuring Oracle GoldenGate in a Multitenant Container Database for more information about how Oracle GoldenGate supports multitenant container databases. Oracle GoldenGate從多租戶容器數據庫捕獲并傳遞給多租戶集裝箱數據庫。 有關Oracle GoldenGate如何支持多租戶容器數據庫的更多信息,請參閱在多租戶容器數據庫中配置Oracle GoldenGate。
1.7.2 Tables, Views, and Materialized Views Oracle GoldenGate supports the following DML operations made to regular tables, index-organized tables, clustered tables, and materialized views. Oracle GoldenGate支持對常規表,索引組織表,聚簇表和物化視圖進行的以下DML操作: INSERT UPDATE DELETE Associated transaction control operations 您可以使用DBA_GOLDENGATE_SUPPORT_MODE數據字典視圖顯示有關Oracle GoldenGate捕獲進程對數據庫中表的支持級別的信息。 有關更多信息,請參閱"Oracle數據庫參考"。 1.7.3 Sequences
1.7.4 Non-supported Objects and Operations in Oracle DML
1.8 Details of Support for Objects and Operations in Oracle DDL :Oracle DDL中對象和操作支持的詳細信息 This section outlines the Oracle objects and operation types that Oracle GoldenGate supports for the capture and replication of DDL operations. For more information about DDL support, see the following: 本節概述了Oracle GoldenGate支持捕獲和復制DDL操作的Oracle對象和操作類型。 有關DDL支持的更多信息,請參閱以下內容: Configuring DDL Support 配置DDL支持 Installing Trigger-Based DDL Capture (Trigger-based capture is required for Oracle releases that are earlier than version 11.2.0.4. If Extract will run in integrated mode against a version 11.2.0.4 or later Oracle Database, the DDL trigger and supporting objects are not required.) 安裝基于觸發器的DDL捕獲(低于版本11.2.0.4的Oracle版本需要基于觸發器的捕獲)。如果Extract將針對11.2.0.4或更高
1.8.1 Supported Objects and Operations in Oracle DDL:Oracle DDL中支持的對象和操作 When the source database is Oracle 11.2.0.4 or later and Extract operates in integrated mode, DDL capture support is integrated into the database logmining server and does not require the use of a DDL trigger. You must set the database parameter compatibility to 11.2.0.4.0. In integrated capture mode, Extract supports DDL that includes password-based column encryption 當源數據庫是Oracle 11.2.0.4或更高版本,Extract以集成模式運行時,DDL捕獲支持集成到數據庫登錄服務器中,不需要使用DDL觸發器。 您必須將數據庫參數兼容性設置為11.2.0.4.0。 在集成捕獲模式下,Extract支持包含基于密碼的列加密的DDL 注意:Password-based column encryption in DDL is not supported in classic capture mode.
The following additional statements apply to both integrated and classic capture modes with respect to DDL support.以下附加說明適用于DDL支持的集成和經典捕獲模式。 Oracle DDL復制支持所有Oracle GoldenGate拓撲配置。在包含相同元數據的兩個(而且只有兩個)數據庫之間支持Oracle DDL的主動(雙向)復制。Oracle GoldenGate支持以下對象上的DDL: 對于以下Oracle數據庫對象,集成的Extract支持Oracle DDL的基于Oracle版本的重新定義(EBR)數據庫復制
1.8.2 Non-supported Objects and Operations in Oracle DDL:Oracle DDL中不支持的對象和操作 These statements apply to integrated and classic capture modes.
1.8.2.1 Excluded Objects
1.8.2.2 Other Non-supported DDL
1.9 Supported and Non-supported Object Names 支持的和不支持的對象名稱 Oracle object names are case insensitive by default, but can be made case-sensitive with the use of double quotes. Oracle GoldenGate supports Oracle case-sensitivity. For information about Oracle GoldenGate support for object names and case, see Administering Oracle GoldenGate for Windows and UNIX. Oracle對象名稱默認情況下不區分大小寫,但可以使用雙引號使其區分大小寫。 Oracle GoldenGate支持Oracle區分大小寫。 有關Oracle GoldenGate對對象名稱和大小寫的支持的信息,請參閱管理Oracle GoldenGate for Windows和UNIX。
2 Installing Oracle GoldenGate安裝Oracle GoldenGate 本章包括首次安裝Oracle GoldenGate的說明。 安裝Oracle GoldenGate安裝運行和管理處理所需的所有組件(不包括其他供應商所需的任何組件,如驅動程序或庫),并安裝Oracle GoldenGate實用程序。 本章包括以下部分: Understanding and Obtaining the Oracle GoldenGate Distribution Setting ORACLE_HOME and ORACLE_SID Setting Library Paths for Dynamic Builds on UNIX Preparing to Install Oracle GoldenGate Within a Cluster Installing Oracle GoldenGate Integrating Oracle GoldenGate into a Cluster
These instructions are for installing Oracle GoldenGate for the first time. Additionally, they are for downloading the base release of a new version of Oracle GoldenGate.這些說明首次用于安裝Oracle GoldenGate。 此外,它們用于下載新版本的Oracle GoldenGate的基本版本。 To download and install subsequent patches to the base release, go to the Patches and Updates tab of My Oracle Support at:http://support.oracle.com To upgrade Oracle GoldenGate from one version to another, follow the upgrade instructions at:http://docs.oracle.com/goldengate/c1221/gg-winux/index.html
2.1 Understanding and Obtaining the Oracle GoldenGate Distribution 了解和獲取Oracle GoldenGate發行版 For complete information about how to obtain Oracle Fusion Middleware software, see "Understanding and Obtaining Product Distributions" in Planning an Installation of Oracle Fusion Middleware.
To download the Oracle WebLogic Server and Coherence software for development or evaluation, see the following location on the Oracle Technology Network (OTN): http://www.oracle.com/technetwork/middleware/fusion-middleware/downloads/index.html
For more information about locating and downloading Oracle Fusion Middleware products, see the Oracle Fusion Middleware Download, Installation, and Configuration Readme Files on OTN.
To obtain Oracle GoldenGate follow these steps: 1.Go to Oracle Technology Network. 2.Find the Oracle GoldenGate 12c (12.2.0.1) release and download the ZIP file onto your system.
2.2 Setting ORACLE_HOME and ORACLE_SID 設置ORACLE_HOME和ORACLE_SID 確保將ORACLE_HOME和ORACLE_SID系統環境變量設置為正確的Oracle實例。 連接到數據庫時,Oracle GoldenGate進程引用它們。 If there is one instance of Oracle Database on the system, set the ORACLE_HOME and ORACLE_SID environment variables at the system level. If you cannot set them that way, use the following SETENV statements in the parameter file of every Extract and Replicat group that will be connecting to the instance. The SETENV parameters override the system settings and allow the Oracle GoldenGate process to set the variables at the session level when it connects to the database. 如果系統上有一個Oracle數據庫實例,請在系統級別設置ORACLE_HOME和ORACLE_SID環境變量。 如果不能以這種方式設置,請在將連接到實例的每個"提取"和"復制"組的參數文件中使用以下SETENV語句。 SETENV參數覆蓋系統設置,并允許Oracle GoldenGate進程在連接到數據庫時將變量設置為會話級別。
SETENV (ORACLE_HOME = "path to Oracle home location") SETENV (ORACLE_SID = "SID")
If there are multiple Oracle instances on the system with Extract and Replicat processes connecting to them, you will need to use a SETENV statement in the parameter file of each process group. As input to the SETENV parameter, use the ORACLE_HOME and ORACLE_SID environment variables to point Oracle GoldenGate to the correct Oracle instance. For example, the following shows parameter files for two Extract groups, each capturing from a different Oracle instance. 如果系統上有多個連接了Extract和Replicat進程的Oracle實例,則需要在每個進程組的參數文件中使用SETENV語句。 作為SETENV參數的輸入,使用ORACLE_HOME和ORACLE_SID環境變量將Oracle GoldenGate指向正確的Oracle實例。 例如,以下顯示兩個"提取"組的參數文件,每個從不同的Oracle實例捕獲。
2.3 Setting Library Paths for Dynamic Builds on UNIX:在UNIX上設置動態構建的庫路徑 Oracle GoldenGate使用共享庫。 在UNIX系統上安裝Oracle GoldenGate時,在運行GGSCI或任何其他Oracle GoldenGate進程之前,以下內容必須為真: 1.確保將數據庫庫添加到系統的共享庫環境變量中。 此過程通常在數據庫安裝時執行。 如果您有任何問題,請咨詢數據庫管理員。 當Oracle GoldenGate在與數據庫相同的服務器上運行時,以下所有內容必須為64位:Oracle library versions;Oracle GoldenGate version;Database versions; 當Oracle GoldenGate通過SQL * Net遠程連接到數據庫服務器時,需要以下內容: Replicat: The Oracle client library and the Oracle GoldenGate build must have the same Oracle version, bit type (64-bit or IA64), and operating system version. Extract: The Oracle client library and the Oracle GoldenGate build must have the same Oracle version, bit type (64-bit or IA64), and operating system version. In addition, both operating systems must be the same endian. 2.如果您將在UNIX系統上從Oracle GoldenGate安裝目錄外部運行Oracle GoldenGate程序 (Optional) Add the Oracle GoldenGate installation directory to the PATH environment variable. (可選)將Oracle GoldenGate安裝目錄添加到PATH環境變量中。 (Required) Add the Oracle GoldenGate installation directory to the shared-libraries environment variable. (必需)將Oracle GoldenGate安裝目錄添加到共享庫環境變量中。
Where shared libraries variable is one of the variables shown in Table 2-1:共享庫變量是表2-1中顯示的變量之一 Platform Environment variable LINUX LD_LIBRARY_PATH
注意: To view the libraries that are required by an Oracle Oracle GoldenGate process, use the ldd goldengate_process shell command before starting the process. This command also shows an error message for any that are missing. 要查看Oracle Oracle GoldenGate進程所需的庫,請在啟動該進程之前使用ldd goldengate_process shell命令。 此命令還顯示任何缺少的錯誤消息。
2.4 Preparing to Install Oracle GoldenGate Within a Cluster 在集群中安裝Oracle GoldenGate 本主題介紹了在集群環境中安裝Oracle GoldenGate時的安裝要求。 Oracle GoldenGate可以與任何能夠自動進行故障切換的集群管理解決方案配合使用。 Oracle Clusterware解決方案提供了能夠與或不與Oracle RAC數據庫一起使用的優點,從而可以包括運行Oracle GoldenGate的任何非數據庫服務器。
2.4.1 Deciding Where to Install Oracle GoldenGate Binaries and Files in the Cluster
2.4.2 Example Oracle Cluster Storage
2.5 Installing Oracle GoldenGate 安裝Oracle GoldenGate 2.5.1 Performing an Interactive Installation with OUI 使用OUI執行交互式安裝 OUI安裝在數據庫版本在11g及以上才支持
The interactive installation provides a graphical user interface that prompts for the required installation information. These instructions apply to new installations as well as upgrades. However, to perform an upgrade to Oracle GoldenGate, follow the instructions in Upgrading Oracle GoldenGate for Windows and UNIX, which includes a prompt to run OUI at the appropriate time. 交互式安裝提供了一個圖形用戶界面,提示所需的安裝信息。 這些說明適用于新的安裝和升級。 但是,要執行升級到Oracle GoldenGate,請按照升級Oracle GoldenGate for Windows和UNIX的說明進行操作,其中包括在適當時間運行OUI的提示。
2.5.2 Performing a Silent Installation with OUI 使用OUI執行靜默安裝 You perform a silent installation by running a response file. You can create a response file by selecting the Save Response File option during an interactive OUI session or by editing a template, as shown in Example 2-4. To run a response file, issue the following command. 您可以通過運行響應文件執行靜默安裝。 您可以通過在交互式OUI會話期間選擇保存響應文件選項或通過編輯模板來創建響應文件,如示例2-4所示。 要運行響應文件,請發出以下命令。 ./runIntailler -silent -nowait -responseFile path_to_file
2.6 Integrating Oracle GoldenGate into a Cluster If you installed Oracle GoldenGate in a cluster, take the following steps to integrate Oracle GoldenGate within the cluster solution.
For more information about installing and using Oracle GoldenGate in a cluster, see the Oracle GoldenGate with Oracle Real Application Clusters Configuration white paper http://www.oracle.com/technetwork/database/features/availability/maa-goldengate-rac-2007111.pdf.
2.6.1 General Requirements in a Cluster
2.6.2 Adding Oracle GoldenGate as a Windows Cluster Resource
3 Preparing the Database for Oracle GoldenGate 準備Oracle GoldenGate數據庫 This chapter contains steps to take so that the source Oracle Database is configured properly to support the capture of transactional changes. 本章包含采取的步驟,以便正確配置源Oracle數據庫以支持事務性更改的捕獲。
This chapter includes the following sections:本章包括以下部分 Configuring Connections for Integrated Processes Configuring Logging Properties Enabling Oracle GoldenGate in the Database Setting Flashback Query Managing Server Resources
3.1 Configuring Connections for Integrated Processes 組態集成過程的連接 If you will be using integrated capture and integrated Replicat, each requires a dedicated server connection in the tnsnames.ora file. You direct the processes to use these connections with the USERID or USERIDALIAS parameter in the Extract and Replicat parameter files when you configure those processes. 如果您將使用集成捕獲和集成的Replicat,則每個都需要tnsnames.ora文件中的專用服務器連接。 在配置這些進程時,您可以使用"提取和復制"參數文件中的USERID或USERIDALIAS參數來指導進程使用這些連接。
示例: The following is an example of the dedicated connection required for integrated capture (Extract) and integrated Replicat.
In the case of USERIDALIAS, the alias ext is stored in the Oracle GoldenGate credential store with the actual connection string, as in the following example: GGSCI> INFO CREDENTIALSTORE DOMAIN support Domain: Support Alias: ext Userid: intext@test
For more information about specifying database connection information in the parameter file, see "Administering Oracle GoldenGate for Windows and UNIX".
3.2.1 Enabling Minimum Database-level Supplemental Logging 啟用最低數據庫級補充日志記錄 Oracle strongly recommends putting the Oracle source database into forced logging mode. Forced logging mode forces the logging of all transactions and loads, overriding any user or storage settings to the contrary. This ensures that no source data in the Extract configuration gets missed. Oracle強烈建議將Oracle源數據庫置于強制登錄模式。 強制日志記錄模式強制記錄所有事務和加載,覆蓋任何用戶或存儲設置相反。 這樣可以確保"提取"配置中的源數據不會丟失。
In addition, minimal supplemental logging, a database-level option, is required for an Oracle source database when using Oracle GoldenGate. This adds row chaining information, if any exists, to the redo log for update operations. 此外,使用Oracle GoldenGate時,Oracle數據庫需要最少的補充日志記錄(數據庫級別選項)。 這將添加行鏈接信息(如果有的話)到重做日志以進行更新操作。
Database-level primary key (PK) and unique index (UI) logging is strongly discouraged because of the excessive additional overhead it creates on tables outside of replication. Unless those logging options are required for business purposes, you only need to enable minimal supplemental logging at the database level and force logging for Oracle GoldenGate. 強烈不鼓勵數據庫級主鍵(PK)和唯一索引(UI)日志記錄,因為它在復制之外的表上創建了額外的額外開銷。 除非這些日志選項是商業目的需要的,否則您只需要在數據庫級別啟用最少的補充日志記錄,并強制Oracle GoldenGate的日志記錄。
檢查是否開啟最小補充日志和force logging: SELECT supplemental_log_data_min, force_logging FROM v$database;
開啟最小補充日志和force logging: ALTER DATABASE ADD SUPPLEMENTAL LOG DATA; ALTER DATABASE FORCE LOGGING;
3.2.2 Enabling Schema-level Supplemental Logging 啟用schema級補充日志記錄 Oracle GoldenGate supports schema-level supplemental logging. Schema-level logging is required for an Oracle source database when using the Oracle GoldenGate DDL replication feature. In all other use cases, it is optional, but then you must use table-level logging instead (see Enabling Table-level Supplemental Logging). Oracle GoldenGate支持Schema級補充日志記錄.使用Oracle GoldenGate DDL復制功能時,Oracle源數據庫需要Schema級日志記錄。在所有其他用例中,它是可選的,但是您必須使用表級日志記錄(請參閱啟用表級補充日志記錄)。
perform the following steps on the source system to enable schema-level supplemental logging.
1.Apply Oracle Patch 13794550 to the source Oracle Database if the version is earlier than 11.2.0.2. 2.Run GGSCI on the source system. 3.Issue the DBLOGIN command with the alias of a user in the credential store who has privilege to enable schema-level supplemental logging. DBLOGIN USERIDALIAS alias See Reference for Oracle GoldenGate for Windows and UNIX for more information about DBLOGIN and additional options. 4.Issue the ADD SCHEMATRANDATA command for each schema for which you want to capture data changes with Oracle GoldenGate. ADD SCHEMATRANDATA schema [ALLCOLS | NOSCHEDULINGCOLS] Where: Without options, ADD SCHEMATRANDATA schema enables the unconditional supplemental logging on the source system of the primary key and the conditional supplemental logging of all unique key(s) and foreign key(s) of all current and future tables in the given schema. Unconditional logging forces the primary key values to the log whether or not the key was changed in the current operation. Conditional logging logs all of the column values of a foreign or unique key if at least one of them was changed in the current operation. The default is optional to support nonintegrated Replicat but is required to support integrated Replicat because primary key, unique keys, and foreign keys must all be available to the inbound server to compute dependencies. For more information about integrated Replicat, see Deciding Which Apply Method to Use.
ALLCOLS can be used to enable the unconditional supplemental logging of all of the columns of a table and applies to all current and future tables in the given schema. Use to support integrated Replicat when the source and target tables have different scheduling columns. (Scheduling columns are the primary key, the unique key, and the foreign key.)
NOSCHEDULINGCOLS logs only the values of the primary key and all valid unique indexes for existing tables in the schema and new tables added later. This is the minimal required level of schema-level logging and is valid only for Replicat in nonintegrated mode.
In the following example, the command enables default supplemental logging for the finance schema. ADD SCHEMATRANDATA finance
In the following example, the command enables the supplemental logging only for the primary key and valid unique indexes for the hr schema. ADD SCHEMATRANDATA hr NOSCHEDULINGCOLS
See Reference for Oracle GoldenGate for Windows and UNIX for more information about ADD SCHEMATRANDATA.
Perform the following steps on the source system to enable table-level supplemental logging or use the optional features of the command. 1.Run GGSCI on the source system.
2.Issue the DBLOGIN command using the alias of a user in the credential store who has privilege to enable table-level supplemental logging. DBLOGIN USERIDALIAS alias See Reference for Oracle GoldenGate for Windows and UNIX for more information about DBLOGIN and additional options.
Where: container is the name of the root container or pluggable database if the table is in a multitenant container database. schema is the source schema that contains the table. table is the name of the table. See Administering Oracle GoldenGate for Windows and UNIX for instructions for specifying object names.
ADD TRANDATA without other options automatically enables unconditional supplemental logging of the primary key and conditional supplemental logging of unique key(s) and foreign key(s) of the table. Unconditional logging forces the primary key values to the log whether or not the key was changed in the current operation. Conditional logging logs all of the column values of a foreign or unique key if at least one of them was changed in the current operation. The default is optional to support nonintegrated Replicat (see also NOSCHEDULINGCOLS) but is required to support integrated Replicat because primary key, unique keys, and foreign keys must all be available to the inbound server to compute dependencies. For more information about integrated Replicat, see Deciding Which Apply Method to Use. 沒有其他選項的ADD TRANDATA可以自動啟用主鍵的無條件補充日志記錄和條件補充日志記錄表的唯一鍵和外鍵。 無條件日志記錄會將主鍵值強制到日志,無論在當前操作中鍵是否更改。 條件記錄記錄外部或唯一鍵的所有列值,如果當前操作中至少有一個值被更改。 默認值是可選的,以支持非集成的Replicat(另見NOSCHEDULINGCOLS),但是需要支持集成的Replicat,因為主鍵,唯一鍵和外鍵都必須可用于入站服務器以計算依賴關系。 有關集成的Replicat的更多信息,請參閱確定使用哪種應用方法。
ALLCOLS enables the unconditional supplemental logging of all of the columns of the table. Use to support integrated Replicat when the source and target tables have different scheduling columns. (Scheduling columns are the primary key, the unique key, and the foreign key.) ALLCOLS可以對表的所有列進行無條件的補充記錄。 當源表和目標表具有不同的調度列時,用于支持集成的Replicat。 (調度列是主鍵,唯一鍵和外鍵)。
NOSCHEDULINGCOLS is valid for Replicat in nonintegrated mode only. It issues an ALTER TABLE command with an ADD SUPPLEMENTAL LOG DATA ALWAYS clause that is appropriate for the type of unique constraint that is defined for the table, or all columns in the absence of a unique constraint. This command satisfies the basic table-level logging requirements of Oracle GoldenGate when schema-level logging will not be used. See Ensuring Row Uniqueness in Source and Target Tables for how Oracle GoldenGate selects a key or index. NOSCHEDULINGCOLS僅在非集成模式下對Replicat有效。 它使用ADD SUPPLEMENTAL LOG DATA ALWAYS子句發出一個ALTER TABLE命令,該子句適用于為表定義的唯一約束類型,或不存在唯一約束的所有列。 當不使用模式級日志記錄時,此命令滿足Oracle GoldenGate的基本表級日志記錄要求。 請參閱確定源和目標表中的行唯一性,以了解Oracle GoldenGate如何選擇密鑰或索引。
COLS columns logs non-key columns that are required for a KEYCOLS clause or for filtering and manipulation. The parentheses are required. These columns will be logged in addition to the primary key unless the NOKEY option is also present. COLS列記錄KEYCOLS子句所需的非鍵列或過濾和操作。 括號是必需的。 這些列除了主鍵之外還將被記錄,除非NOKEY選項也存在。
NOKEY prevents the logging of the primary key or unique key. Requires a KEYCOLS clause in the TABLE and MAP parameters and a COLS clause in the ADD TRANDATA command to log the alternate KEYCOLS columns. NOKEY防止記錄主鍵或唯一鍵。 需要TABLE和MAP參數中的KEYCOLS子句以及ADD TRANDATA命令中的COLS子句才能記錄備用KEYCOLS列。
4.If using ADD TRANDATA with the COLS option, create a unique index for those columns on the target to optimize row retrieval. If you are logging those columns as a substitute key for a KEYCOLS clause, make a note to add the KEYCOLS clause to the TABLE and MAP statements when you configure the Oracle GoldenGate processes. 如果使用帶有COLS選項的ADD TRANDATA,則為目標上的那些列創建唯一的索引,以優化行檢索。 如果您正在將這些列作為KEYCOLS子句的替代鍵進行記錄,請在配置Oracle GoldenGate進程時,記下將KEYCOLS子句添加到TABLE和MAP語句。 See Reference for Oracle GoldenGate for Windows and UNIX for more information about ADD TRANDATA.
3.3 Enabling Oracle GoldenGate in the Database 在數據庫中啟用Oracle GoldenGate 必須為Oracle 11.2.0.4或更高版本的數據庫顯式啟用支持Oracle GoldenGate捕獲和應用所需的數據庫服務。 這是Extract和Replicat的所有模式所必需的。
For more information about this parameter, see Oracle Database Reference.
3.4 Setting Flashback Query 設置閃回查詢 To process certain update records, Extract fetches additional row data from the source database. Oracle GoldenGate fetches data for the following: User-defined types Nested tables XMLType objects
By default, Oracle GoldenGate uses Flashback Query to fetch the values from the undo (rollback) tablespaces. That way, Oracle GoldenGate can reconstruct a read-consistent row image as of a specific time or SCN to match the redo record. 默認情況下,Oracle GoldenGate使用Flashback Query從undo(rollback)表空間中獲取值。 這樣,Oracle GoldenGate可以根據特定時間或SCN重建一個讀取一致的行圖像,以匹配重做記錄。
For best fetch results, configure the source database as follows:為獲得最佳提取結果,請按如下方式配置源數據庫 1.通過設置Oracle初始化參數UNDO_MANAGEMENT和UNDO_RETENTION來設置足夠的重做保留次數 2.使用以下公式計算undo表空間中所需的空間。 undo_space = UNDO_RETENTION * UPS + overhead Use the system view V$UNDOSTAT to estimate UPS and overhead. 3.對于包含LOB的表,請執行以下操作之一: Set the LOB storage clause to RETENTION. This is the default for tables that are created when UNDO_MANAGEMENT is set to AUTO; If using PCTVERSION instead of RETENTION, set PCTVERSION to an initial value of 25. You can adjust it based on the fetch statistics that are reported with the STATS EXTRACT command (see Table 3-2). If the value of the STAT_OPER_ROWFETCH CURRENTBYROWID or STAT_OPER_ROWFETCH_CURRENTBYKEY field in these statistics is high, increase PCTVERSION in increments of 10 until the statistics show low values. 4.Grant either of the following privileges to the Oracle GoldenGate Extract user: GRANT FLASHBACK ANY TABLE TO db_user: GRANT FLASHBACK ON schema.table TO db_user
3.5 Managing Server Resources 管理服務器資源 在集成模式下,Extract與源數據庫中的底層日志服務器進行交互,Replicat與目標數據庫中的入站服務器進行交互。 本節提供管理這些服務器所使用的共享內存的指導。
4. Establishing Oracle GoldenGate Credentials 建立Oracle GoldenGate證書 This chapter provides guidelines for creating database users for the processes that will interact with the database, assigning the correct privileges, and securing the credentials from unauthorized use. 本章提供了為與數據庫進行交互的過程創建數據庫用戶的準則,分配正確的權限以及保護憑據以防止未經授權的使用。
This chapter includes the following sections:本章包括以下部分:
Assigning Credentials to Oracle GoldenGate
Securing the Oracle GoldenGate Credentials 4.1 Assigning Credentials to Oracle GoldenGate The Oracle GoldenGate processes require one or more database credentials with the correct database privileges for the database version, database configuration, and Oracle GoldenGate features that you are using. Create a source database user and a target database user, each one dedicated to Oracle GoldenGate on the source and target systems. The assigned user can be the same user for all of the Oracle GoldenGate processes that must connect to a source or target Oracle Database. Oracle GoldenGate進程需要一個或多個數據庫憑據,以及正在使用的數據庫版本,數據庫配置和Oracle GoldenGate功能的正確數據庫權限。 創建源數據庫用戶和目標數據庫用戶,每個用戶都在源和目標系統上專用于Oracle GoldenGate。 對于必須連接到源或目標Oracle數據庫的所有Oracle GoldenGate進程,分配的用戶可以是相同的用戶。
The following sections outline the Oracle GoldenGate processes that require user credentials:
Extract User
Replicat User
Other Oracle GoldenGate Users
4.1.1 Extract User The Extract user performs metadata queries on the source database and fetches data from the source tables when needed. In a local mining deployment of integrated capture, this user also creates, alters, and connects to the logmining server and receives logical change records (LCR) from it. (See Deciding Which Capture Method to Use for more information about capture modes.)
If the source database is a multitenant container database, the Extract user must be a common user and must log into the root container. See Configuring Oracle GoldenGate in a Multitenant Container Database for more information.
You need to assign an additional user if Extract will be operating in integrated capture mode and you are using a downstream mining database. This user will be the mining user and is created in the downstream database. The mining user creates, alters, and connects to the logmining server on the mining database, and it receives logical change records (LCR) from it. This user can be the same as the source Extract user or different. Choose the name of the mining user carefully. Once created by this user, the database logmining server cannot be altered or used by another user. See Configuring a Downstream Mining Database for more information about configuring downstream mining.
4.1.2 Replicat User The Replicat user creates the Replicat checkpoint table (if used) and applies DML and DDL operations through Oracle Call Interface or through a database inbound server, depending on the Replicat mode. (See Deciding Which Apply Method to Use for more information about Replicat modes.) Replicat用戶創建Replicat檢查點表(如果使用),并根據Replicat模式通過Oracle調用接口或數據庫入站服務器應用DML和DDL操作。 (有關復制模式的更多信息,請參閱確定使用哪種應用方法。)
4.1.3 Other Oracle GoldenGate Users A user is required in the source database for the Manager process if you are using Oracle GoldenGate DDL support. This user performs maintenance on the Oracle GoldenGate database objects that support DDL capture. 如果您正在使用Oracle GoldenGate DDL支持,則需要在源數據庫中為Manager進程使用用戶。 此用戶對支持DDL捕獲的Oracle GoldenGate數據庫對象執行維護。
4.1.4 Granting the Appropriate User Privileges 授予適當的用戶權限 The user privileges that are required for Oracle GoldenGate depend on the database version and the Extract or Replicat process mode. For more information about process modes, see Choosing Capture and Apply Modes.
4.1.4.1 Oracle 11.2.0.4 or Later Database Privileges
4.1.4.2 Oracle 11.2.0.3 or Earlier Database Privileges
4.1.4.3 About the dbms_goldengate_auth.grant_admin_privilege Package Most of the privileges that are needed for Extract and Replicat to operate in classic and integrated mode are granted through the dbms_goldengate_auth.grant_admin_privilege package. Extract和Replicat以經典和集成模式運行所需的大部分權限通過dbms_goldengate_auth.grant_admin_privilege包進行授予。
4.1.4.4 Optional Grants for dbms_goldengate_auth.grant_admin_privilege Additional grants can be added to dbms_goldengate_auth.grant_admin_privilege to support the optional features shown in Table 4-3.
4.2 Securing the Oracle GoldenGate Credentials To preserve the security of your data, and to monitor Oracle GoldenGate processing accurately, do not permit other users, applications, or processes to log on as, or operate as, an Oracle GoldenGate database user. 為了保持數據的安全性,并準確監控Oracle GoldenGate處理,不允許其他用戶,應用程序或進程以Oracle GoldenGate數據庫用戶身份登錄或操作。
Oracle GoldenGate provides different options for securing the login credentials assigned to Oracle GoldenGate processes. The recommended option is to use a credential store. You can create one credential store and store it in a shared location where all installations of Oracle GoldenGate can access it, or you can create a separate one on each system where Oracle GoldenGate is installed. Oracle GoldenGate提供了不同的選項來保護分配給Oracle GoldenGate進程的登錄憑據。 推薦的選項是使用憑證存儲。 您可以創建一個憑據存儲,并將其存儲在Oracle GoldenGate的所有安裝可以訪問的共享位置,也可以在安裝了Oracle GoldenGate的每個系統上創建一個單獨的憑據存儲。
The credential store stores the user name and password for each of the assigned Oracle GoldenGate users. A user ID is associated with one or more aliases, and it is the alias that is supplied in commands and parameter files, not the actual user name or password. The credential file can be partitioned into domains, allowing a standard set of aliases to be used for the processes, while allowing the administrator on each system to manage credentials locally. 憑據存儲存儲每個分配的Oracle GoldenGate用戶的用戶名和密碼。 用戶ID與一個或多個別名相關聯,它是在命令和參數文件中提供的別名,而不是實際的用戶名或密碼。 可以將憑據文件分區為域,允許將一組標準的別名用于進程,同時允許每個系統上的管理員在本地管理憑據。
See “Administering Oracle GoldenGate for Windows and UNIX” for more information about creating a credential store and adding user credentials. 有關創建憑據存儲和添加用戶憑據的更多信息,請參閱管理適用于Windows和UNIX的Oracle GoldenGate。