普通參數(shù):也就是Oracle系統(tǒng)正常使用的一些參數(shù),
公司主營業(yè)務(wù):成都網(wǎng)站制作、網(wǎng)站建設(shè)、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)推出廣昌免費做網(wǎng)站回饋大家。
非凡參數(shù):包括三種,過時參數(shù)、強調(diào)參數(shù)和隱藏參數(shù)。
隨著Oracle數(shù)據(jù)庫新版本的發(fā)布,相應(yīng)每次都會增加或者刪除一些參數(shù)。下面具體介紹如何查詢當前系統(tǒng)版本中的各種參數(shù)情況。
一、過時參數(shù) 和 強調(diào)參數(shù)
Oracle 數(shù)據(jù)庫中,系統(tǒng)提供了幾個視圖可以查看系統(tǒng)參數(shù)的情況。視圖 V$OBSOLETE_PARAMETER 中含有所有的過時 (obsolete) 和強調(diào) (underscored) 參數(shù)。
這里首先說明一下什么是 Oracle 的過時 (obsolote) 和強調(diào) (underscored) 參數(shù),過時參數(shù),顧名思義就是在 Oracle 以前的版本中存在,但在新版本中已經(jīng)淘汰了的參數(shù),已經(jīng)不再使用;而強調(diào)參數(shù),是指那些在新版本中保留了下來,但是除非非凡需要不希望用戶使用的那些參數(shù)。在視圖 V$OBSOLETE_PARAMETER 中,包含這些參數(shù)的名稱和一個標志字 ISSPECIFIED ,該標志字用來指出這個參數(shù)是否在 init.ora 文件中已實際設(shè)置。 下面的 SQL 腳本列出了當前系統(tǒng)中所有的過時參數(shù)名稱以及它們是否在當前系統(tǒng)中設(shè)定。
您好,我在別的論壇也看到了您的提問,很高興為您解答:
查看oracle參數(shù)是靜態(tài)或者是動態(tài)[@more@]
select name,value,ISSYS_MODIFIABLE from v$parameter where ISSYS_MODIFIABLE ='IMMEDIATE' order by name ;--動態(tài)參數(shù)
select name,value,ISSYS_MODIFIABLE from v$parameter where ISSYS_MODIFIABLE ='FALSE' order by name ; ----靜態(tài)參數(shù),需要重啟數(shù)據(jù)庫參數(shù)才有效
select name,value,ISSYS_MODIFIABLE from v$parameter where ISSYS_MODIFIABLE ='DERERRED' order by name ;--延遲,當前會話不生效,后續(xù)的會話有效
如果我的回答沒幫助到您,請繼續(xù)追問。
查詢優(yōu)化器參數(shù)
1. optimizer_mode
查詢優(yōu)化器是為了找一個最高效的執(zhí)行計劃,這個參數(shù)用來定義什么是“高效”,比如是更快還是占用資源更少。在oracle10g中只支持兩個參數(shù)值:
all_rows:提供全部數(shù)據(jù)
first_rows(n):n為大于0的自然數(shù),表示盡快傳輸前面n條數(shù)據(jù)(比如分頁查詢的時候,我第一次只查詢前面10條數(shù)據(jù))
oracle10g默認為all_rows,可以再數(shù)據(jù)庫級別,會話級別,或者執(zhí)行SQL的時候修改該參數(shù)的值。
數(shù)據(jù)庫級別:alter system set optimizer_mode=first_rows(10) scope=spfile;
會話級別:ALTER SESSION SET OPTIMIZER_MODE=first_rows(10);
SQL級別:SELECT /*+ first_rows(10) */ id,name from t1 order by id;
其實,默認all_rows是最好的方式,如果確實是只要查詢小部分數(shù)據(jù),可以在sql級別加上提示,看是否能提高性能。
2. db_file_multiblock_read_count
在多塊讀的情況下(比如全表掃描),該參數(shù)說明一次最多可讀取的數(shù)據(jù)塊數(shù)目。設(shè)置得太小的話,效率低。設(shè)置得太高也不見得就好(太高,會受I/O最大吞吐量限制。比如設(shè)置成一次最多讀取1024塊,但I/O最大吞吐量只允許32塊,那一次最多也只讀取32塊。而且一次讀取很多塊,開銷會偏高。)應(yīng)該通過測試,才能知道應(yīng)該把該參數(shù)設(shè)置成哪一個值。
測試過程:
1. 創(chuàng)建一張大表,比如上千萬行級別的數(shù)據(jù)
2. 循環(huán)設(shè)置該參數(shù)的值,查看全表掃描的速度。類似于以下語句:
[sql] view plain copy
span style="font-size:14px;" declare
l_count pls_integer;
l_time pls_integer;
l_starting_time pls_integer;
l_ending_time pls_integer;
begin
dbms_output.put_line('dbfmbrc seconds');
for l_dbfmbrc in 1..32
loop
execute immediate 'alter session set db_file_multiblock_read_count='||l_dbfmbrc;
l_starting_time := dbms_utility.get_time();
select /*+ full(t) */ count(*) into l_count from big_table t;
l_ending_time := dbms_utility.get_time();
l_time := round((l_ending_time-l_starting_time)/100);
dbms_output.put_line(l_dbfmbrc||' '||l_time);
end loop;
end;
//span
3. optimizer_index_cost_adj
影響走索引掃描的開銷計算。 取值范圍1到10000.默認值為100,超過100后,走索引掃描的開銷越高,從而使得查詢優(yōu)化器更加傾向于使用全表掃描。相反,小于100,索引掃描的開銷就越低,從而使得查詢優(yōu)化器更加傾向于使用索引掃描。從下面索引掃描開銷計算公式可以看出:
io_cost=(blevel+(leaf_blocks+culstering_factor)*selectivity) *optimizer_index_cost_adj/100.
一般是默認值不需要修改,但是如果發(fā)現(xiàn)本應(yīng)該走索引掃描結(jié)果走了全表掃描,可以適當調(diào)低該值,但是,這個值不應(yīng)該設(shè)置過低,因為,過低的話,如果兩個索引掃描的開銷不同,可能通過該公式一算,開銷就變成一樣的了。總之,不建議修改該參數(shù)的值。
PGA參數(shù)
1. workarea_size_policy
管理工作區(qū)域內(nèi)存(PGA)的方式,
auto:oracle10g默認方式,委托給內(nèi)存管理器自動管理(建議不需要修改)
manual:oracle9i默認方式,oracle9i沒有自動管理功能。
2. pga_aggregate_target
如果是自動管理PGA,那么該參數(shù)用于指定實例可用的PGA的大小,默認是SGA的20%。即使今后用的內(nèi)存超過了設(shè)置的值,也沒有關(guān)系,oracle會自動增大PGA的值。比如該參數(shù)設(shè)置的是200M,今后某一時刻,需要300M,也是沒問題的,會自動增長。
3. sort_area_size
手動管理PGA,該參數(shù)指定分配多大的內(nèi)存用于排序操作,過小的話,會影響性能,過大的話浪費空間。很難說一個合適的默認值,因為用戶場景變化非常大,實際情況得實際處理。
4. hash_area_size
手動管理PGA,該參數(shù)用于指定哈希連接的工作區(qū)域大小,同樣建議它的值也很困難。如果過小,那么查詢優(yōu)化器就會高估哈希連接的開銷,偏向于合并連接。
select *
from x$ksppi a, x$ksppcv b
where a.indx = b.indx
order by ksppinm
你查看的是初始化文件initorcl.ora,initorcl.ora記錄了控制文件的路徑。所以內(nèi)容是正確的
。
你可以
create
pfile='e:\oracle\aaa.ora'
from
spfile;
然后查看e:\oracle\aaa.ora文件
這里記錄就是你的參數(shù),可以修改
接著通過pfile文件生成spfile文件
create
spfile
from
pfile=='e:\oracle\aaa.ora';
啟動數(shù)據(jù)庫就可以了
pfile是文本的,可以修改,但修改后數(shù)據(jù)庫必須重新啟動才生效。
spfile是二進制的,不可以手工修改,可以在線修改參數(shù),不需要重新啟動數(shù)據(jù)庫。
名稱欄目:如何查詢oracle參數(shù),oracle函數(shù)參數(shù)類型
文章轉(zhuǎn)載:http://jinyejixie.com/article40/dsdgdeo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、App設(shè)計、虛擬主機、面包屑導(dǎo)航、做網(wǎng)站、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)