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

Oracle參數查看方法小結

編輯:Oracle教程

Oracle參數查看方法小結


Oracle提供了大量的系統參數,下面是查詢方法小結。

系統當前參數

系統當前參數涉及到這些視圖:v$parameter、v$parameter2、v$system_parameter、v$system_parameter2和v$spparameter。

v$parameter

存放session級的參數,如果沒有被"alter session"修改,默認和system級的參數值相同,下面是該視圖的關鍵字段:
1)NUM:參數編號;
2)NAME:參數名;
3)TYPE:參數類型:
1-Boolean;
2-String;
3-Integer;
4-Parameter file;
5-保留;
6-Big integer;
4)VALUE:當前session的參數值;
5)DISPLAY_VALUE:用戶友好的參數值;
6)ISSES_MODIFIABLE:true表示參數能通過"alter session"被改變,false表示不能改變;
7)ISSYS_MODIFIABLE:參數是否能被"alter system"改變,改變後:
IMMEDIATE:參數可以通過"alter system"改變,立即生效
DEFERRED:參數可以通過"alter system"改變,在下一個session開始生效
false表示不能改變;
8)ISINSTANCE_MODIFIABLE:true表示參數值在每個實例下可以是不同的,false表示所有實例必須具有相同的值。如果ISSYS_MODIFIABLE為false,則該值總是false;
9)ISMODIFIED:表示參數是否在實例啟動後被修改
MODIFIED:參數被使用"alter session"修改
SYSTEM_MOD:參數被使用"alter system"修改
FALSE:在實例啟動後沒有被修改
10)ISDEPRECATED:true表示該參數被棄用,否則false;
11)DESCRIPTION:參數的描述信息;
12)UPDATE_COMMENT:最近一次修改的注釋;
13)HASH:參數名的哈希值。

v$system_parameter

存放實例級別的參數,新的session將從這裡繼承參數值。下面是該視圖的關鍵字段:
1)NUM:參數編號;
2)NAME:參數名;
3)TYPE:參數類型:
1-Boolean;
2-String;
3-Integer;
4-Parameter file;
5-保留;
6-Big integer;
4)VALUE:實例級的參數值;
5)DISPLAY_VALUE:用戶友好的參數值;
6)ISSES_MODIFIABLE:true表示參數能通過"alter session"被改變,false表示不能改變;
7)ISSYS_MODIFIABLE:參數是否能被"alter system"改變,改變後:
IMMEDIATE:參數可以通過"alter system"改變,立即生效
DEFERRED:參數可以通過"alter system"改變,在下一個session開始生效
false表示不能改變;
8)ISINSTANCE_MODIFIABLE:true表示參數值在每個實例下可以是不同的,false表示所有實例必須具有相同的值。如果ISSYS_MODIFIABLE為false,則該值總是false;
9)ISMODIFIED:表示該參數怎麼被修改。如果"alter system"被執行,這個值將是MODIFIED;
10)ISDEPRECATED:true表示該參數被棄用,否則false;
11)DESCRIPTION:參數的描述信息;
12)UPDATE_COMMENT:最近一次修改的注釋;
13)HASH:參數名的哈希值。

v$parameter2

和v$parameter相同,唯一的區別是如果一個參數有多個值,那麼在v$parameter2中將有多行,而在v$parameter中則只有一行,在value中使用逗號分隔多個值。
例如參數control_files,在v$parameter中為:

name			value
--------------------------------------------------------------------------------------
control_files	E:\ORACLE\ORADATA\LY\CONTROL01.CTL, E:\ORACLE\ORADATA\LY\CONTROL02.CTL, E:\ORACLE\ORADATA\LY\CONTROL03.CTL

在v$parameter2中為:

name			value
--------------------------------------------------------------------------------------
control_files	E:\ORACLE\ORADATA\LY\CONTROL01.CTL
control_files	E:\ORACLE\ORADATA\LY\CONTROL02.CTL
control_files	E:\ORACLE\ORADATA\LY\CONTROL03.CTL

v$system_parameter2

類似於v$parameter2。

v$spparameter

用於存放服務器參數文件(spfile)的參數信息,如果服務器參數文件沒有被用於啟動實例,則視圖每行的ISSPECIFIED列的值都為false,視圖的關鍵字段如下:
1)SID:參數的SID;
2)NAME:參數名;
3)VALUE:參數值(如果服務器參數文件沒有被用於啟動實例,則為null);
4)DISPLAY_VALUE:參數值,采用用戶友好的格式;
5)ISSPECIFIED:true表示參數在服務器參數文件中指定,否則false;
6)ORDINAL:參數值的位置(序號)(如果服務端配置文件沒被用於啟動實例,則為0)。只有當參數值為一個列表時才使用;
7)UPDATE_COMMENT:最近一次修改的注釋(如果服務器參數文件沒有被用於啟動實例,則為null)。

隱藏參數

Oracle系統中還有一類參數稱之為隱藏參數(hidden parameters),是系統中使用,但Oracle官方沒有公布的參數,這些參數可能是那些還沒有成熟或者是系統開發中使用的參數。這些參數在所有Oracle官方提供的文檔中都沒有介紹,他們的命名有一個共同特征就是都以'_'作為參數的首字符,和隱藏參數相關的視圖有x$ksppi、x$ksppcv和x$ksppsv。

x$ksppi

x$ksppi是v$parameter、v$parameter2、v$system_parameter和v$system_parameter2的基礎表,保存參數信息,關鍵字段如下:
1)ADDR:內存地址
2)INDX:序號
3)INST_ID:實例編號
4)KSPPINM:參數名稱
5)KSPPITY:參數類型:
1-Boolean;
2-String;
3-Integer;
4-Parameter file;
6)KSPPDESC:參數描述信息
7)KSPPIFLG:標志,用來說明isses_modifiable或者issys_modifiable

x$ksppcv

保存當前session的參數值,和x$ksppi用indx關聯,關鍵字段如下:
1)ADDR:內存地址
2)INDX:序號
3)INST_ID:實例編號
4)KSPPSTVL:參數的當前值
5)KSPPSTDF:參數的默認值
6)KSPPSTVF:標志字段,用來說明('Modified'、'System Modified'或is_adjusted)
7)KSPPSTCMNT:注釋

x$ksppsv

保存系統參數值,和x$ksppi用indx關聯,字段和x$ksppcv基本一致。

查詢隱藏參數

查詢隱藏參數和當前session的參數值和默認值:

select ksppinm "Parameter Name", ksppstvl "Value", ksppstdf "Default"
  from x$ksppi x, x$ksppcv y
 where x.indx = y.indx
   and ksppinm like '/_%trace%' escape '/';

查看隱藏參數,並顯示當前session和實例的參數值:

select a.ksppinm  Parameter,
       a.ksppdesc Description,
       b.ksppstvl "Session Value",
       c.ksppstvl "Instance Value"
  from x$ksppi a, x$ksppcv b, x$ksppsv c
 where a.indx = b.indx
   and a.indx = c.indx
   and a.ksppinm like '\_%' escape '\';

將a.ksppinm指定特定的參數名,可以查看指定參數的對應的值。

廢棄的參數

Oracle中存在一些以前的版本中存在,但新版本中廢棄的參數,可以在視圖V$OBSOLETE_PARAMETER中查找到,該視圖值包含兩個字段,name(參數名)和ISSPECIFIED(true表示參數在參數文件中指定,false表示沒有。一般情況下該值都應該為false)。

下面是查詢隱藏參數和ISSPECIFIED值的方法:

SELECT name, isspecified FROM v$obsolete_parameter;

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