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 。
上面這些建議的設置是一種較小復制環境下的空間設置。如果要復制的表很多,每天的變化量很大,復制節點復雜,則需要相應增大表空間的大小。