時(shí)間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)
Oracle數(shù)據(jù)庫系統(tǒng)根據(jù)初始化參數(shù)文件init.ora中設(shè)置的參數(shù)來配置自身的啟動(dòng),每個(gè)實(shí)例在啟動(dòng)之前,首先讀取這些參數(shù)文件中設(shè)置的不同參數(shù)。Oracle系統(tǒng)中的參數(shù),根據(jù)系統(tǒng)使用情況可以簡單分為兩大類,普通參數(shù),也就是Oracle系統(tǒng)正常使用的一些參數(shù),另外一類就是特殊參數(shù),包括三種,過時(shí)參數(shù)、強(qiáng)調(diào)參數(shù)和隱藏參數(shù)。隨著Oracle數(shù)據(jù)庫新版本的發(fā)布,相應(yīng)每次都會(huì)增加或者刪除一些參數(shù)。如何查詢當(dāng)
前版本數(shù)據(jù)庫系統(tǒng)的參數(shù)情況以及當(dāng)前系統(tǒng)版本相對于以前版本增加或者丟棄的那些參數(shù)呢?本文將詳細(xì)介紹如何查詢當(dāng)前系統(tǒng)版本中的各種參數(shù)情況。
一、過時(shí)參數(shù)和強(qiáng)調(diào)參數(shù)
Oracle數(shù)據(jù)庫中,系統(tǒng)提供了幾個(gè)視圖可以查看系統(tǒng)參數(shù)的情況。視圖V$OBSOLETE_PARAMETER中含有所有的過時(shí)(obsolete)和強(qiáng)調(diào)(underscored)參數(shù)。這里首先說明一下什么是Oracle的過時(shí)(obsolote)和強(qiáng)調(diào)(underscored)參數(shù),過時(shí)參數(shù),顧名思義就是在Oracle以前的版本中存在,但在新版本中已經(jīng)淘汰了的參數(shù),已經(jīng)不再使用;而強(qiáng)調(diào)參數(shù),是指那些在新版本中保留了下來,但是除非特殊需要不希望用戶使用的那些參數(shù)。在視圖V$OBSOLETE_PARAMETER中,包含這些參數(shù)的名稱和一個(gè)標(biāo)志字ISSPECIFIED,該標(biāo)志字用來指出這個(gè)參數(shù)是否在init.ora文件中已實(shí)際設(shè)置。
下面的SQL腳本列出了當(dāng)前系統(tǒng)中所有的過時(shí)參數(shù)名稱以及它們是否在當(dāng)前系統(tǒng)中設(shè)定。
SQL> COL name format a50;
SQL> SELECT name, isspecified FROM v$obsolete_parameter;
上面談到,Oracle系統(tǒng)并沒有將V$OBSOLETE_PARAMETER視圖中的所有參數(shù)均丟棄,而是將其中的一部分轉(zhuǎn)換為強(qiáng)調(diào)參數(shù),下面就來討論如何查看這些參數(shù)是已被丟棄還是被轉(zhuǎn)換。這可以通過系統(tǒng)視圖X$KSPPO來查看,該視圖中包含一個(gè)名為KSPPOFLAG的字段,用來指明該參數(shù)在當(dāng)前版本中是被丟棄還是被強(qiáng)調(diào),如果該值為1,則表示該參數(shù)已被丟棄,該值為2,則表明該參數(shù)現(xiàn)為強(qiáng)調(diào)參數(shù)。
SELECT kspponm,
DECODE(ksppoflg, 1,';Obsolete';, 2, ';Underscored';)
FROM x$ksppo
ORDER BY kspponm;
注:該視圖只在sys用戶下可以看到。
二、隱藏參數(shù)
Oracle系統(tǒng)中還有一類參數(shù)稱之為隱藏參數(shù)(hidden parameters),是系統(tǒng)中使用,但Oracle官方?jīng)]有公布的參數(shù),這些參數(shù)可能是那些還沒有成熟或者是系統(tǒng)開發(fā)中使用的參數(shù)。這些參數(shù)在所有Oracle官方提供的文檔中都沒有介紹,他們的命名有一個(gè)共同特征就是都以';_';作為參數(shù)的首字符,諸如Oracle 8i中的_trace_files_public和_lock_sga_areas等等。
下面的查詢可以得到當(dāng)前系統(tǒng)中的所有隱藏參數(shù)(以sys身份登錄):
SELECT ksppinm, ksppstvl, ksppdesc
FROM x$ksppi x, x$ksppcv y
WHERE x.indx = y.indx
AND translate(ksppinm,';_';,';#';) like ';#%';;
三、系統(tǒng)當(dāng)前參數(shù)
下面的腳本以英文字母順序列出了系統(tǒng)當(dāng)前使用的所有參數(shù)。在列出的參數(shù)中,如果參數(shù)名稱前面有#這個(gè)符號,則表示該參數(shù)沒有明確指定,采用了系統(tǒng)中的默認(rèn)參數(shù)。一般在一個(gè)新的Oracle版本安裝完成后,首先運(yùn)行該腳本,則可以生成該版本數(shù)據(jù)庫的標(biāo)準(zhǔn)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;
參數(shù) 類別 說明 值范圍 默認(rèn)值
always_anti_join 優(yōu)化程序 一個(gè)反連接返回符合 NOT IN 子查詢的行。優(yōu)化程序校驗(yàn)是否可能反連接,如果可能,按照該參數(shù)的值處理子查詢。 NESTED_LOOPS|MERGE | HASH NESTED_LOOPS
always_semi_join 優(yōu)化程序 一個(gè)半連接返回符合 EXISTS 子查詢的行。如果在限制子查詢的列上尚未定義索引,半連接可以改善查詢性能。 NESTED_LOOPS | MERGE | HASH NESTED_LOOPS
aq_tm_processes 如果大于零,就會(huì)啟用對隊(duì)列消息的時(shí)間監(jiān)視。該時(shí)間值可用于指定消息的延遲和失效屬性 (用于應(yīng)用程序的開發(fā))。 0 - 10 0
audit_file_dest 對于每個(gè)與數(shù)據(jù)庫的 SYSDBA 或 INTERNAL 連接,都將在該目錄中生成一個(gè)審計(jì)文件 (僅用于 UNIX)。 任何有效的目錄名 ORACLE_HOME/rdbms/audit
audit_trail 安全性與審計(jì) 啟用或禁用數(shù)據(jù)庫審計(jì)。如果該參數(shù)為 TRUE 或 DB,審計(jì)記錄將被寫入 SYS.AUD$ 表中;如果參數(shù)為OS,則寫入一個(gè)操作系統(tǒng)文件。 NONE | FALSE | DB | TRUE | OS NONE
background_core_dump 診斷統(tǒng)計(jì) 是否將 SGA 信息轉(zhuǎn)儲(chǔ)到一個(gè)生成的核心文件中 (用于 UNIX)。 FULL | PARTIAL FULL
background_dump_dest 診斷統(tǒng)計(jì) 指定在 Oracle 操作過程中為后臺進(jìn)程 (LGWR,DBW n 等等) 寫入跟蹤文件的路徑名(目錄或磁盤)。它還定義記錄著重要事件和消息的數(shù)據(jù)庫預(yù)警文件的位置。 任何有效的目錄名。 ORACLE_HOME/rdbms/log (根據(jù)操作系統(tǒng)而定)
backup_tape_io_slaves 備份與恢復(fù) 一個(gè)恢復(fù)管理器參數(shù),用于確定讀取或?qū)懭氪艓欠褚褂梅?wù)器進(jìn)程或一個(gè)附加的 I/O 從屬。 TRUE | FALSE FALSE
bitmap_merge_area_size 優(yōu)化程序 指定合并從對索引的某一范圍進(jìn)行掃描而檢索得到的位圖要使用的內(nèi)存量。 根據(jù)系統(tǒng)而定。 1M
blank_trimming ANSI相容性 果值為 TRUE,即使源長度比目標(biāo)長度 (SQL92 兼容) 更長,也允許分配數(shù)據(jù)。 RUE | FALSE FALSE
buffer_pool_keep 高速緩存與I/O 保留池大小 (從 DB_BLOCK_BUFFERS 分配)。目的是將對象保留在內(nèi)存中,以減少 I/O。 特定的字符串值。如: buffers:400 無
buffer_pool_recycle 高速緩存與I/O 循環(huán)池大小 (從 DB_BLOCK_BUFFERS 分配)。目的是使用對象后將其清除,以便重復(fù)使用內(nèi)存。 特定的字符串值 如: buffers:50 無
commit_point_strength 分布式復(fù)制快照 一個(gè)用于確定分布式事務(wù)處理中提交點(diǎn)的位置的值。 0 -255 據(jù)操作系統(tǒng)而定
compatible 移植與兼容 允許使用一個(gè)新的發(fā)行版,同時(shí)保證與先前版本的向后兼容性。 默認(rèn)為當(dāng)前發(fā)行版。 由發(fā)行版確定
control_file_record_keep_time 重做日照、恢復(fù)與控制文件 控制文件中可重新使用部分中的記錄必須保留的最短時(shí)間 (天數(shù))。 0 -365 7
control_files 重做日照、恢復(fù)與控制文件 指定一個(gè)或多個(gè)控制文件名。Oracle 建議對于不同設(shè)備或 OS 文件鏡像使用多個(gè)文件。 1 - 8 文件名 (帶路徑名)。 根據(jù)操作系統(tǒng)而定
core_dump_dest 診斷與統(tǒng)計(jì) 指定核心轉(zhuǎn)儲(chǔ)位置的目錄名 (用于 UNIX)。 任何有效的目錄名。 ORACLE_HOME/dbs
cpu_count 進(jìn)程和會(huì)話 Oracle 可用的 CPU 的數(shù)目 (用于計(jì)算其它參數(shù)值)。請勿更改該值。 0 - 無限制 由 Oracle 自動(dòng)設(shè)置
create_bitmap_area_size 優(yōu)化程序 指定為創(chuàng)建位圖索引而分配的內(nèi)存量。 根據(jù)操作系統(tǒng)而定。
c
ursor_sharing 游標(biāo)和庫高速緩存 控制可以終止共享相同的共享游標(biāo)的 SQL 語句類型。 強(qiáng)制:強(qiáng)制表達(dá)方式不同但語句意思相同的語句共享一個(gè)游標(biāo)。EXACT:只令完全相同的 SQL 語句共享一個(gè)游標(biāo)。
cursor_space_for_time 游標(biāo)和庫高速緩存 一個(gè)游標(biāo)引用共享 SQL 區(qū)時(shí),確定將 SQL 區(qū)保留在共享池中還是從中按過期作廢處理。 TRUE | FALSE FALSE (過期作廢)
db_block_buffers 高速緩存與I/O 緩沖區(qū)高速緩存中 Oracle 塊的數(shù)量。該參數(shù)會(huì)顯著影響一個(gè)例程的 SGA 總大小。 4 - 根據(jù)操作系統(tǒng)而定。
db_block_checking 診斷與統(tǒng)計(jì) 用于控制是否檢查事務(wù)處理管理的塊有無損壞。 TRUE | FALSE FALSE
db_block_checksum 高速緩存與I/O DBWn、ARCH 和 SQL*loader 是否為每一個(gè)數(shù)據(jù)塊讀或?qū)懹?jì)算或校驗(yàn)塊的校驗(yàn)和。 TRUE | FALSE FALSE
db_block_lru_latches 高速緩存與I/O 指定 LRU 閂鎖集數(shù)量的上限。只有在 V$LATCH 中的失敗率超過 3% 的情況下,才需要增大該值。 1 - CPU 的數(shù)量 CPU_COUNT/2
db_block_max_dirty_target 高速緩存與I/O 緩沖區(qū)高速緩存中可以為灰緩沖區(qū)的數(shù)量??梢杂脕砉烙?jì)在恢復(fù)過程中讀取的塊數(shù)。 1000 到緩沖區(qū)高速緩存的大0 不限制緩沖區(qū))。 緩沖區(qū)高速緩存中的所有緩沖區(qū)
db_block_size 高速緩存與I/O 一個(gè) Oracle 數(shù)據(jù)庫塊的大小 (以字節(jié)計(jì))。該值在創(chuàng)建數(shù)據(jù)庫時(shí)設(shè)置,而且此后無法更改。 1024 - 65536 (根據(jù)操作系統(tǒng)而定)。 2048 (根據(jù)操作系統(tǒng)而定)
db_domain 分布式、復(fù)制與快照 指定數(shù)據(jù)庫名的擴(kuò)展名 (例如:US.ORACLE.COM) 為使一個(gè)域中創(chuàng)建的數(shù)據(jù)庫名唯一,建議指定該值。 由句點(diǎn)分隔的任何字符串,最長可以有 128 個(gè)字符。 WORLD
db_file_direct_io_count 高速緩存與I/O 用于備份、復(fù)原或直接方式讀寫 I/O 操作的塊的數(shù)量。 根據(jù)操作系統(tǒng)而定。 64
db_file_multiblock_read_count 高速緩存與I/O 在涉及一個(gè)完全連續(xù)掃描的一次 I/O 操作過程中讀取的塊的最大數(shù)量。 根據(jù)操作系統(tǒng)而定。 8
db_file_name_convert 備用數(shù)據(jù)庫 將主數(shù)據(jù)庫上的一個(gè)新數(shù)據(jù)文件的文件名轉(zhuǎn)換為備用數(shù)據(jù)庫上的文件名。 一個(gè)有效的主/備用目錄和文件名對。 無
db_files 高速緩存與I/O 可為該數(shù)據(jù)庫打開的數(shù)據(jù)文件的最大數(shù)量。 根據(jù)操作系統(tǒng)而定。 據(jù)操作系統(tǒng)而定
db_name 重作日照、恢復(fù)與控制文件 一個(gè)數(shù)據(jù)庫標(biāo)識符,應(yīng)與CREATE DATABASE 語句中指定的名稱相對應(yīng)。 任何有效名稱最多
關(guān)鍵詞標(biāo)簽:oracle
相關(guān)閱讀
熱門文章 Oracle中使用alter table來增加,刪除,修改列的語法 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 誤刪Oracle數(shù)據(jù)庫實(shí)例的控制文件 為UNIX服務(wù)器設(shè)置Oracle全文檢索
人氣排行 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 Oracle中使用alter table來增加,刪除,修改列的語法 ORACLE SQL 判斷字符串是否為數(shù)字的語句 ORACLE和SQL語法區(qū)別歸納(1) oracle grant 授權(quán)語句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法