Oracle檢視引數

Michael_DD發表於2014-12-19
Oracle檢視引數


--系統當前引數v$parameter
--系統當前使用的所有引數。在列出的引數中,假如引數名稱前面有 # 這個符號,則表示該引數沒有明確指定,採用了系統中的預設引數。

SELECT DECODE(isdefault, 'TRUE', '# '),
       DECODE(isdefault, 'TRUE', RPAD(name, 43), RPAD(name, 45)),
       VALUE
  FROM v$parameter
 ORDER BY name;
 
select * from v$parameter order by name;


-- 過時引數,顧名思義就是在 Oracle 以前的版本中存在,但在新版本中已經淘汰了的引數,已經不再使用
-- 過時引數名稱以及是否在當前系統中設定
select name, isspecified from v$obsolete_parameter;


-- 強調引數,是指那些在新版本中保留了下來,但是除非非凡需要不希望使用者使用的那些引數
-- KSPPOFLAG 的欄位,用來指明該引數在當前版本中是被丟棄還是被強調,
-- 假如該值為 1 ,則表示該引數已被丟棄,該值為 2 ,則表明該引數現為強調引數。
SELECT kspponm, DECODE(ksppoflg, 1, 'Obsolete', 2, 'Underscored')
  FROM x$ksppo
 ORDER BY kspponm;
 
 
--隱藏引數 (hidden parameters) ,是系統中使用,但 Oracle 官方沒有公佈的引數
--這些引數可能是那些還沒有成熟或者是系統開發中使用的引數   x$ksppi, x$ksppcv
SELECT ksppinm, ksppstvl, ksppdesc
  FROM x$ksppi x, x$ksppcv y
 WHERE x.indx = y.indx
   AND TRANSLATE(ksppinm, '_', '#') LIKE '#%';
--或者用:
SELECT i.ksppinm name,
       i.ksppdesc description,
       CV.ksppstvl VALUE,
       CV.ksppstdf isdefault,
       DECODE(BITAND(CV.ksppstvf, 7),
              1,
              'MODIFIED',
              4,
              'SYSTEM_MOD',
              'FALSE') ismodified,
       DECODE(BITAND(CV.ksppstvf, 2), 2, 'TRUE', 'FALSE') isadjusted
  FROM sys.x$ksppi i, sys.x$ksppcv CV
 WHERE i.inst_id = USERENV('Instance')
   AND CV.inst_id = USERENV('Instance')
   AND i.indx = CV.indx
   AND i.ksppinm LIKE '/_%' ESCAPE '/'
 ORDER BY REPLACE(i.ksppinm, '_', '');

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29500582/viewspace-1373456/,如需轉載,請註明出處,否則將追究法律責任。

相關文章