本章包含额外的配置和准备要求,这些要求仅在经典的capturemode中操作时才能提取。
这些需求补充了文档中记录的基本配置需求 Configuring Capture in Classic Mode.
Topics:
本节不适用于以集成捕获模式提取。
当Extract处于经典捕获模式时,需要以下特殊配置步骤来支持TDE。
注意:
在集成模式下,Extract利用数据库日志服务器并支持TDE列加密和TDE表空间加密,而不需要特殊的设置要求或参数设置。For more information about integrated capture, see Choosing Capture and Apply Modes.
Parent topic: Additional Configuration Steps for Using Classic Capture
当提取处于经典捕获模式时,TDE支持需要交换两种密钥:
加密的密钥可以是表密钥(列级加密)、加密的重做日志密钥(表空间级加密),或者两者兼备。该密钥在Oracle数据库和Extract之间共享
解密密钥名为ORACLEGG,其密码称为共享密钥。此密钥安全存储在Oracle和Oracle GoldenGate域中。只有拥有共享密钥的一方才能解密表并重做日志密钥。
加密密钥通过内置的PL/SQL代码交付给提取过程。Extract使用共享的秘密来解密数据。Extract从不处理钱包主密钥本身,也不知道主密钥密码。它们仍然在Oracle数据库安全框架中。
Extract从不将解密后的数据写入任何文件(除了跟踪文件之外),甚至也不写入丢弃文件(使用DISCARDFILE参数指定)。“加密”一词将被写入正在使用的任何废弃文件。
该特性对Oracle GoldenGate性能的影响应该反映出解密对数据库性能的影响。除了略微增加提取启动时间外,复制TDE数据对性能的影响应该很小。
Parent topic: Configuring Oracle TDE Data in Classic Capture Mode
以下是支持TDE捕获的提取需求:
为了保持较高的安全标准,Oracle GoldenGate提取过程应该作为Oracle用户(运行Oracle数据库的用户)的一部分运行。这样,密钥在内存中受到与oracle用户相同的特权保护。
提取过程必须与数据库安装在同一台机器上运行。
即使使用带有硬件安全模块的TDE,也必须使用软件钱包。在配置步骤中的Oracle Security Officer任务中提供了从仅支持hsm到支持hsm -plus钱包配置和配置sqlnet的说明。ora文件正确。
无论何时升级源数据库,都必须重新设置主键。
Parent topic: Configuring Oracle TDE Data in Classic Capture Mode
To support TDE on Oracle 11.2.0.2, refer to article 1557031.1 on the My Oracle Support website (https://support.oracle.com
).
Parent topic: Configuring Oracle TDE Data in Classic Capture Mode
下面概述了Oracle安全官员和Oracle GoldenGate管理员在Oracle服务器和提取过程之间建立通信的步骤。
Parent topic: Configuring Oracle TDE Data in Classic Capture Mode
10.1.4.1 Agree on a Shared Secret that Meets Oracle Standards
同意一个符合或超过Oracle密码标准的共享秘密密码。任何人不得知道此密码。For guidelines on creating secure passwords, see Oracle Database Security Guide.
Parent topic: Configuring Classic Capture for TDE Support
10.1.4.2 Oracle DBA Tasks
SYSDBA
system privilege. For example: sqlplus sys/as sysdba
Connected.
Enter password: password
prvtclkm.plb
file that is installed in the Oracle admin
directory. The prvtclkm.plb
file creates the DBMS_INTERNAL_CLKM
PL/SQL package, which enables Oracle GoldenGate to extract encrypted data from an Oracle Database. @?/app/oracle/product/orcl111/rdbms/admin/prvtclkm.plb
EXEC
privilege on DBMS_INTERNAL_CLKM
PL/SQL package to the Extract database user. GRANT EXECUTE ON DBMS_INTERNAL_CLKM TO psmith;
Parent topic: Configuring Classic Capture for TDE Support
10.1.4.3 Oracle Security Officer Tasks
即使是使用HSM, Oracle GoldenGate也要求使用软件钱包。如果您目前使用的是HSM-only模式,请按照以下步骤切换到HSM-plus-wallet模式:
Change the sqlnet.ora
file configuration as shown in the following example, where the wallet directory can be any location on disk that is accessible (rwx) by the owner of the Oracle Database. This example shows a best-practice location, where my_db
is the $ORACLE_SID
.
ENCRYPTION_WALLET_LOCATION=
(SOURCE=(METHOD=HSM)(METHOD_DATA=
(DIRECTORY=/etc/oracle/wallets/my_db)))
Log in to orapki
(or Wallet Manager) as the owner of the Oracle Database, and create an auto-login wallet in the location that you specified in the sqlnet.ora
file. When prompted for the wallet password, specify the same password as the HSM password (or HSM Connect String). These two passwords must be identical.
cd /etc/oracle/wallets/my_db
orapki wallet create -wallet . -auto_login[_local]
Note:
The Oracle Database owner must have full operating system privileges on the wallet.
Add the following entry to the empty wallet to enable an 'auto-open' HSM:
mkstore -wrl . -createEntry ORACLE.TDE.HSM.AUTOLOGIN non-empty-string
Create an entry named ORACLEGG
in the wallet. ORACLEGG
must be the name of this key. The password for this key must be the agreed-upon shared secret, but do not enter this password on the command line. Instead, wait to be prompted.
mkstore -wrl ./ -createEntry ORACLE.SECURITY.CL.ENCRYPTION.ORACLEGG
Oracle Secret Store Tool : Version 11.2.0.3.0 - Production
Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
Your secret/Password is missing in the command line
Enter your secret/Password: sharedsecret
Re-enter your secret/Password: sharedsecret
Enter wallet password: hsm/wallet_password
Verify the ORACLEGG
entry.
mkstore -wrl . -list
Oracle Secret Store Tool : Version 11.2.0.3.0 - Production
Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
Enter wallet password: hsm/wallet_password
Oracle Secret Store entries:
ORACLE.SECURITY.CL.ENCRYPTION.ORACLEGG
Log in to SQL*Plus as a user with the SYSDBA
system privilege.
Close and then re-open the wallet.
SQL> alter system set encryption wallet close identified by "hsm/wallet_password";
System altered.
SQL> alter system set encryption wallet open identified by "hsm/wallet_password";
System altered.
This inserts the password into the auto-open wallet, so that no password is required to access encrypted data with the TDE master encryption key stored in HSM.
Switch log files.
alter system switch logfile;
System altered.
If this is an Oracle RAC environment and you are using copies of the wallet on each node, make the copies now and then reopen each wallet.
Note:
Oracle recommends using one wallet in a shared location, with synchronized access among all Oracle RAC nodes.
Parent topic: Configuring Classic Capture for TDE Support
10.1.4.4 Oracle GoldenGate Administrator Tasks
ENCRYPT PASSWORD
command to encrypt the shared secret so that it is obfuscated within the Extract parameter file. This is a security requirement. ENCRYPT PASSWORD sharedsecret {AES128 | AES192 | AES256} ENCRYPTKEY keyname
Where:
sharedsecret
is the clear-text shared secret. This value is case-sensitive.
{AES128 | AES192 | AES256}
specifies Advanced Encryption Standard (AES) encryption. Specify one of the values, which represents the desired key length.
keyname
is the logical name of the encryption key in the ENCKEYS
lookup file. Oracle GoldenGate uses this key to look up the actual key in the ENCKEYS
file. To create a key and ENCKEYS
file, see Administering Oracle GoldenGate.
Example:
ENCRYPT PASSWORD sharedsecret AES256 ENCRYPTKEY mykey1
DBOPTIONS
parameter with the DECRYPTPASSWORD
option. As input, supply the encrypted shared secret and the decryption key. DBOPTIONS DECRYPTPASSWORD sharedsecret {AES128 | AES192 | AES256} ENCRYPTKEY keyname
Where:
sharedsecret
is the encrypted shared secret.
{AES128 | AES192 | AES256}
must be same value that was used for ENCRYPT PASSWORD
.
keyname
is the logical name of the encryption key in the ENCKEYS
lookup file.
Example:
DBOPTIONS DECRYPTPASSWORD AACAAAAAAAAAAAIALCKDZIRHOJBHOJUH AES256 ENCRYPTKEY mykey1
SYSDBA
system privilege.SQL> alter system set encryption wallet close identified by "hsm/wallet_password";
System altered.
SQL> alter system set encryption wallet open identified by "hsm/wallet_password";
System altered.
Parent topic: Configuring Classic Capture for TDE Support
Extract decrypts the TDE data and writes it to the trail as clear text. To maintain data security throughout the path to the target database, it is recommended that you also deploy Oracle GoldenGate security features to:
encrypt the data in the trails
encrypt the data in transit across TCP/IP
For more information, see Administering Oracle GoldenGate.
Parent topic: Configuring Oracle TDE Data in Classic Capture Mode
如果DDL将在具有列级加密的表上执行,或者如果将重新键入表键,则必须在执行DDL时暂停表,或者启用Oracle GoldenGate DDL支持。更实际的做法是激活DDL环境,使其准备就绪,因为重新密钥通常是对安全违规的响应,必须立即执行。要安装Oracle GoldenGate DDL环境,参见安装基于触发器的DDL捕获。要配置Oracle GoldenGate DDL支持,请参阅配置DDL支持。对于表空间级加密,不需要Oracle GoldenGate DDL支持。
Parent topic: Configuring Oracle TDE Data in Classic Capture Mode
Whenever the source database is upgraded and Oracle GoldenGate is capturing TDE data, you must rekey the master key, and then restart the database and Extract. The commands to rekey the master key are:
alter system set encryption key identified by "mykey";
Parent topic: Configuring Oracle TDE Data in Classic Capture Mode
Use this procedure to update and encrypt the TDE shared secret within the Extract parameter file.
STOP EXTRACT group
ORACLEGG
entry in the Oracle wallet. ORACLEGG
must remain the name of the key. For instructions, see Oracle Database Advanced Security Guide.ENCRYPT PASSWORD
command to encrypt the new shared secret. ENCRYPT PASSWORD sharedsecret {AES128 | AES192 | AES256} ENCRYPTKEY keyname
Where:
sharedsecret
is the clear-text shared secret. This value is case-sensitive.
{AES128 | AES192 | AES256}
specifies Advanced Encryption Standard (AES) encryption. Specify one of the values, which represents the desired key length.
keyname
is the logical name of the encryption key in the ENCKEYS
lookup file.
Example:
ENCRYPT PASSWORD sharedsecret AES256 ENCRYPTKEY mykey1
DBOPTIONS
parameter with the DECRYPTPASSWORD
option. As input, supply the encrypted shared secret and the Oracle GoldenGate-generated or user-defined decryption key. DBOPTIONS DECRYPTPASSWORD sharedsecret {AES128 | AES192 | AES256} ENCRYPTKEY keyname
Where:
sharedsecret
is the encrypted shared secret.
{AES128 | AES192 | AES256}
must be same value that was used for ENCRYPT PASSWORD
.
keyname
is the logical name of the encryption key in the ENCKEYS
lookup file.
Example:
DBOPTIONS DECRYPTPASSWORD AACAAAAAAAAAAAIALCKDZIRHOJBHOJUH AES256 ENCRYPTKEY mykey1
SYSDBA
system privilege.SQL> alter system set encryption wallet close identified by "hsm/wallet_password";
System altered.
SQL> alter system set encryption wallet open identified by "hsm/wallet_password";
System altered.
START EXTRACT group
Parent topic: Configuring Oracle TDE Data in Classic Capture Mode
当Extract在经典捕获模式下运行时,以下通用准则适用于Oracle RAC。
在操作期间,如果运行Oracle GoldenGate的主数据库实例由于任何原因停止或失败,则提取终止。要恢复处理,可以重新启动实例或将Oracle GoldenGate二进制文件挂载到数据库正在运行的另一个节点,然后重新启动Oracle GoldenGate进程。在从另一个节点启动Oracle GoldenGate进程之前,停止原始节点上的Manager进程。
每当重做线程的数量发生变化时,必须删除并重新创建提取组。 For the recommended procedure, see Administering Oracle GoldenGate.
Extract确保事务按提交顺序写入跟踪文件,而不管事务起源于哪个RAC实例。当提取以仅存档日志模式捕获时(其中一个或多个RAC实例可能处于空闲状态),您可能需要在空闲节点上执行存档日志切换,以确保来自活动实例的操作及时记录在trail文件中。您可以通过设置archive_lag_target参数来指示Oracle RDBMS在预先设置的时间间隔内自动进行日志归档。例如,为了确保每15分钟存档一次日志,不管活动如何,您可以在RAC系统的所有实例中发出以下命令:
SQL> alter system set archive_lag_target 900
要在关闭Extract之前处理RAC集群中的最后一个事务,需要在Oracle GoldenGate正在复制的源表中插入一条假记录,然后在所有节点上切换日志文件。这将更新提取检查点并确认可以读取所有可用的归档日志。它还确认这些归档日志中的所有事务都被捕获,并按照正确的顺序写入到日志中。
下表显示了在Oracle RAC中特别有用的一些Oracle GoldenGate参数。
Parameter | Description |
---|---|
|
设置在将队列发送到目标系统之前从内存中提取队列的数据量。调优这些参数可能会提高Oracle RAC的提取性能。 |
|
控制Extract如何处理孤立的事务,当节点在事务期间发生故障并且Extract无法捕获回滚时,可能会发生孤立的事务。尽管数据库在故障转移节点上执行回滚,但是事务将无限期地保留在提取事务列表中,并防止正在处理事务的提取线程的进一步检查点。默认情况下,Oracle GoldenGate会在这些交易被确认为孤立后将它们从其列表中清除。该功能还可以根据需要使用GGSCI中的SEND EXTRACT命令进行控制。 |
Parent topic: Additional Configuration Steps for Using Classic Capture
本主题涵盖了当Oracle GoldenGate挖掘存储在Oracle自动存储管理(ASM)中的事务日志时应用的其他配置需求。
Parent topic: Additional Configuration Steps for Using Classic Capture
必须将Extract配置为读取存储在ASM中的日志。根据数据库版本的不同,可以使用以下选项:
Parent topic: Mining ASM-stored Logs in Classic Capture Mode
10.3.1.1 通过RDBMS读取事务日志
如果RDBMS是Oracle 11.1.0.7或Oracle 11.2.0.2或更新的11g R2版本,则使用TRANLOGOPTIONS参数和提取参数文件中的DBLOGREADER选项。
在那些使用数据库服务器访问重做和归档日志的版本(但不在Oracle 11g R1版本中)中有API可用。使用此API时,Extract可以使用最大为4 MB的读取缓冲区大小。当重做率较高时,较大的缓冲区可以提高提取的性能。可以使用TRANLOGOPTIONS的DBLOGREADERBUFSIZE选项指定缓冲区大小。
Note:
DBLOGREADER
also can be used when the redo and archive logs are on regular disk or on a raw device.
When using DBLOGREADER
and using Oracle Data Vault, grant the DV_GOLDENGATE_REDO_ACCESS
Role to the Extract database user in addition to the privileges that are listed in Establishing Oracle GoldenGate Credentials.
Parent topic: Accessing the Transaction Logs in ASM
10.3.1.2 ASM Direct Connection
If the RDBMS version is not one of those listed in Reading Transaction Logs Through the RDBMS, do the following:
ASM password configuration(1) | Permitted user |
---|---|
ASM instance and the database share a password file |
如果您授予该用户SYSDBA,您可以使用Oracle GoldenGate源数据库用户,或者您可以使用具有SYSDBA特权的任何其他数据库用户。 |
ASM instance and the source database have separate password files |
您可以覆盖ASM密码文件与源数据库密码文件,理解这个过程改变了系统密码ASM实例中的数据库密码文件中包含的值,并且它还授予ASM访问数据库中的其他用户密码文件。在覆盖ASM文件之前,请保存它的副本。 |
Footnote 1 要查看当前的ASM密码文件是如何配置的,请登录ASM实例并发出以下命令 in SQL*Plus: SQL> SELECT name, value FROM v$parameter WHERE name = 'remote_login_passwordfile';
ALTER CREDENTIALSTORE
command. See Reference for Oracle GoldenGate for usage instructions and syntax.TRANLOGOPTIONS
parameter with the ASMUSERALIAS
option. For more information about TRANLOGOPTIONS
, see Reference for Oracle GoldenGate.Parent topic: Accessing the Transaction Logs in ASM
为了确保Oracle GoldenGate提取进程可以连接到ASM实例,请在tnsnames中列出ASM实例。ora文件。当Oracle GoldenGate在数据库主机上运行时,推荐的连接ASM实例的方法是使用BEQ协议。BEQ协议不需要监听器。如果希望使用TCP/IP协议,请验证Oracle侦听器是否正在侦听到ASM实例的新连接。The listener.ora
file must contain an entry similar to the following.
SID_LIST_LISTENER_ASM =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = ASM)
(ORACLE_HOME = /u01/app/grid)
(SID_NAME = +ASM1)
)
)
Note:
A BEQ connection does not work when using a remote Extract configuration. Use TNSNAMES
with the TCP/IP protocol.
Parent topic: Mining ASM-stored Logs in Classic Capture Mode
要确保在Extract以经典捕获模式操作时捕获处理的连续性和完整性,请启用归档日志记录。
归档日志提供了一个辅助数据源,可以在提取完成之前对联机日志进行回收。打开的事务的归档日志必须保留在系统上,以防Extract需要重新捕获其中的数据来执行恢复。
WARNING:
如果不能启用归档日志,则在事务仍然处于活动状态时,如果出现导致提取中断的故障,则需要完全重新同步源和目标对象,并重新恢复复制,这是一种高风险。如果必须这样操作,请根据以下指导原则配置联机日志,以保留足够的数据,以便在联机日志回收之前提取所需的数据。允许提取由网络中断和其他外部因素以及长时间运行的事务造成的积压。
在RAC配置中,Extract必须能够访问集群中所有节点的联机日志和归档日志,包括安装Oracle GoldenGate的节点。
Parent topic: Additional Configuration Steps for Using Classic Capture
以下概述了Extract可能使用的不同恢复模式及其日志保留要求:
默认情况下,有界恢复模式是有效的,而且提取需要对日志的访问时间最多是用BR参数设置的有界恢复间隔的两倍。这个间隔是标准提取检查点间隔的整数倍,由CHECKPOINTSECS参数控制。这两个参数控制Oracle GoldenGate有界恢复特性,该特性确保Extract能够在失败后恢复内存中捕获的数据,无论失败时最古老的开放事务有多大。 For more information about Bounded Recovery, see Reference for Oracle GoldenGate.
当Extract尝试恢复时,发生有界恢复机制失败的不太可能的事件时,Extract将恢复到正常恢复模式,并且必须能够访问归档日志,该日志在失败时包含内存中最古老的开放事务的开始,以及之后的所有日志。
Parent topic: Ensuring Data Availability for Classic Capture
根据Oracle版本的不同,可以使用不同的选项来确保在系统上保留所需的日志。
Parent topic: Ensuring Data Availability for Classic Capture
10.4.2.1 Oracle企业版11g及以后版本
对于这些版本,可以将Extract配置为与Oracle Recovery Manager (RMAN)一起工作,以保留提取恢复所需的日志。您可以在发出REGISTER EXTRACT命令时启用此功能。有关更多信息,请参见创建流程组。要使用此功能,提取数据库用户必须具有以下特权, in addition to the basic privileges listed in Establishing Oracle GoldenGate Credentials.
Oracle EE version | Privileges |
---|---|
11.1 and 11.2.0.1 |
|
11.2.0.3 and later |
Run package to grant Oracle GoldenGate admin privilege. |
当启用日志保留时,提取保留足够的日志来执行一个有界的复苏,但您可以配置提取保留足够的日志通过使用RMAN正常复苏TRANLOGOPTIONS参数LOGRETENTION选项设置为老也有一个选项来禁用RMAN日志保留。Review the options of LOGRETENTION
in the Reference for Oracle GoldenGate before you configure Extract. If you set LOGRETENTION
to DISABLED
, see Determining How Much Data to Retain,.
Note:
为了在Oracle RAC中支持11.2.0.3之前版本的RMAN日志保留,在添加提取组之前,必须下载并安装BUGFIX 11879974中提供的数据库补丁。
RMAN日志保留功能为每个提取组创建一个底层(但不工作)Oracle Streams捕获流程。捕获的名称基于相关提取组的名称。日志保持功能可以与其他本地Oracle Streams安装并发运行。创建提取组时,将从当前数据库SCN保留日志。
Note:
如果存储区域已满,RMAN将清除归档日志,即使在Extract需要时也是如此。存在此限制,以便Extract(和其他Oracle复制组件)的需求不会影响对数据库的重做可用性。
Parent topic: Log Retention Options
10.4.2.2 All Other Oracle Versions
对于企业版以外的Oracle版本,必须使用首选的管理工具来管理日志保留过程。Follow the directions in Determining How Much Data to Retain.
Parent topic: Log Retention Options
在管理日志保留时,尝试确保对提取的日志的快速访问将需要执行正常的恢复(而不是有限的恢复)。请参阅每个提取恢复模式的日志保留要求。如果必须将归档移出数据库系统,TRANLOGOPTIONS参数提供了一种指定替代位置的方法。See Specifying the Archive Location.
建议保留至少24小时的事务数据,包括在线和归档日志。要确定在任何给定点提取可能需要的最老的日志,使用SHOWTRANS选项发出SEND Extract命令。您可能需要进行一些测试,以根据数据量和业务需求确定最佳保留时间
如果在处理过程中提取的数据没有被保留,不管是在线的还是存档的日志,可能需要采取以下纠正措施之一:
从日志数据可用的较晚时间点捕获Alter Extract(and accept possible data loss on the target).
重新同步源和目标数据,然后重新启动Oracle GoldenGate环境。
Parent topic: Ensuring Data Availability for Classic Capture
确保不要使用备份或存档选项,否则会导致旧的存档文件被新备份覆盖。理想情况下,新备份应该是与旧备份名称不同的独立文件。这确保了如果Extract查找某个特定的日志,它仍然存在,并且还确保了数据在需要支持时可用。
Parent topic: Ensuring Data Availability for Classic Capture
如果归档的日志位于Oracle默认目录之外的其他地方,则在提取参数文件中使用TRANLOGOPTIONS参数的ALTARCHIVELOGDEST选项指定该目录。
如果用Oracle参数LOG_ARCHIVE_FORMAT指定的格式包含子目录,您可能还需要使用TRANLOGOPTIONS的ALTARCHIVEDLOGFORMAT选项。ALTARCHIVEDLOGFORMAT指定从路径中删除子目录的替代格式。例如,% T / log_ % t_ % s_ %识别r。将arc改为log_%t_%s_%r.arc。作为使用ALTARCHIVEDLOGFORMAT的替代方法,您可以手动创建子目录,然后将日志文件移动到其中。
Parent topic: Ensuring Data Availability for Classic Capture
如果在线和存档的重做日志存储在不同的平台上,而不是提取的平台上,请执行以下操作:
nfs -挂载归档文件
使用提取参数TRANLOGOPTIONS的LOGSOURCE和PATHMAP选项将文件结构映射到源系统的结构。 For more information, see Reference for Oracle GoldenGate.
Parent topic: Ensuring Data Availability for Classic Capture
可以将Extract配置为仅从归档日志中读取。这称为仅存档日志(ALO)模式。
在此模式下,仅对存储在指定位置的归档日志进行提取读取。通过ALO模式,Extract可以使用附带到辅助数据库(如备用数据库)的生产日志作为数据源。根本不使用联机日志。Oracle GoldenGate连接到辅助数据库,根据需要获取元数据和其他所需数据。作为一种替代方案,ALO模式在生产系统上得到了支持。
Note:
LO模式与在集成捕获模式下运行的提取不兼容。
Parent topic: Additional Configuration Steps for Using Classic Capture
在ALO模式下使用Extract时,请遵守以下限制和要求。
在创建备用数据库之后,不能在源数据库上执行日志重置(RESETLOG)。
如果生产系统是Oracle RAC,而备用数据库不是RAC,则不能在备用数据库上使用ALO。除了两个系统都是Oracle RAC外,每个系统上的节点数必须相同。
在Oracle RAC上的ALO需要到源服务器的专用连接。如果该连接丢失,Oracle GoldenGate处理将停止。
在ALO模式下为Oracle RAC使用Oracle GoldenGate时,最好使用单独的归档日志目录。这将避免相同文件名出现两次的可能性,这可能导致提取返回一个“out of order scn”错误。
当Extract处于ALO模式时,logre参数默认为禁用。如果需要,您可以使用一个特定的logretentionsettings覆盖它。
Parent topic: Configuring Classic Capture in Archived Log Only Mode
要为ALO模式配置Extract,请按照以下步骤配置Oracle GoldenGate的整个过程, as documented in Configuring Capture in Classic Mode.
The USERIDALIAS
parameter in the parameter file of every Oracle GoldenGate process that connects to that database.
The USERIDALIAS
portion of the DBLOGIN
command in GGSCI.
Note:
如果您的备用服务器位于Oracle GoldenGate运行的服务器的本地,则不需要为USERIDALIAS中指定的用户使用连接字符串。您可以只提供用户登录名。
See Administering Oracle GoldenGate for more information about using a credential store.
Parent topic: Configuring Classic Capture in Archived Log Only Mode
您可以配置Classic Extract来实时访问重做数据和元数据,从而使用Oracle Active data Guard成功地复制源数据库活动。这就是所谓的主动数据保护(ADG)模式。
ADG模式允许Extract使用作为数据源提供给备用数据库的生产日志。根本不使用联机日志。Oracle GoldenGate连接到备用数据库,根据需要获取元数据和其他所需数据。
此模式在负载敏感的环境中非常有用,因为ADG已经就绪或可以实现。它还可以作为成本有效的方法来实现高可用性,使用ADG代理角色计划(切换)和故障转移(计划外)更改。在ADG配置中,切换和故障转移被视为角色。当其中一个操作发生时,它被认为是角色更改。For more information, see Oracle Data Guard Concepts and Administration and Oracle Data Guard Broker.
您可以配置Integrated Extract来从ADG而不是源数据库中获取所需的表数据和元数据。这是可能的,因为ADG是源数据库的物理副本。Extract在所有配置中都支持使用FETCHUSER参数从ADG中获取数据,但在作为经典提取运行时除外。Classic Extract已经能够直接连接到ADG并挖掘它的重做日志,然后使用USERID参数提供的标准连接信息从ADG获取数据。对源数据库的影响最小,因为Extract在启动时从源数据库收集信息,包括从ADG获取时的兼容性级别、数据库类型和源数据库验证检查。
All previous fetch functionality and parameters are supported.
Note:
Integrated Extract cannot capture from a standby database because it requires READ
and WRITE
access to the database, and an ADG standby only provides READ ONLY
access.
Parent topic: Additional Configuration Steps for Using Classic Capture
在ADG模式下使用Extract时,请注意以下限制和要求。
ADG模式下的Extract将仅应用应用进程已应用到备用数据库的重做数据。如果Extract先于备用数据库运行,它将等待备用数据库赶上。
必须在经典提取参数文件中显式指定ADG模式,才能在备用数据库上运行提取。
您必须指定连接到ADG系统的数据库用户和密码,因为数据库中会出现fetch和其他元数据解析。
备用数据库中的备用日志中的重做线程数必须与主数据库中的节点数匹配。
在备用数据库上创建了classic Extract之后,不能向主数据库添加新的RAC实例。如果您确实添加了新的实例,那么来自新线程的重做数据将不会被classic Extract捕获。
从备用数据库访问的归档日志和备用重做日志与主数据库完全相同。大小和内容将匹配,包括重做数据、事务数据和补充数据。这可以通过正确配置的ADG部署得到保证。
在这两种情况下,ADG角色的变化并不频繁,需要用户的介入。
切换,将会有一个指标在重做日志文件头(重做日志或三次采油结束标记)来表示结束日志流这样经典的提取在备用可以成功完成RAC协调和船舶的所有已提交的事务跟踪文件。
通过故障转移,可以在主数据库和备用数据库上创建新的化身,并使用新的化身ID、resetlog序列号和SCN值。
您必须从GGSCI连接到主数据库来添加TRANDATA或SCHEMATRANDATA,因为这是在主数据库上完成的。
为了支持DDL复制(ADDTRANDATA除外),DDL触发器不能用于备用数据库。您必须在主数据库上安装Oracle GoldenGate DDL包。
ADG模式不支持DDL ADDTRANDATA;必须使用ADDSCHEMATRANDATA进行DDL复制。
在备用数据库上添加extract时,必须使用特定的SCN值、时间戳或日志位置指定起始位置。相对时间戳值(如NOW)变得模糊,可能导致数据不一致。
在备用数据库中添加extract时,必须指定包含主数据库中所有相关线程的线程数。
在故障转移或切换期间或之后,不能从主数据库或备用数据库添加或删除任何线程。
Classic Extract将只使用一个中间的RESETLOG操作。
如果不希望重新安装Oracle GoldenGate,则必须将其放置在共享空间中,以便从主数据库和备用数据库访问Oracle GoldenGate安装目录。
如果您要将捕获从ADG备用数据库移到主数据库,则必须将您的net别名指向主数据库,并且必须删除TRANLOG选项。
只支持运行兼容性设置为10.2或更高(10g版本2)的Oracle数据库版本。
经典提取不能使用DBLOGREADER选项。使用ASMUSER(大约有20gb/hr的读取限制)或将主要数据库和备用数据库上的联机和归档日志移到Application Security Manager之外。
Parent topic: Configuring Classic Capture in Oracle Active Data Guard Only Mode
要为ADG模式配置Classic Extract,请按照以下步骤配置Oracle GoldenGate的整个过程, as documented in Configuring Capture in Classic Mode.
您的环境可能需要其他的TRANLOGOPTIONS选项。例如,根据您使用的复制程序,您可能需要使用COMPLETEARCHIVEDLOGONLY选项来防止提取错误。
Parent topic: Configuring Classic Capture in Oracle Active Data Guard Only Mode
您必须将参数文件、检查点文件、有界恢复文件和跟踪文件存储在共享存储中或复制到ADG数据库中,然后才能尝试将经典的提取迁移到ADG数据库或从ADG数据库迁移到ADG数据库。此外,您必须确保没有任何介入角色更改,否则Extract将挖掘redo的相同分支。
Use the following steps to move to an ADG database:
Edit the parameter file ext1.prm
to add the following parameters:
DBLOGIN USERID userid@ADG PASSWORD password
TRANLOGOPTIONS MINEFROMACTIVEDG
Start Extract by issuing the START EXTRACT ext1
command.
Use the following steps to move from an ADG database:
ext1.prm
to remove the following parameters: DBLOGIN USERID userid@ADG PASSWORD password
TRANLOGOPTIONS MINEFROMACTIVEDG
START EXTRACT ext1
command.Parent topic: Configuring Classic Capture in Oracle Active Data Guard Only Mode
在涉及备用数据库的角色更改中,首先断开主数据库和备用数据库中的所有会话,包括Extract使用的连接。然后关闭两个数据库,将原始主数据库挂载为备用数据库,并将原始备用数据库作为主数据库打开。
角色更改的过程由Classic Extract的初始部署和所需的部署关系(数据库或角色)决定。下表概述了四种可能的角色更改,并基于由prisys和stansys两个数据库组成的ADG配置进行预测。prisys系统包含主数据库,stansys系统包含备用数据库;prisys有两个活动的重做线程,而stansys有四个活动的重做线程。
Initial Deployment Primary (prisys) | Initial Deployment ADG (stansys) |
---|---|
Original Deployment: |
|
|
|
Database Related: |
|
角色转换后:经典提取ADG
|
角色转换后:ADG到经典提取
|
Role Related: |
|
角色转换后:从经典提取到经典提取
|
角色转换后:ADG到ADG
|
Parent topic: Configuring Classic Capture in Oracle Active Data Guard Only Mode
When Oracle GoldenGate captures data from the redo logs, I/O bottlenecks can occur because Extract is reading the same files that are being written by the database logging mechanism.
Performance degradation increases with the number of Extract processes that read the same logs. You can:
Try using faster drives and a faster controller. Both Extract and the database logging mechanism will be faster on a faster I/O system.
Store the logs on RAID 0+1. Avoid RAID 5, which performs checksums on every block written and is not a good choice for high levels of continuous I/O.
Parent topic: Additional Configuration Steps for Using Classic Capture