Oracle 引數分類 和 引數的檢視方法

2021-08-25 04:42:12 字數 3410 閱讀 5379

oracle資料庫系統根據初始化引數檔案init.ora中設定的引數來配置自身的啟動,每個例項在啟動之前,首先讀取這些引數檔案中設定的不同引數。

oracle系統中的引數,根據系統使用情況可以簡單分為兩大類:

普通引數

:也就是oracle系統正常使用的一些引數,

非凡引數

:包括三種,

過時引數

、強調引數

和隱藏引數。

隨著oracle資料庫新版本的發布,相應每次都會增加或者刪除一些引數

。下面具體介紹如何查詢當前系統版本中的各種引數情況。

一、過時引數

和強調引數

oracle資料庫中,系統提供了幾個檢視可以檢視系統引數的情況。檢視

v$obsolete_parameter

中含有所有的過時(obsolete)和強調(underscored)引數。

這裡首先說明一下什麼是oracle的過時(obsolote)和強調(underscored)引數,

過時引數

,顧名思義就是在oracle以前的版本中存在,但在新版本中已經淘汰了的引數,已經不再使用;而

強調引數

,是指那些在新版本中保留了下來,但是除非非凡需要不希望使用者使用的那些引數。在檢視v$obsolete_parameter中,包含這些引數的名稱和乙個標誌字

isspecified

,該標誌字用來指出這個引數是否在init.ora檔案中已實際設定。下面的sql指令碼列出了當前系統中所有的過時引數名稱以及它們是否在當前系統中設定。

/*formattedon2010-5-1217:46:27(qp5v5.115.810.9015)*/

select

name,

isspecified

from

v$obsolete_parameter;

上面談到,oracle系統並沒有將v$obsolete_parameter檢視中的所有引數均丟棄,而是將其中的一部分轉換為強調引數,下面就來討論

如何檢視這些引數是已被丟棄還是被轉換

。這可以通過系統

檢視x$ksppo

來檢視,該檢視中包含乙個名為

ksppoflag

的字段,用來指明該引數在當前版本中是被丟棄還是被強調,

假如該值為1,則表示該引數已被丟棄,該值為2,則表明該引數現為強調引數。

/*formattedon2010-5-1217:46:06(qp5v5.115.810.9015)*/

select

kspponm

,decode

(ksppo***,

1, 'obsolete',

2, 'underscored')

from

x$ksppo

order

bykspponm;

注:該檢視只在sys使用者下可以看到。

二、隱藏引數

oracle系統中還有一類引數稱之為

隱藏引數(hiddenparameters)

,是系統中使用,但oracle官方沒有公布的引數,這些引數可能是那些還沒有成熟或者是系統開發中使用的引數。這些引數在所有oracle官方提供的文件中都沒有介紹,

他們的命名有乙個共同特徵就是都以'_'作為引數的首字元

.下面的查詢可以得到當前系統中的所有隱藏引數

,需要以

sys使用者登陸

,檢視兩個檢視:x$ksppi

,x$ksppcv.

/*formattedon2010-5-1217:45:46(qp5v5.115.810.9015)*/

select

ksppinm

,ksppstvl

,ksppdesc

from

x$ksppix

,x$ksppcvy

wherex.

indx=y

.indx

andtranslate

(ksppinm

,'_'

,'#'

)like

'#%';

或者用:

/*formattedon2010-5-1217:07:26(qp5v5.115.810.9015)*/

selecti.

ksppinm

name, i

.ksppdescdescription,

cv.ksppstvl

value,

cv.ksppstdfisdefault,

decode

(bitand

(cv.

ksppstvf,7

), 1

,'modified',

4,'system_mod',

'false')

ismodified,

decode

(bitand

(cv.

ksppstvf,2

),2,'true'

,'false'

)isadjusted

from

sys.

x$ksppii

,sys

.x$ksppcvcv

wherei.

inst_id

=userenv

('instance')

andcv.inst_id

=userenv

('instance')

andi.

indx

=cv.

indx

andi

.ksppinm

like

'/_%'

escape

'/'

order

byreplace(i

.ksppinm

,'_',''

);

三、系統當前引數

下面的指令碼以英文本母順序列出了系統當前使用的所有引數。在列出的引數中,假如引數名稱前面有#這個符號,則表示該引數沒有明確指定,採用了系統中的預設引數。

/*formattedon2010-5-1217:44:11(qp5v5.115.810.9015)*/

select

decode

(isdefault

,'true'

,'#'),

decode

(isdefault

,'true'

,rpad

(name,

43),

rpad

(name,

45)),

value

from

v$parameter

order

byname;

注意:上面的sql指令碼沒有列出系統中的隱藏引數。

以上內容整理自網路

Oracle 引數分類 和 引數的檢視方法

oracle資料庫系統根據初始化引數檔案init.ora中設定的引數來配置自身的啟動,每個例項在啟動之前,首先讀取這些引數檔案中設定的不同引數。oracle系統中的引數,根據系統使用情況可以簡單分為兩大類 普通引數 也就是oracle系統正常使用的一些引數,非凡引數 包括三種,過時引數 強調引數 和...

Oracle 引數分類 和 引數的檢視方法

oracle資料庫系統根據初始化引數檔案init.ora中設定的引數來配置自身的啟動,每個例項在啟動之前,首先讀取這些引數檔案中設定的不同引數。oracle系統中的引數,根據系統使用情況可以簡單分為兩大類 普通引數 也就是oracle系統正常使用的一些引數,非凡引數 包括三種,過時引數 強調引數 和...

IOS property 引數分類

property 引數分為4類 property 引數分為4類 1.與set方法記憶體管理相關引數 retain 要生成符合記憶體管理原則的set方法 應用與物件型別 assign 直接賦值,物件型別,基本資料型別 copy 後面講解 2.多執行緒相關 nonatomic 不生成多執行緒線管 使用這...