国产福利在线播放|久久精品福利网站免费|国产呻吟视频在线观看|日韩一区二区三区免费高清|久996视频精品免费观看|欧美日本在线一区二区三区|在线最新无码经典无码免費資訊|国产午夜亚洲精品国产成人最大

始創(chuàng)于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊(cè)有禮 登錄
  • 掛牌上市企業(yè)
  • 60秒人工響應(yīng)
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補(bǔ)償
全部產(chǎn)品
您的位置: 網(wǎng)站首頁(yè) > 幫助中心>文章內(nèi)容

用show parameter也能顯示隱含參數(shù)

發(fā)布時(shí)間:  2012/7/27 17:19:20

Oracle 數(shù)據(jù)庫(kù)啟動(dòng)時(shí)用到的數(shù)據(jù)庫(kù)初始化參數(shù),我們通常是在 sqlplus 中使用 show parameter 命令來(lái)獲取。但這里看到只會(huì)是一些公開的參數(shù),和已經(jīng)修改的隱含參數(shù)。 Oracle 還有一批隱含參數(shù),在 debug 或者實(shí)現(xiàn)某些功能時(shí)非常有用。

在網(wǎng)上,你可以很方便的查到如何查詢這些隱含參數(shù)。但是,如果我還想繼續(xù)使用 show parameter 方法顯示隱含參數(shù)呢?這該如何實(shí)現(xiàn)?
-
 

我在這里介紹一個(gè)方法,來(lái)實(shí)現(xiàn)這個(gè)目標(biāo)。介紹這個(gè)方法的目的不僅僅是為了實(shí)現(xiàn) show parameter 可以顯示隱含參數(shù),還包括如何分析 show parameter 的實(shí)現(xiàn)過(guò)程。在遇到數(shù)據(jù)庫(kù)問(wèn)題診斷需求時(shí),這個(gè)方法,您也可以參考一下。

首先,我們分析 show parameter 這個(gè)命令是如何實(shí)現(xiàn)顯示初始化參數(shù)值的。

登錄 sqlplus / as sysdba

使用 alter session set sql_trace=true; 追蹤 show parameter 的執(zhí)行過(guò)程。

 

SQL> alter session set sql_trace=true;

Session altered.

 

SQL> show parameter "_pga_max_size"

SQL> host; 

bash-3.2$ more /u01/Oracle/app/oracle/admin/htzq/udump/htzq2_ora_19678.trc

/u01/Oracle/app/oracle/admin/htzq/udump/htzq2_ora_19678.trc

Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production

With the Partitioning, Real Application Clusters, OLAP, Data Mining

and Real Application Testing options

Oracle_HOME = /u01/oracle/app/oracle/product/10.2.0/db

System name:     Linux

Node name:       webdg2

Release:         2.6.18-92.el5

Version:         #1 SMP Tue Apr 29 13:16:15 EDT 2008

Machine:         x86_64

Instance name: htzq2

Redo thread mounted by this instance: 2

Oracle process number: 30

Unix process pid: 19678, image: Oracle@webdg2 (TNS V1-V3)

=====================
www.linuxidc.com
=====================

PARSING IN CURSOR #2 len=290 dep=0 uid=0 oct=3 lid=0 tim=1307409201601477 hv=1905048613 ad='c9e347d8'

SELECT NAME NAME_COL_PLUS_SHOW_PARAM,DECODE(TYPE,1,'boolean',2,'string',3,'integer',4,'file',5,'number',         6,'big integer', 'un

known') TYPE,DISPLAY_VALUE VALUE_COL_PLUS_SHOW_PARAM FROM V$PARAMETER WHERE UPPER(NAME) LIKE UPPER('%_pga_max_size%') ORDER BY NAME_

COL_PLUS_SHOW_PARAM,ROWNUM

END OF STMT

PARSE #2:c=4999,e=4042,p=0,cr=0,cu=0,mis=1,r=0,dep=0,og=1,tim=1307409201601471

EXEC #2:c=0,e=63,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,tim=1307409201601611

FETCH #2:c=4999,e=5583,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,tim=1307409201607254

bash-3.2$ exit

exit

結(jié)果顯示 ,show parameter 就是查詢一下 V$PARAMETER 視圖。

接著,我們就分析 V$PARAMETER 視圖的定義

SQL> SELECT * FROM v$fixed_view_definition WHERE view_name = 'V$PARAMETER';

VIEW_NAME
------------------------------
VIEW_DEFINITION
--------------------------------------------------------------------------------
V$PARAMETER
select  NUM , NAME , TYPE , VALUE , DISPLAY_VALUE, ISDEFAULT , ISSES_MODIFIABLE
, ISSYS_MODIFIABLE , ISINSTANCE_MODIFIABLE, ISMODIFIED , ISADJUSTED , ISDEPRECAT
ED, DESCRIPTION, UPDATE_COMMENT, HASH  from GV$PARAMETER where inst_id = USERENV
('Instance')

SQL> r

   1* SELECT * FROM v$fixed_view_definition WHERE view_name = 'GV$PARAMETER'

 

VIEW_NAME

------------------------------

VIEW_DEFINITION

--------------------------------------------------------------------------------

GV$PARAMETER

select x.inst_id,x.indx+1,ksppinm,ksppity,ksppstvl, ksppstdvl, ksppstdf,   decode

(bitand(ksppiflg/256,1),1,'TRUE','FALSE'),   decode(bitand(ksppiflg/65536,3),1,'I

MMEDIATE',2,'DEFERRED',                                   3,'IMMEDIATE','FALSE'),

   decode(bitand(ksppiflg,4),4,'FALSE',                                      decod

e(bitand(ksppiflg/65536,3), 0, 'FALSE', 'TRUE')),      decode(bitand(ksppstvf,7),

1,'MODIFIED',4,'SYSTEM_MOD','FALSE'),   decode(bitand(ksppstvf,2),2,'TRUE','FALSE

'),   decode(bitand(ksppilrmflg/64, 1), 1, 'TRUE', 'FALSE'),   ksppdesc, ksppstcmn

t, ksppihash   from x$ksppi x, x$ksppcv y where (x.indx = y.indx) and   ((translat

e(ksppinm,'_','#') not like '##%') and     ((translate(ksppinm,'_','#') not like

'#%')       or (ksppstdf = 'FALSE') or       (bitand(ksppstvf,5) > 0)))

V$PARAMETER 的定義主要來(lái)源于 GV$PARAMETER , 兩個(gè)都是同義詞,來(lái)源于v_$parameter和gv_$parameter。

這個(gè)定義語(yǔ)句中最關(guān)鍵部分 (translate(ksppinm,'_','#') not like '#%') 的條件。就是它把開頭為 "_"  的隱含參數(shù)給過(guò)濾掉了。因?yàn)榧恿?ksppstdf = 'FALSE'  的條件,這保證如果已經(jīng)手動(dòng)改過(guò)隱含參數(shù), show parameter 時(shí)會(huì)顯示已經(jīng)修改的隱含參數(shù)。

最后,重建 gv$parameter視圖

create or replace view gv_$parameter(INST_ID, NUM, NAME , TYPE , VALUE, DISPLAY_VALUE, ISDEFAULT, ISSES_MODIFIABLE , ISSYS_MODIFIABLE , ISINSTANCE_MODIFIABLE, ISMODIFIED , ISADJUSTED , ISDEPRECATED , DESCRIPTION, UPDATE_COMMENT , HASH ) as
select x.inst_id,
       x.indx + 1,
       ksppinm,
       ksppity,
       ksppstvl,
       ksppstdvl,
       ksppstdf,
       decode(bitand(ksppiflg / 256, 1), 1, 'TRUE', 'FALSE'),
       decode(bitand(ksppiflg / 65536, 3),
              1,
              'IMMEDIATE',
              2,
              'DEFERRED',
              3,
              'IMMEDIATE',
              'FALSE'),
       decode(bitand(ksppiflg, 4),
              4,
              'FALSE',
              decode(bitand(ksppiflg / 65536, 3), 0, 'FALSE', 'TRUE')),
       decode(bitand(ksppstvf, 7), 1, 'MODIFIED', 4, 'SYSTEM_MOD', 'FALSE'),
       decode(bitand(ksppstvf, 2), 2, 'TRUE', 'FALSE'),
       decode(bitand(ksppilrmflg / 64, 1), 1, 'TRUE', 'FALSE'),
       ksppdesc,
       ksppstcmnt,
       ksppihash
  from sys.x$ksppi x, sys.x$ksppcv y
 where (x.indx = y.indx) and (translate(ksppinm, '_', '#') not like '##%');

有一個(gè)疑問(wèn):

show parameter 時(shí)查的是同義詞gv$parameter。該同義詞無(wú)法刪除重建。

SQL> create synonym GV$PARAMETER for GV_$PARAMETER;
create synonym GV$PARAMETER for GV_$PARAMETER
               *
ERROR at line 1:
ORA-00955: name is already used by an existing object


SQL> drop synonym GV$PARAMETER;
drop synonym GV$PARAMETER
             *
ERROR at line 1:

ORA-02030: can only select from fixed tables/views


 


本文出自:億恩科技【www.riomediacenter.com】

服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經(jīng)營(yíng)性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經(jīng)營(yíng)性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經(jīng)營(yíng)性ICP/ISP證:贛B2-20080012
  • 服務(wù)器/云主機(jī) 24小時(shí)售后服務(wù)電話:0371-60135900
  • 虛擬主機(jī)/智能建站 24小時(shí)售后服務(wù)電話:0371-60135900
  • 專注服務(wù)器托管17年
    掃掃關(guān)注-微信公眾號(hào)
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權(quán)所有  地址:鄭州市高新區(qū)翠竹街1號(hào)總部企業(yè)基地億恩大廈  法律顧問(wèn):河南亞太人律師事務(wù)所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號(hào)
      0
     
     
     
     

    0371-60135900
    7*24小時(shí)客服服務(wù)熱線