溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

DM7修改數(shù)據(jù)庫(kù)參數(shù)

發(fā)布時(shí)間:2020-08-09 17:31:36 來(lái)源:ITPUB博客 閱讀:158 作者:eric0435 欄目:數(shù)據(jù)庫(kù)

在DM7中可以DBA可以在DM數(shù)據(jù)庫(kù)運(yùn)行過(guò)程中執(zhí)行SF_GET_PARA_VALUE、SF_GET_PARA_DOUBLE_VALUE和SF_GET_PARA_STRING_VALUE這三個(gè)函數(shù)來(lái)獲取系統(tǒng)的當(dāng)前配置參數(shù),并且可以使用SP_SET_PARA_VALUE,SP_SET_PARA_DOUBLE_VALUE和SP_SET_PARA_STRING_VALUE過(guò)程來(lái)修改靜態(tài)/動(dòng)態(tài)配置參數(shù).

SP_SET_PARA_VALUE (scope int, paraname varchar(256), value int64)該過(guò)程用于修改整型靜態(tài)配置參數(shù)和動(dòng)態(tài)配置參數(shù)。SCOPE參數(shù)為1表示在內(nèi)存和INI文件中都修改參數(shù)值,此時(shí)只能修改動(dòng)態(tài)的配置參數(shù)。參數(shù)為2表示只在INI文件中修改配置參數(shù),
此時(shí)可用來(lái)修改靜態(tài)配置參數(shù)和動(dòng)態(tài)配置參數(shù)。當(dāng)SCOPE等于1,試圖修改靜態(tài)配置參數(shù)時(shí)服務(wù)器會(huì)返回錯(cuò)誤信息。只有具有DBA角色的用戶才有權(quán)限調(diào)用SP_SET _PARA_VALUE。

SP_SET_PARA_DOUBLE_VALUE (scope int, paraname varchar(8187),alue double)該過(guò)程用于修改浮點(diǎn)型靜態(tài)配置參數(shù)和動(dòng)態(tài)配置參數(shù)。SCOPE參數(shù)為1表示在內(nèi)存和INI文件中都修改參數(shù)值,此時(shí)只能修改動(dòng)態(tài)的配置參數(shù)。參數(shù)為2表示只在INI文件中修改配置參數(shù),此時(shí)可用來(lái)修改靜態(tài)配置參數(shù)和動(dòng)態(tài)配置參數(shù)。當(dāng)SCOPE等于1,試圖修改靜態(tài)配置參數(shù)時(shí)服務(wù)器會(huì)返回錯(cuò)誤信息。只有具有DBA角色的用戶才有權(quán)限調(diào)用SP_SET_PARA_DOUBLE_VALUE。

SF_SET_SYSTEM_PARA_VALUE (paraname varchar(256), value int64\double\varchar(256), deferred int, scope int64)該過(guò)程用于修改系統(tǒng)整型、double、varchar的靜態(tài)配置參數(shù)或動(dòng)態(tài)配置參數(shù)。DEFERRED參數(shù),為0表示當(dāng)前session修改的參數(shù)立即生效,為1表示當(dāng)前session不生效,后續(xù)再生效,默認(rèn)為0。SCOPE參數(shù)為1表示在內(nèi)存和INI文件中都修改參數(shù)值,此時(shí)只能修改動(dòng)態(tài)的配置參數(shù)。參數(shù)為2表示只在INI文件中修改配置參數(shù),此時(shí)可用來(lái)修改靜態(tài)配置參數(shù)和動(dòng)態(tài)配置參數(shù)。只有具有DBA角色的用戶才有權(quán)限調(diào)用SF_SET_SYSTEM_PARA_VALUE。

DM的動(dòng)態(tài)INI參數(shù)分為系統(tǒng)級(jí)和會(huì)話級(jí)兩種級(jí)別。會(huì)話級(jí)參數(shù)在服務(wù)器運(yùn)行過(guò)程中被修改時(shí),之前創(chuàng)建的會(huì)話不受影響,只有新創(chuàng)建的會(huì)話使用新的參數(shù)值。
1. SF_SET_SESSION_PARA_VALUE (paraname varchar(8187), value bigint) 設(shè)置某個(gè)會(huì)話級(jí)INI參數(shù)的值,設(shè)置的參數(shù)值只對(duì)本會(huì)話有效。
2. SP_RESET_SESSION_PARA_VALUE (paraname varchar(8187)) 重置某個(gè)會(huì)話級(jí)INI參數(shù)的值,使得這個(gè)INI參數(shù)的值和系統(tǒng)INI參數(shù)的值保持一致。
3. SF_GET_SESSION_PARA_VALUE (paraname varchar(8187)) 獲得當(dāng)前會(huì)話的某個(gè)會(huì)話級(jí)INI參數(shù)的值。

下面修改動(dòng)態(tài)參數(shù)enable_auidt,scope=1同時(shí)修改內(nèi)存和dm.ini文件

SQL> call sp_set_para_value(1,'ENABLE_AUDIT',1);
DMSQL executed successfully
used time: 87.566(ms). Execute id is 199.
SQL> select sf_get_para_value(1,'ENABLE_AUDIT');
LINEID     SF_GET_PARA_VALUE(1,'ENABLE_AUDIT')
---------- -----------------------------------
1          1
used time: 10.131(ms). Execute id is 200.

查詢v$dm_ini視圖可以看到,當(dāng)前dm.ini文件中也被修改了因?yàn)閒ile_value=1

SQL> select * from v$dm_ini where para_name='ENABLE_AUDIT';
LINEID     PARA_NAME    PARA_VALUE MIN_VALUE MAX_VALUE MPP_CHK SESS_VALUE FILE_VALUE DESCRIPTION                                                                             PARA_TYPE
---------- ------------ ---------- --------- --------- ------- ---------- ---------- --------------------------------------------------------------------------------------- ---------
1          ENABLE_AUDIT 1          0         2         N       1          1          Flag For Allowing Audit, 0: no audit 1: normal audit  2:normal audit and realtime audit SYS
used time: 201.366(ms). Execute id is 206.

查詢v$parameter視圖可以看到,當(dāng)前內(nèi)存中也被修改了因?yàn)閟ys_value=1

SQL> select * from v$parameter where name='ENABLE_AUDIT';
LINEID     ID          NAME         TYPE VALUE SYS_VALUE FILE_VALUE DESCRIPTION                                                                            
---------- ----------- ------------ ---- ----- --------- ---------- ---------------------------------------------------------------------------------------
1          385         ENABLE_AUDIT SYS  1     1         1          Flag For Allowing Audit, 0: no audit 1: normal audit  2:normal audit and realtime audit
used time: 7.130(ms). Execute id is 207.

下面修改動(dòng)態(tài)參數(shù)enable_auidt,scope=2只修改dm.ini文件

SQL> call sp_set_para_value(2,'ENABLE_AUDIT',0);
DMSQL executed successfully
used time: 29.707(ms). Execute id is 208.
SQL> select sf_get_para_value(1,'ENABLE_AUDIT');
LINEID     SF_GET_PARA_VALUE(1,'ENABLE_AUDIT')
---------- -----------------------------------
1          0

查詢v$dm_ini視圖可以看到,當(dāng)前dm.ini文件中也被修改了因?yàn)閒ile_value=0,sess_value=1

SQL>  select * from v$dm_ini where para_name='ENABLE_AUDIT';
LINEID     PARA_NAME    PARA_VALUE MIN_VALUE MAX_VALUE MPP_CHK SESS_VALUE FILE_VALUE DESCRIPTION                                                                             PARA_TYPE
---------- ------------ ---------- --------- --------- ------- ---------- ---------- --------------------------------------------------------------------------------------- ---------
1          ENABLE_AUDIT 1          0         2         N       1          0          Flag For Allowing Audit, 0: no audit 1: normal audit  2:normal audit and realtime audit SYS
used time: 5.207(ms). Execute id is 209.

查詢v$parameter視圖可以看到,當(dāng)前內(nèi)存中也被修改了因?yàn)閟ys_value=1

SQL> select * from v$parameter where name='ENABLE_AUDIT';
LINEID     ID          NAME         TYPE VALUE SYS_VALUE FILE_VALUE DESCRIPTION                                                                            
---------- ----------- ------------ ---- ----- --------- ---------- ---------------------------------------------------------------------------------------
1          385         ENABLE_AUDIT SYS  1     1         0          Flag For Allowing Audit, 0: no audit 1: normal audit  2:normal audit and realtime audit
SQL> call sp_set_para_value(1,'SQL_TRACE_MASK',2);
call sp_set_para_value(1,'SQL_TRACE_MASK',2);
[-3503]:Invalid procedure parameter.
used time: 115.071(ms). Execute id is 0.

這里報(bào)錯(cuò)了,是因?yàn)镾Ql_TRACE_MASK參數(shù)值為字符串類型,如是可以使用以下函數(shù)來(lái)執(zhí)行

SQL> call sp_set_para_string_value(1,'SQL_TRACE_MASK','2');
DMSQL executed successfully
used time: 377.128(ms). Execute id is 194.

修改成功后可以執(zhí)行以下函數(shù)來(lái)驗(yàn)證是否成功

SQL> select sf_get_para_string_value(1,'SQL_TRACE_MASK');
LINEID     SF_GET_PARA_STRING_VALUE(1,'SQL_TRACE_MASK')
---------- --------------------------------------------
1          2
used time: 246.480(ms). Execute id is 198.

如果想要簡(jiǎn)單可以直接使用sf_set_system_para_value來(lái)修改參數(shù)就不用管參數(shù)的類型

SQL> call sf_set_system_para_value('SQL_TRACE_MASK','1',0,1);
DMSQL executed successfully
used time: 23.178(ms). Execute id is 212.
SQL> select sf_get_para_string_value(1,'SQL_TRACE_MASK');
LINEID     SF_GET_PARA_STRING_VALUE(1,'SQL_TRACE_MASK')
---------- --------------------------------------------
1          1
used time: 5.660(ms). Execute id is 214.


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI