欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Oracle參數(shù)的查詢和修改方法

這篇文章主要講解了“Oracle參數(shù)的查詢和修改方法”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“Oracle參數(shù)的查詢和修改方法”吧!

創(chuàng)新互聯(lián)建站網(wǎng)站建設(shè)公司提供網(wǎng)站設(shè)計(jì)和自適應(yīng)建站服務(wù)。團(tuán)隊(duì)由有經(jīng)驗(yàn)的網(wǎng)頁(yè)設(shè)計(jì)師、程序員和市場(chǎng)專家組成,能夠提供從H5高端網(wǎng)站建設(shè),網(wǎng)站制作,廣告投放平臺(tái),模板建站到小程序定制開(kāi)發(fā)等全方位服務(wù)。 以客戶為中心,致力于為客戶提供創(chuàng)新、高效的解決方案,幫助您打造成功的企業(yè)網(wǎng)站。

測(cè)試環(huán)境

DB Version: oracle 11.2 RAC

OS: RHEL 6.x

v$parameter, v$parameter2, v$system_parameter, v$system_parameter2, v$spparameter的區(qū)別

Oracle 11g里主要的查詢參數(shù)的視圖有v$parameter, v$parameter2, v$system_parameter, v$system_parameter2, v$spparameter, dba_hist_parameter

v$parameter和v$parameter2有什么區(qū)別呢?就跟v$system_parameter和v$system_parameter2的區(qū)別是一樣的。呵呵,具體為:

v$parameter里存的是每個(gè)parameter的value, 一個(gè)parameter一條記錄。v$parameter2也存的是每個(gè)parameter的value, 不過(guò)在v$parameter2里是每行的name只會(huì)存一個(gè)value。以control_files為例,這個(gè)parameter會(huì)對(duì)應(yīng)至少兩個(gè)值,那么在v$parameter里只會(huì)有一條記錄,而在v$parameter2里卻會(huì)有2條記錄。其實(shí)真想不明白o(hù)racle為啥要設(shè)計(jì)出一個(gè)這樣的視圖來(lái),使用場(chǎng)景在哪?歡迎有知道的童鞋告訴我下

v$parameter和v$system_parameter的區(qū)別: v$parameter是存儲(chǔ)當(dāng)前session的parameter/value, 而v$system_parameter存儲(chǔ)的是當(dāng)前instance級(jí)別的parameter/value; 也就是說(shuō)一個(gè)新建立的session, v$parameter和v$system_parameter里面的parameter/value是一致的; 因?yàn)閟ession level parameter是從instance level parameter繼承來(lái)的; 然后通過(guò)alter session可以修改v$parameter的值,但是并不會(huì)修改v$system_parameter data

我嘗試從session1執(zhí)行一個(gè)alter session, 然后再session1看到v$parameter值是變化了,打開(kāi)session2, 看到的v$parameter的值還是老的值,這我就困惑了,不是說(shuō)v$parameter能看到alter session之后的值嗎?為啥session1和session2看到的結(jié)果不一樣呢? 這就是因?yàn)関$parameter顯示的是當(dāng)前session的parameter name/value呀.

v$spparameter和v$system_parameter: 這兩個(gè)view的區(qū)別在于: v$spparameter用于存儲(chǔ)spfile 里的parameter name/value, 而v$system_parameter用于存儲(chǔ)instance level當(dāng)前的parameter name/value; 體現(xiàn)在哪呢?

例子

SQL> select name, value from v$system_parameter where name='cursor_sharing';

NAME       VALUE

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

cursor_sharing       EXACT

SQL> select name, value from v$spparameter where name='cursor_sharing';

NAME       VALUE

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

cursor_sharing       EXACT

SQL> select name, value from v$parameter where name='cursor_sharing';

NAME       VALUE

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

cursor_sharing       EXACT

------------執(zhí)行alter session之后三張表的查詢結(jié)果

Session 1:

SQL> select userenv('sid') from dual;

USERENV('SID')

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

569

SQL> alter session set cursor_sharing='FORCE';

Session altered.

SQL> select name, value from v$parameter where name='cursor_sharing';

NAME       VALUE

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

cursor_sharing       FORCE

SQL> select name, value from v$spparameter where name='cursor_sharing';

NAME       VALUE

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

cursor_sharing       EXACT

SQL> select name, value from v$system_parameter where name='cursor_sharing';

NAME       VALUE

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

cursor_sharing       EXACT

Session 2:

SQL> select userenv('sid') from dual;

USERENV('SID')

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

853

SQL> select name, value from v$parameter where name='cursor_sharing';

NAME       VALUE

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

cursor_sharing       EXACT

SQL> select name, value from v$spparameter where name='cursor_sharing';

NAME       VALUE

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

cursor_sharing       EXACT

SQL> select name, value from v$system_parameter where name='cursor_sharing';

NAME       VALUE

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

cursor_sharing       EXACT

從這里可以看到通過(guò)alter session修改之后,當(dāng)前session1里查v$parameter, cursor_sharing已經(jīng)改成了FORCE, 但是另外一個(gè)session的v$parameter里的值并沒(méi)有改變; 通過(guò)v$system_parameter和v$spparameter里的值也沒(méi)有改變;

例子2:

僅僅修改v$spparameter

通過(guò)alter system set ... scope=spfile, 這樣修改的參數(shù)就只會(huì)進(jìn)入spfile里,所以只有v$spparameter才能看到;

修改前

SQL> select name, value from v$parameter where name='cursor_sharing';

NAME       VALUE

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

cursor_sharing       EXACT

SQL> select name, value from v$parameter where name='open_cursors';

NAME       VALUE

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

open_cursors       500

SQL> select name, value from v$system_parameter where name='open_cursors';

NAME       VALUE

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

open_cursors       500

SQL> select name, value from v$spparameter where name='open_cursors';

NAME       VALUE

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

open_cursors       500

修改后

SQL> alter system set open_cursors=3000 scope=spfile sid='*';

System altered.

SQL> select name, value from v$system_parameter where name='open_cursors';

NAME       VALUE

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

open_cursors       500

SQL> select name, value from v$spparameter where name='open_cursors';

NAME       VALUE

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

open_cursors       3000

SQL> select name, value from v$parameter where name='open_cursors';

NAME       VALUE

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

open_cursors       500

例子3

只修改v$system_parameter

修改前

SQL> select name, value from v$spparameter where name='db_file_multiblock_read_count';

NAME       VALUE

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

db_file_multiblock_read_count

注意這里顯示的是NULL,表示這個(gè)parameter value在spfile里沒(méi)有設(shè)置,但是v$system_parameter里又有值,這是因?yàn)橄到y(tǒng)會(huì)根據(jù)一定的規(guī)則自己計(jì)算出一個(gè)值來(lái)

SQL> select name, value from v$system_parameter where name='db_file_multiblock_read_count';

NAME       VALUE

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

db_file_multiblock_read_count  128

SQL> select name, value from v$parameter where name='db_file_multiblock_read_count';

NAME       VALUE

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

db_file_multiblock_read_count  128

修改后

SQL> alter system set db_file_multiblock_read_count=256 scope=memory sid='*';

System altered.

SQL> select name, value from v$spparameter where name='db_file_multiblock_read_count';

NAME       VALUE

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

db_file_multiblock_read_count

SQL> select name, value from v$system_parameter where name='db_file_multiblock_read_count';

NAME       VALUE

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

db_file_multiblock_read_count  256

SQL> select name, value from v$parameter where name='db_file_multiblock_read_count';

NAME       VALUE

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

db_file_multiblock_read_count  256

v$spparameter里的值仍然為空,v$system_parameter的值改為了256, 并且   并且 v$parameter里的值也是256. 這說(shuō)明什么問(wèn)題?說(shuō)明如果一個(gè)參數(shù)沒(méi)有執(zhí)行alter session, 那么這個(gè)參數(shù)的值在v$parameter和v$system_parameter里的值是一樣的;

當(dāng)然也可以通過(guò)alter system set ... scope=BOTH sid='*' 讓改動(dòng)在v$spparameter和v$system_parameter里都能看到; 這也就是scope=BOTH/MEMORY/SPFILE的區(qū)別

oracle 11G里有355個(gè)parameter, 那到底哪個(gè)是可以通過(guò)alter session修改的,哪個(gè)是可以通過(guò)alter system修改的呢?以及那些不可以修改的呢?這個(gè)通過(guò)v$system_parameter就可以知道;

isses_modifiable: 是否能通過(guò)alter session修改. 這只有兩個(gè)值: TRUE/FALSE

issys_modifiable: 是否能通過(guò)alter system修改: 這有三個(gè)值: IMMEDIATE/DEFERRED/FALSE  (IMMEDIATE表示立即生效,在當(dāng)前session就生效; DEFFERED: 表示對(duì)所有當(dāng)前正在連接的session都不生效,只有對(duì)這之后的連接才生效. FALSE就表示不允許alter system修改)

對(duì)于ISSYS_MODIFIABLE=DEFERRED的參數(shù),必須通過(guò)alter system .... deferred才能修改; 否則都會(huì)報(bào)錯(cuò)ORA-02096

ORA-02096: specified initialization parameter is not modifiable with this option

當(dāng)使用ASMM或者AMM的時(shí)候,很多 parameter value都是系統(tǒng)自動(dòng)調(diào)整的,當(dāng)你修改了某個(gè)參數(shù)之后又想把這個(gè)參數(shù)交回給系統(tǒng)自動(dòng)來(lái)管理,那怎么辦呢?其實(shí)也就是恢復(fù)默認(rèn)值。可以通過(guò)SQL: alter system reset name=<value> scope=... 注意這里使用的是RESET命令。 reset的命令的意思其實(shí)就是不設(shè)置了,也就是把一個(gè)item從spfile里刪除,那么如果要?jiǎng)h除,就一定要現(xiàn)有這個(gè)item, 所以如果你要reset一個(gè)不存在的parameter的時(shí)候也會(huì)報(bào)錯(cuò)?;蛘咴赗AC里,如果設(shè)置的時(shí)候是instance by instance設(shè)置的,而reset的時(shí)候通過(guò)alter system reset ... sid='*'也會(huì)報(bào)錯(cuò);

SQL> select name, value from v$spparameter where name='db_file_multiblock_read_count';

NAME   VALUE

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

db_file_multiblock_read_count

在v$spparameter里找不到這個(gè)parameter value, 說(shuō)明沒(méi)有設(shè)置

SQL> alter system reset db_file_multiblock_read_count scope=spfile sid='*';

alter system reset db_file_multiblock_read_count scope=spfile sid='*'

ERROR at line 1:

ORA-32010: cannot find entry to delete in SPFILE

這里報(bào)錯(cuò)了

這是一種情況, 對(duì)于RAC來(lái)說(shuō),你可以instance by instance設(shè)置參數(shù)信息

這里看到每個(gè)instnace的parameter value不一樣。即使value一樣你也可以instance by instance設(shè)置

SQL> select sid, name, value from v$spparameter where name='db_file_multiblock_read_count';

SID NAME    VALUE

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

racaaweb1 db_file_multiblock_read_count    64

racaaweb2 db_file_multiblock_read_count    256

SQL> alter system reset db_file_multiblock_read_count scope=spfile sid='*';

alter system reset db_file_multiblock_read_count scope=spfile sid='*'

ERROR at line 1:

ORA-32010: cannot find entry to delete in SPFILE

這里還是出錯(cuò)了

隱含參數(shù)

Oracle還有另外一種參數(shù),稱為隱含參數(shù),隱含參數(shù)的名字以下劃線_打頭。默認(rèn)情況下隱含參數(shù)不會(huì)出現(xiàn)在上面的幾張表里,除非你修改了這些參數(shù)的值;

例子

alter system set "_undo_autotune"=TRUE;

這個(gè)語(yǔ)句修改了隱含參數(shù)_undo_autotune的值; 這里涉及到注意點(diǎn):

1) 修改隱含參數(shù)的時(shí)候,隱含參數(shù)名字需要用雙引號(hào)""括起來(lái)

2) 對(duì)于這種后面沒(méi)帶scope的,scope的默認(rèn)值是BOTH

3) 對(duì)于這種后面沒(méi)帶sid的,sid的默認(rèn)值是'*'

更新之后的值如下:

SQL> select name, value from v$spparameter where name='_undo_autotune';

NAME   VALUE

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

_undo_autotune   TRUE

SQL> select name, value from v$system_parameter where name='_undo_autotune';

NAME   VALUE

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

_undo_autotune   TRUE

也就是說(shuō),所有修改過(guò)的并且當(dāng)前生效的參數(shù)都可以在v$parameter里看到, 不管是隱含的還是非隱含的。那么如何查詢哪些沒(méi)有修改過(guò)的隱含參數(shù)呢?使用一下SQL:

Hidden Parameter

set linesize 1000

SET VERIFY OFF

COLUMN parameter      FORMAT a37

COLUMN description    FORMAT a50 WORD_WRAPPED

COLUMN session_value  FORMAT a10

COLUMN instance_value FORMAT a10

SELECT a.ksppinm AS parameter,

a.ksppdesc AS description,

b.ksppstvl AS session_value,

c.ksppstvl AS instance_value

FROM   x$ksppi a,

x$ksppcv b,

x$ksppsv c

WHERE  a.indx = b.indx

AND    a.indx = c.indx

AND    a.ksppinm LIKE '%'||LOWER('&1')||'%' ESCAPE '/'

ORDER BY a.ksppinm;

補(bǔ)充

1:  x$ksppi: 這里存的是所有的parameter name;  x$ksppcv存的是session level的parameter value, x$ksppsv存的是instance level的parameter value; 這個(gè)通過(guò)查詢x$fixed_view_definition就能看到了

2. oracle snapshot也會(huì)記錄下這些parameter value,所以從這里也能看到是否有變化;

3. 當(dāng)修改任何一個(gè)parameter的時(shí)候,都會(huì)在alert log里有記錄,所以從這里也能看到所有被改變的parameter;

感謝各位的閱讀,以上就是“Oracle參數(shù)的查詢和修改方法”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)Oracle參數(shù)的查詢和修改方法這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

本文名稱:Oracle參數(shù)的查詢和修改方法
當(dāng)前網(wǎng)址:http://aaarwkj.com/article28/jejdcp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣、虛擬主機(jī)、網(wǎng)站收錄、網(wǎng)站內(nèi)鏈、手機(jī)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

小程序開(kāi)發(fā)
中国吞精囗交免费视频| 亚洲精品日韩国产3区| 日韩亚洲国产激情一区二区| 国产一区二区精品久久岳| 极品白嫩少妇无套内谢| 国产精品大片久久激情四射| 日韩一区二区三区av| 中文字幕av免费专区| 国产精品自产拍在线网站| 国产深夜福利在线观看| 四虎在线永久观看视频| 亚洲欧美激情专区在线| 亚洲精品在线观看日本| 国产,欧美,日韩,日日骚| 免费在线观看一区二区三区视频 | 麻豆精品国产粉嫩av| 亚洲国产熟女导航网站视频| 亚洲日本成人av在线观看| 久久视频在线播放视频| 在线国产精品中文字幕| 日韩欧美中文字幕一区二区| 91日韩国产中文字幕| 在线 | 一区二区三区四区| 最新手机免费黄色av网站| 一区二区三区在线观看日本视频| 国产视频一区2区三区| 少妇内射呻吟中文字幕视频| 黄色大全欧美在线观看| 日韩欧美在线观看一区二区| 日韩精品一区二区三区电影在线播放| 日韩欧美一区二区三区| 久久精品人妻少妇一区二区| av中文字幕啊嗯不要| av免费在线不卡一区| 国产精品视频一区二区噜| 一本久道久久综合久久鬼色| 国产av高清亚洲精品高清二部| 成人性生交大片免费看中文| 东京热一精品无码av| 91白丝视频在线观看| 国产亚洲欧美成人精品久久|