程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> 數據庫查詢初始化參數的方法

數據庫查詢初始化參數的方法

編輯:Oracle數據庫基礎

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

所幸Oracle提供的查詢初始化參數方法也有很多種:SHOW PARAMETERS、SHOW SPPARAMETERS、CREATE PFILE、V$PARAMETER、V$PARAMETER2、V$SYSTEM_PARAMETER、V$SYSTEM_PARAMETER2、V$SPPARAMETER。

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

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$PARAMETER和V$PARAMETER2的區別,這個區別同樣適用於V$SYSTEM_PARAMETER和V$SYSTEM_PARAMETER2:

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

NAME                                     VALUE
0---------------------------------------- --------------------------------------------------

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved