《使用SQL來分析數(shù)據(jù)庫參數(shù)(一)》要點:
本文介紹了使用SQL來分析數(shù)據(jù)庫參數(shù)(一),希望對您有用。如果有疑問,可以聯(lián)系我們。
對于10g,11g,12c中的參數(shù)變化有時候感覺就是使不上勁,因為參數(shù)好像很多,但是了解的又很少.隱含參數(shù)經(jīng)常是碰到問題的時候關(guān)聯(lián)思考發(fā)現(xiàn)有這么一個隱含參數(shù),有些問題可能有意識還會主動去查查,如果恍惚一下就算了.如此一來,其實對于數(shù)據(jù)庫參數(shù)而言我們很多人也還是一知半解.
怎么得到去分析數(shù)據(jù)庫參數(shù)的變化情況呢,突然想到使用SQL來分析是個不錯的方法.比如我現(xiàn)在希望解決下面的問題.
正式參數(shù)和隱含參數(shù)的數(shù)據(jù)情況
哪些參數(shù)是11g新增的?
那些是12c新增的?
哪些11g的隱含參數(shù),在12c正式引入?
哪些是11g的隱含參數(shù),在12c中被廢棄?
哪些是10g的隱含參數(shù),在11g被廢棄?
哪些是10g的隱含參數(shù),在11g被正式引入?
哪些是10g默認(rèn)的參數(shù),在11g有所變化?
哪些是11g默認(rèn)的參數(shù),在12c中有所變化?
看來我提出了不少的問題,但是解決起來純手工那是遙遙無期,還是使用SQL吧.
首先我們需要做一些基本的鋪墊,怎么得到對應(yīng)的數(shù)據(jù).
如果想得到一份完成的參數(shù)列表,可以參考v$parameter這個是正式公布的參數(shù),還有一部分是隱含參數(shù).他們的差別其實就是字段的過濾條件不同,基表是相同的,都是x$的內(nèi)存表.
可以使用如下的SQL得到完整的參數(shù)列表,包含隱含參數(shù)和正式參數(shù)
spool all_param.lst
set pages 0
set linesiz 200
select
(select version from v$instance)||’|’||’ALL’||’|’||x.ksppinm||’|’||y.ksppstvl ||’|’||y.ksppstdf||’|’||decode(bitand(ksppilrmflg / 64, 1), 1, ‘TRUE’, ‘FALSE’)||’|’||ksppdesc
from
sys.x$ksppi x,
sys.x$ksppcv y
where
x.inst_id = userenv(‘Instance’) and
y.inst_id = userenv(‘Instance’) and
x.indx = y.indx
order by
translate(x.ksppinm, ‘ _’, ‘ ‘);
spool off
可以使用如下的SQL得到公開的正式參數(shù)
spool db_param.lst
set pages 0
set linesize 200
select (select version from v$instance)||’|’||’GENERAL’||’|’||name||’|’||value||’|’||isdefault||’|’||isdeprecated||’|’||description from v$parameter ;
spool off
然后可以找?guī)讉€有針對性的環(huán)境,比如10g我是參考10.2.0.5.0,11g參考11.2.0.4.0,12c參考12.1.0.2.0
簡單的一個數(shù)據(jù)分布情況如下:
10g版本
共1620個參數(shù)
供260個公開參數(shù),即v$parameter中可以查到的.
11g版本
共2914個參數(shù)
供352個公開參數(shù),即v$parameter中可以查到的.
12c版本
共3978個參數(shù)
供382個公開參數(shù),即v$parameter中可以查到的.
得到了參數(shù)的列表,我們可以導(dǎo)入到一個表中統(tǒng)一管理分析.可以創(chuàng)建一個表如下:
create table db_param_all (db_version varchar2(10),param_type varchar2(10),name varchar2(80),value varchar(512),isdefault varchar2(9),isdeprecated varchar2(5),description varchar2(255));
而怎么導(dǎo)入數(shù)據(jù)呢,還是SQL*Loader吧.
loaddata
infile*
appendintotabledb_param_all
fieldsterminatedby’|’
(db_version,param_type,name,value,isdefault,isdeprecated,description))
完成以上的步驟,就可以做一些基本的數(shù)據(jù)分析了,至少很多不確定的問題都可以自己找到答案.
作者:楊建榮
文章出處:楊建榮的學(xué)習(xí)筆記(訂閱號ID:jianrong-notes)
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/4401.html