ORACLE RAC資料庫中的初始化引數的設定
從原理上來說,RAC資料庫中初始化引數的修改,與單例項資料庫初始化引數的修改是一樣的,不過,實際操作中這兩者也會存在差異:對於那些各節點需要獨立設定的引數,在修改時必須指定例項名。也就是說,在修改RAC資料庫的初始化引數時,如果指定了例項名,那麼僅修改指定的例項的對應初始化引數,否則的話,該RAC環境下所有節點均會被修改(預設值是*,即修改所有例項)。
由於ORACLE資料庫支援的初始化引數非常多(當然啦通常並不是每一項都需要修改),其中對於某些初始化引數,各節點必須擁有相同的值,而還有些初始化引數,不同節點可以擁有(甚至必須擁有)不同的值。下面按類別進行介紹。
1、必須擁有相同設定的初始化引數
下列引數在資料庫建立時,一旦確定,所有節點就必須擁有相同的引數值,包括:
- ACTIVE_INSTANCE_COUNT
- ARCHIVE_LAG_TARGET
- CLUSTER_DATABASE
- CLUSTER_DATABASE_INSTANCES
- COMPATIBLE
- CONTROL_FILES
- DB_BLOCK_SIZE
- DB_DOMAIN
- DB_FILES
- DB_NAME
- DB_RECOVERY_FILE_DEST
- DB_RECOVERY_FILE_DEST_SIZE
- DB_UNIQUE_NAME
- INSTANCE_TYPE (RDBMS or ASM)
- PARALLEL_MAX_SERVERS
- REMOTE_LOGIN_PASSWORD_FILE
- UNDO_MANAGEMENT
上述引數所代表的意義就不說了,知道的俺不想說,不知道的俺說不上來。
2、必須擁有獨立設定的初始化引數
- INSTANCE_NUMBER :該引數是RAC環境中的專用引數之一, RAC 使用 該 引數來區分不同的例項 。
- THREAD :該引數也是RAC環境下適用的專用引數括弧之一,用來指定當前例項的REDOLOG執行緒號;
- UNDO_TABLESPACE :如果使用AUM--Automatic Undo Management(現在還有誰在用手動管理回滾段嗎),那麼UNDO_TABLESPACE引數就是用來指定自動管理的UNDO表空間。對於RAC環境資料庫,需要注意的時,每個例項使用不同的UNDO表空間,因此UNDO_TABLESPACE初始化引數,對於各個例項也會擁有各種獨立的引數值。
3、可以擁有不同設定的初始化引數
ORACLE 建議設定下列 初始化 引數中的引數值為相同值,不過如果條件需 要 ,也可以為其指定不同的引數值:
- ARCHIVE_LAG_TARGET
- LICENSE_MAX_USERS
- SPFILE
- UNDO_RETENTION
關於這個引數可以多說兩句,ORACLE中基於重做日誌實現的特性(比如Dataguard以及Streams),通常需要考慮到重做日誌在切換時由於實際原因,歸檔重做日誌檔案到目標端可能會耗費一些時間。本引數就是用來設定,是否允許延遲歸檔到目標端伺服器的時間。該值是一個時間型別,單位為秒,如果指定的話,值的範圍在60-7200之間。對於RAC環境,由於每個節點分別生成不同的重做日誌,因此也可以根據需要隨意與歸檔相關的引數,除本引數外,還有LOG_ARCHIVE_FORMAT、LOG_ARCHIVE_DEST_n等。
4、如何修改RAC初始化引數
對於標準需求,在RAC環境和單例項環境並沒有什麼不同,例如,修改初始化引數log_archive_dest2的引數值,操作如下:
首先分別檢查兩個節點中,當前引數設定:
JSSDBN1> show parameter log_archive_dest_2;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_2 string
JSSDBN2> show parameter log_archive_dest_2;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_2 string仍然是通過alter system語句執行修改,操作如下:
JSSDBN1> alter system set log_archive_dest_2='location=/data/oradata/jssdb';
System altered.提示成功,分別檢視兩節點的引數值:
JSSDBN1> show parameter log_archive_dest_2;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_2 string location=/data/oradata/jssdb
JSSDBN2> show parameter log_archive_dest_2;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_2 string location=/data/oradata/jssdb看起來沒有什麼不同對吧。這裡需要注意一點,如果更新的引數與路徑有關係,那麼必須確認該路徑在每個節點中均確實存在,不然就有可能導致更新報錯,或者是以後實際操作用到該引數時出錯。這裡仍以log_archive_dest_2引數為例,假如在節點1上執行更新歸檔路徑如下(節點2中並不存在/data/oradata/jssdb1目錄):
JSSDBN1> alter system set log_archive_dest_2='location=/data/oradata/jssdb1/archive';
alter system set log_archive_dest_2='location=/data/oradata/jssdb1/archive'
*
ERROR at line 1:
ORA-32008: error while processing parameter update at instance jssdbn2
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-16032: parameter LOG_ARCHIVE_DEST_2 destination string cannot be translated
ORA-07286: sksagdi: cannot obtain device information.
Linux-x86_64 Error: 2: No such file or direcORACLE 的提示也很明確了, ORA-32008 說節點2更新處理更新時出錯,因為 ORA-02097 指定的引數值無效,根本原來就在於 Linux-x86_64 Error: 2: No such file or direc tory 。
那麼你可能就會有問題了:我的實際環境中,兩節點的路徑確實不同(不像本例中僅只是缺少目錄,正如前面講的,有些引數各節點必須擁有不同值),那又該如何處理呢?太簡單了,分別設定不同節點的引數值就是了。
對於RAC環境中的初始化引數修改,我們可以通過執行alter system語句時,附加sid引數,來指定要更新的例項,這樣就可以為不同例項指定不同的引數值了(只要更新的引數確實支援設定不同的值)。
首先修改節點1中的log_archive_dest_2引數,操作如下:
JSSDBN1> alter system set log_archive_dest_2='location=/data/oradata/jssdbn1' sid='jssdbn1';
System altered.
JSSDBN1> show parameter log_archive_dest_2;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_2 string location=/data/oradata/jssdbn1節點1的引數已經修改,下面檢視一下節點2:
JSSDBN2> show parameter log_archive_dest_2;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_2 string location=/data/oradata/jssdb仍為舊值,接下來再用相同的方式修改節點2的設定即可:
JSSDBN2> alter system set log_archive_dest_2='location=/data/oradata/jssdbn2' sid='jssdbn2';
System altered.
JSSDBN2> show parameter log_archive_dest_2;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_2 string location=/data/oradata/jssdbn2竣工。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7607759/viewspace-616379/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 11G 資料庫重要的初始化引數設定Oracle資料庫
- Oracle資料庫系統中的引數Oracle資料庫
- Oracle資料庫中的系統引數Oracle資料庫
- Oracle RAC初始化引數管理Oracle
- Oracle初始化引數設定new(轉)Oracle
- Oracle資料庫系統中的引數(續)Oracle資料庫
- Mysql 5.5 設定資料庫引數MySql資料庫
- hp unix中nfile引數的修改案例(rac模式的資料庫)模式資料庫
- ORACLE 11.2 RAC修改資料庫靜態引數Oracle資料庫
- RAC 特定引數設定
- 安裝oracle資料庫時,設定linux核心引數的意義Oracle資料庫Linux
- RCU-資料庫初始化引數資料庫
- Oracle9.2.0.4 RAC 三節點引數設定Oracle
- oracle中引數session和 processes的設定(轉)OracleSession
- PostgreSQL DBA(1) - 資料庫引數設定#1SQL資料庫
- PostgreSQL DBA(2) - 資料庫引數設定#2SQL資料庫
- oracle資料庫snap的設定Oracle資料庫
- 將rac資料庫改為單機資料庫需要修改的引數資料庫
- 2.7.6.2 設定或修改初始化引數的值
- Oracle建庫必備的核心初始化引數Oracle
- ORACLE初始化引數的配置Oracle
- 超大記憶體環境下的Oracle RAC引數設定建議記憶體Oracle
- Oracle CSS的引數設定 心跳時間設定OracleCSS
- 關於 oracle 設定引數時,scope型別為memory,重啟資料庫後引數失效Oracle型別資料庫
- 資料庫安裝初始化引數調整資料庫
- oracle資料庫設定Oracle資料庫
- 【引數】DB_nK_CACHE_SIZE引數設定與資料庫預設塊大小之間的限制資料庫
- java 執行緒池的初始化引數解釋和引數設定Java執行緒
- Oracle 資料庫引數調整Oracle資料庫
- oracle中設定UTL_FILE_DIR引數Oracle
- Oracle初始化引數的來源Oracle
- oracle rac資料庫的安裝Oracle資料庫
- WebSphere中的Oracle資料來源設定------JSP和Oracle資料庫的連線 (轉)WebOracleJS資料庫
- Oracle RAC引數設定優先順序別問題分析Oracle
- 3.1.2 啟動時指定資料庫初始化引數資料庫
- 基礎知識3——資料庫初始化引數資料庫
- oracle初始化引數Oracle
- 【RAC】在RAC環境下需要惟一設定的重要引數列表