查詢初始化引數的方法(一)

yangtingkun發表於2009-05-18

查詢初始化引數的方法很多,比如SHOW PARAMETER,或查詢V$PARAMETER等,這裡簡單總結一下。

這一篇簡單介紹多種查詢初始化引數的方法。

 

 

首先初始化引數的設定的方法就有很多種:可以透過ALTER SYSTEM SET SCOPE = MEMORY的方式僅設定記憶體的修改,也可以透過ALTER SYSTEM SET SCOPE = SPFILE只修改SPFILE的值,當然也可以同時修改SPFILEMEMORY中的設定。還有一種初始化引數可以設定延遲生效,也就是說這個修改只對以後連線到資料庫的會話生效,而對當前會話以及其他已經連線到Oracle的會話不會生效。如果再考慮RAC環境,資料庫中存在多個啟動例項的情況,那麼查詢資料庫初始化引數就更加複雜了。

所幸Oracle提供的查詢初始化引數方法也有很多種:SHOW PARAMETERSSHOW SPPARAMETERSCREATE PFILEV$PARAMETERV$PARAMETER2V$SYSTEM_PARAMETERV$SYSTEM_PARAMETER2V$SPPARAMETER

SHOW PARAMETERSSQLPLUS工具提供的查詢初始化引數的方法,這個方法查詢的初始化引數是當前會話生效的初始化引數。

SHOW SPPARAMETERS也是SQLPLUS工具提供的方法,用來查詢當前會話生效的SPFILE引數包含的初始化引數。這個命令在11g以後sqlplus版本中有效。

CREATE PFILE命令不像其他方法那樣直觀,這種方法可以將SPFILE中或當前記憶體中設定的初始化檔案儲存到PFILE檔案中,然後就可以透過文字編輯工具直觀的看到SPFILE中或當前記憶體中設定了哪些初始化引數。雖然這種方法看上去比較麻煩,但是這種方法列出的引數都是使用者設定的引數,所有預設值的引數並不會列出來,因此看到的結果要比其他方法直觀得多。在11g以後的版本允許CREATE PFILE FROM MEMORY

V$PARAMETER檢視提供了當前會話可見的初始化引數的設定,如果像查詢RAC資料庫的所有例項的設定,可以查詢GV$PARAMETER檢視。

V$PARAMETER2檢視和V$PARAMETER差不多,唯一的區別在於對於包括值的初始化引數,從這個檢視會返回多條記錄,每條記錄對應一個值。同樣的,對於RAC環境可以查詢GV$PARAMETER2檢視。

V$SYSTEM_PARAMETER檢視記錄當前例項生效的初始化引數設定。注意這裡是例項生效而不是會話生效。同樣,GV$SYSTEM_PARAMETER則包含了所有例項生效的初始化引數資訊。

V$SYSTEM_PARAMETER2檢視與V$SYSTEM_PARAMETER檢視的關係和V$PARAMETER2檢視與V$PARAMETER檢視的關係一樣,都是對於包含多個值的引數採用了分行處理的方式。

V$SPPARAMETER記錄了來自SPFILE檔案中初始化引數。如果引數在SPFILE檔案中沒有設定,則欄位ISSPECIFIED對應的值為FALSE。同樣可以查詢GVSPPARAMETER引數來顯示RAC環境所有例項的設定。

首先看一下V$PARAMETERV$PARAMETER2的區別,這個區別同樣適用於V$SYSTEM_PARAMETERV$SYSTEM_PARAMETER2

SQL> SELECT NAME, VALUE FROM V$PARAMETER
  2  MINUS
  3  SELECT NAME, VALUE FROM V$PARAMETER2;

NAME                                     VALUE
---------------------------------------- --------------------------------------------------
control_files                            E:\ORACLE\ORADATA\YTK102\CONTROL01.CTL, E:\ORACLE\
                                         ORADATA\YTK102\CONTROL02.CTL, E:\ORACLE\ORADATA\YT
                                         K102\CONTROL03.CTL


SQL> SELECT NAME, VALUE FROM V$PARAMETER2
  2  MINUS
  3  SELECT NAME, VALUE FROM V$PARAMETER;

NAME                                     VALUE
---------------------------------------- --------------------------------------------------
control_files                            E:\ORACLE\ORADATA\YTK102\CONTROL01.CTL
control_files                            E:\ORACLE\ORADATA\YTK102\CONTROL02.CTL
control_files                            E:\ORACLE\ORADATA\YTK102\CONTROL03.CTL

 

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-600367/,如需轉載,請註明出處,否則將追究法律責任。

相關文章