Oracle 資料庫啟動時會根據參數檔案中提供的相關參數啟動Oracle執行個體。這些參數包括資料庫名字、sga,pga的分配,控制檔案的位置,undo,process等等。Oracle RAC資料庫同樣依賴於這些參數。除了所有單一實例情形下的參數值外,RAC資料庫還多出了一些重要的參數。本文主要描述RAC環境下的相關參數。
一、單一實例下參數檔案的重要參數
db_name
db_block_size
Control Files name and location
Initialization Parameters that affect the size of the SGA
Maximum Number of Processes
Method of Undo Space Management
compatible
dump location
二、RAC環境下的參數
RAC環境由多個instance組成,除了象db_name,contorl_file 等參數之外,對於一些參數,每一個執行個體可以有自己的參數值。DBA可以根據不同執行個體上所擁有資源的多少來分配不同的SGA,process,等從而提高資源的利用率。同時也有一些參數在所有執行個體上必須具有唯一值。總的來說,RAC上的參數大致分為以下幾類。
a、所有執行個體必須相同的參數,我們不妨稱為一致性參數,如db_name
b、所有執行個體上必須唯一的參數,也可以說叫唯一參數,如instance_number
c、所有執行個體上可以有不同值得參數,如sga, process,我們可稱為可變參數
下面分別來描述這幾種參數
1、一致性參數
全域相同參數是一些比較關鍵的參數,如在資料庫建立階段或RAC系統運行階段指定或可修改。對於叢集特性而言,這些參數必須始終可見。
參數 描述
------------------------ ----------------------------
active_instance_count 用於兩個節點時,設定一個資料庫為主執行個體,一個為備用執行個體。
如果設定值為1,則執行個體1作為主執行個體提供服務。
當主執行個體失敗是,備用執行個體切換為主執行個體並提供服務。該參數對於2節點以上的情形不適用。
archive_lag_target 根據使用者指定的時間周期切換日誌
cluster_database 為true時表明為叢集資料庫,否則,非叢集資料庫.
cluster_database_ instances 叢集資料庫中執行個體的總數
cluster_interconnects 該參數用來指定叢集中IPC通訊的網路。如果叢集中有多種網路用於高速互聯,需要配置該參數。
對於多個IP地址,用冒號將其隔開。Oracle根據這個參數來分散網路流量到不同的介面。
compatible Oracle版本相容參數
control_files 指定一個或多個控制檔案的位置
db_block_size Oracle 資料庫預設的初始化塊大小
db_domain 用於分散式資料庫系統中標識一個資料庫的邏輯位置
db_files 指定能被當前資料庫開啟的檔案數
db_name 資料庫名字
dml_locks 指定在一個事物中被每一個被修改的表最大的DML鎖的數量
license_max_users 指定當前資料庫可以建立的最大使用者數
parallel_max_servers 指定一個執行個體並存執行或恢複時的最大進程數
remote_login_ passwordfile 指定登陸時是否使用密碼檔案
row_locking 在更新操作期間指定是否需要使用行級鎖
trace_enabled 控制執行曆史,代碼路徑跟蹤
undo_management 指定undo資料表空間的管理方式
undo_retention 指定undo的保留時間
2、唯一參數
唯一參數用於唯一的指明一個特定的執行個體。下面是幾個常用的全域唯一參數
參數 描述
------------------------ ----------------------------
instance_name 為當前執行個體指定一個唯一的執行個體名
instance_number 該參數表示節點上執行個體的執行個體號
thread 該參數用來標示執行個體使用的redo線程。線程號與節點號/執行個體號沒有直接關聯。
rollback_ segments 為當前執行個體的分配一個或多個復原段的名稱
undo_tablespace 指定執行個體啟動時使用的undo資料表空間
3、可變參數
對於可變參數不一一列出,如pga_aggregate_target,sga_target
4、參數分析
下面的參數來自一個Oracle 10g RAC環境
#下面的這些有關memory,dump的參數為可變參數,也就是說各個節點可以有不同的值
#如果使用不同的值得時候前面加上執行個體名,否則為*.
ora10g2.__db_cache_size=142606336
ora10g1.__db_cache_size=163577856
ora10g1.__java_pool_size=4194304
ora10g2.__java_pool_size=4194304
ora10g1.__large_pool_size=4194304
ora10g2.__large_pool_size=4194304
ora10g2.__shared_pool_size=180355072
ora10g1.__shared_pool_size=159383552
ora10g1.__streams_pool_size=0
ora10g2.__streams_pool_size=0
*.audit_file_dest='/u01/oracle/admin/ora10g/adump'
*.background_dump_dest='/u01/oracle/admin/ora10g/bdump'
*.core_dump_dest='/u01/oracle/admin/ora10g/cdump'
*.user_dump_dest='/u01/oracle/admin/ora10g/udump'
#下面的這幾個參數在各個節點必須相同
*.cluster_database_instances=2
*.cluster_database=true
*.compatible='10.2.0.3.0'
*.control_files='+DG2/ora10g/controlfile/current.286.795096347',
'+REV/ora10g/controlfile/current.295.795096347'
*.db_block_size=8192
*.db_create_file_dest='+DG2'
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='ora10g'
*.db_recovery_file_dest='+REV'
*.db_recovery_file_dest_size=2147483648
*.dispatchers='(PROTOCOL=TCP) (SERVICE=ora10gXDB)'
#下面的instance_number即為唯一參數
ora10g2.instance_number=2
ora10g1.instance_number=1
#Author : Robinson
*.job_queue_processes=10
ora10g1.local_listener='local_lsnr_ora10g1'
ora10g2.local_listener='local_lsnr_ora10g2'
*.open_cursors=300
*.pga_aggregate_target=112197632
*.processes=150
*.remote_listener='REMOTE_LSNR_ORA10G'
*.remote_login_passwordfile='exclusive'
*.sga_target=337641472
#下面的thread,undo_tablespace即為唯一參數
ora10g2.thread=2
ora10g1.thread=1
*.undo_management='AUTO'
ora10g2.undo_tablespace='UNDOTBS2'
ora10g1.undo_tablespace='UNDOTBS1'
oracle視頻教程請關注:http://u.youku.com/user_video/id_UMzAzMjkxMjE2.html