了解Oracle資料庫中的系統引數

2021-04-01 09:48:16 字數 1984 閱讀 8196

oracle資料庫系統根據初始化引數檔案init.ora中設定的引數來配置自身的啟動,每個例項在啟動之前,首先讀取這些引數檔案中設定的不同引數。oracle系統中的引數,根據系統使用情況可以簡單分為兩大類,普通引數,也就是oracle系統正常使用的一些引數,另外一類就是特殊引數,包括三種,過時引數、強調引數和隱藏引數。隨著oracle資料庫新版本的發布,相應每次都會增加或者刪除一些引數。如何查詢當前版本資料庫系統的引數情況以及當前系統版本相對於以前版本增加或者丟棄的那些引數呢?本文將詳細介紹如何查詢當前系統版本中的各種引數情況。

一、過時引數和強調引數

oracle資料庫中,系統提供了幾個檢視可以檢視系統引數的情況。檢視v$obsolete_parameter中含有所有的過時(obsolete)和強調(underscored)引數。這裡首先說明一下什麼是oracle的過時(obsolote)和強調(underscored)引數,過時引數,顧名思義就是在oracle以前的版本中存在,但在新版本中已經淘汰了的引數,已經不再使用;而強調引數,是指那些在新版本中保留了下來,但是除非特殊需要不希望使用者使用的那些引數。在檢視v$obsolete_parameter中,包含這些引數的名稱和乙個標誌字isspecified,該標誌字用來指出這個引數是否在init.ora檔案中已實際設定。

下面的sql指令碼列出了當前系統中所有的過時引數名稱以及它們是否在當前系統中設定。

sql> col name format a50;

sql> select name, isspecified from v$obsolete_parameter;

上面談到,oracle系統並沒有將v$obsolete_parameter檢視中的所有引數均丟棄,而是將其中的一部分轉換為強調引數,下面就來討論如何檢視這些引數是已被丟棄還是被轉換。這可以通過系統檢視x$ksppo來檢視,該檢視中包含乙個名為ksppoflag的字段,用來指明該引數在當前版本中是被丟棄還是被強調,如果該值為1,則表示該引數已被丟棄,該值為2,則表明該引數現為強調引數。

select kspponm,

decode(ksppo***, 1,'obsolete', 2, 'underscored')

from x$ksppo

order by kspponm;

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

二、隱藏引數

oracle系統中還有一類引數稱之為隱藏引數(hidden parameters),是系統中使用,但oracle官方沒有公布的引數,這些引數可能是那些還沒有成熟或者是系統開發中使用的引數。這些引數在所有oracle官方提供的文件中都沒有介紹,他們的命名有乙個共同特徵就是都以'_'作為引數的首字元,諸如oracle 8i中的_trace_files_public和_lock_sga_areas等等。

下面的查詢可以得到當前系統中的所有隱藏引數(以sys身份登入):

select ksppinm, ksppstvl, ksppdesc

from x$ksppi x, x$ksppcv y

where x.indx = y.indx

and translate(ksppinm,'_','#') like '#%';

三、系統當前引數

下面的指令碼以英文本母順序列出了系統當前使用的所有引數。在列出的引數中,如果引數名稱前面有#這個符號,則表示該引數沒有明確指定,採用了系統中的預設引數。一般在乙個新的oracle版本安裝完成後,首先執行該指令碼,則可以生成該版本資料庫的標準init.ora檔案。

set pagesize 9000

set head off

set term off

select

decode(isdefault, 'true', '# ') ||

decode(isdefault, 'true', rpad(name,43), rpad(name,45)) ||

' = ' || value

from v$parameter

order by name;

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

了解oracle資料庫的情況

1.了解你的資料庫版本號 2.是否配置了dataguard?sql select protection mode,protection level,remote archive,database role,dataguard broker,guard status from v database 3...

資料庫 Oracle中建立資料庫

create database lihua 網上的說法是 oracle中的例項只對應乙個資料庫,出現此種情況說明oracle資料庫處於mount 裝載 或open狀態,需要使用startup nomount語句進行狀態更改,或者是直接使用dbca的圖形介面來建立 注 經測試,startup nomo...

初步了解 資料庫系統

最近在看自考書 資料庫系統原理。學習計算機也有兩年了,前前後後做了 3次系統,都用到了資料庫。可以說對資料庫一些基本的操作比較熟悉了,但是一些抽象的理論概念,還是很模糊,好在,有了自考,我們可以在理論上更為鞏固一下。資料庫系統原理這本書的第一章就是像我們大家介紹了資料庫系統的一些基本概念。包括資料描...