Oracle 高级复制,也称为对称复制。和 Oracle 的其他功能不同, Oracle 的高级复制不是即插即用的,用户必须深刻理解它们是如何工作的以及各种复制方案的优缺点。深刻理解复制的基本概念可以帮助你设计一个可靠的复制环境。本文主要介绍了搭建 Oracle 8 高级复制环境时需要设置的一些系统参数。需要提醒读者注意的是,笔者所给出的这些系统参数的具体配置数值只能保证可以成功的搭建出一个相对较好的高级复制环境,但本文并未对这些参数的优化配置进行进一步的深入探讨。
现在我们正式开始。假设有两个节点,节点名分别为 ora_bj 和 ora_nb 。
1. 系统环境参数( init.ora 文件)设置(对于非确省值)
如果要搭建 Oracle 8.0.x 个高级复制环境,必须在初始化文件中设置下列参数,见表 1 所示。
表 1 : Oracle8 高级复制环境初始化参数设置
参数名称
推荐值
备注
processes
100
shared_pool_size
30000000
至少 30M ,如果有很多的复制对象的话,则需要更多的空间
large_pool_size
500K
db_block_buffers
550
compatible
8.0.5.0
db_file_multiblock_read_count
16
dml_locks
100
sequence_cache_entries
30
sequence_cache_hash_buckets
23
global_names
TRUE
distributed_lock_timeout
300
distributed_transactions
10
Open_links
6
复制节点多的话,需要增加
Sort_area_size
1000000
db_name
ORA_BJ
或者 ORA_NB
job_queue_processes
6
job_queue_interval
60
parallel_max_servers
10
只适用于并行传播
parallel_min_servers
2
只适用于并行传播
PEPLICATION_DEPENDENCY_TRACKING
true
如果采用并行传播,必须设置为 TRUE
表 1 中各个参数的推荐值认为目前的复制环境只有两个节点,一个简单的高级复制环境,如果节点较多,且复制关系复杂,需要复制的表也很多,则需要相应增大一些参数的值,这可以通过修改不同的参数试验获得。
将所有的 SNAPSHOT_ 或者是 JOB_QUEUE_KEEP_CONNECTIONS 参数都删除,因为 oracle8 以后已经不支持这些参数。
2.Net8 参数文件
(1)sqlnet.ora 文件设置
automatic_ipc=off
names.default_domain = world
name.default_zone = world
sqlnet.expire_time = 0
DISABLE_OOB = ON
(2)tnsnames.ora 文件设置
ORA_BJ.world =
(DESCRIPTION =
(ADDRESS = (PROTOCOL= TCP)(Host= 80.24.16.201)(Port= 1521))
(CONNECT_DATA = (SID = ORA8))
)
ORA_NB.world =
(DESCRIPTION =
(ADDRESS = (PROTOCOL= TCP)(Host= 80.24.16.14 )(Port= 1521))
(CONNECT_DATA = (SID = ORA8))
)
上面 Host 为各个复制节点的 IP 地址,如果复制节点很多,则全部加入到 tnsnames.ora 文件中,本例中有两个节点。
3. 表空间
如果搭建 Oracle 8 高级的高级复制环境,额外需要加大一些表空间,表 2 是建议的初始表空间。
表 2 : Oracle 系统表空间大小设置
表空间
建议初始值
SYSTEM
至少 20M
ROLLBACK SEGMENTS
至少 20M
TEMPORARY
至少 10M
TOOLS
至少 20M
同时,我还建议回滚段的下一个区大小设置至少为 100K 。
上面这些建议的设置是一种较小复制环境下的空间设置。如果要复制的表很多,每天的变化量很大,复制节点复杂,则需要相应增大表空间的大小。大家学习了本文之后要灵活运用,不要生搬硬套,希望大家通过上文的学习之后都能够有所收获。