您好,登錄后才能下訂單哦!
本篇內容主要講解“Oracle靜態參數與動態參數類型詳細介紹”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Oracle靜態參數與動態參數類型詳細介紹”吧!
Oracle參數類型介紹
首先 配置文件:
pfile(參數文件),spfile(服務器配置文件) 在以前8i 以前的版本 是不可以動態的修改 系統參數的 但是 從9i 過后 就開始有了 spfile 提供給 管理員 更方便的 修改系統參數 兩個文件 區別: pfile 是 文本文件 可以通過 文本編輯器 編輯參數 而spfile是二進制文件 最好不要用文本編輯軟件編輯 內容,系統startup 默認 是讀取spfile 。
查看是用什么文件啟動:
方法一:
SQL> select distinct ISSPECIFIED from v$spparameter;
ISSPEC
------
FALSE
TRUE
如果只有FALSE,使用的是PFILE,
如果有TRUE,說明用的是SPFILE
方法二:
SQL>show parameters spfile
如果有值說明使用spfile啟動,反之pfile
如果要通過spfile創建pfile,可以使用命令:
create spfile(pfile) from pfile(spfile)(=' ')
啟動時可以指定pfile或者spfile:
SQL> startup pfile='/home/jarodwang/my_pfile.ora';
視圖介紹:
參數的相關信息保存在視圖v$system_parameter中。
V$SYSTEM_PARAMETER
Displays information about the initialization parameters that are currently in effect for the instance. A new session inherits parameter values from the instance-wide values.
Column
Datatypes
Description
NUM NUMBER Parameter number
NAME VARCHAR2(64) Name of the parameter
TYPE NUMBER Parameter type
VALUE VARCHAR2(512) Instance-wide parameter value
ISDEFAULT VARCHAR2(9) Indicates whether the parameter is set to the default value (TRUE) or the parameter value was specified in the parameter file (FALSE)
ISSES_MODIFIABLE VARCHAR2(5) Indicates whether the parameter can be changed with ALTER SESSION (TRUE) or not (FALSE)
ISSYS_MODIFIABLE VARCHAR2(9) Indicates whether the parameter can be changed with ALTER SYSTEM and when the change takes effect
ISMODIFIED VARCHAR2(8) Indicates how parameter was modified. If an ALTER SYSTEM was performed, the value will be MODIFIED
ISADJUSTED VARCHAR2(5) Indicates whether Oracle adjusted the input value to a more suitable value (for example, the parameter value should be prime, but the user input a non-prime number, so Oracle adjusted the value to the next prime number)
DESCRIPTION VARCHAR2(64) Description of the parameter
UPDATE_COMMENT VARCHAR2(255) Comments associated with the most recent update
根據v$system_parameter里面的issys_modifiable可以查出哪些是動態參數,哪些是靜態參數,命令如下:
SQL> select count(*) from v$system_parameter where issys_modifiable='FALSE';
SQL> select count(*) from v$system_parameter where issys_modifiable='IMMEDIATE';
SQL> select count(*) from v$system_parameter where issys_modifiable='DEFERRED';
上面的 結果 查詢出了 靜態參數是 107個 動態參數是144+7=151個
三者的修改使用范圍:
參數類型---SCOPE屬性 spfile memory both deferred
靜態參數 可以,重啟服務器生效 不可以 不可以 不可以
動態參數(issys_modifiable為immediate) 可以,重啟服務器生效 可以,立即生效,重啟服務失效 , 可以,立即生效,重啟服務器仍然有效果 不可以
動態參數(issys_modifiable為deferred) 可以,重啟服務器生效 不可以 不可以 可以
靜態參數 必須指定為scope
動態參數issys_modifiable為IMMEDIATE不加scope默認的是 both,而動態參數issys_modifiable為DEFERRED的必須加上scope=spfile 或者 加上derferred。
演示:
1. 靜態參數:
SQL> alter system set processes=151;
alter system set processes=151
*
ERROR at line 1:
ORA-02095: specified initialization parameter cannot be modified
SQL> alter system set processes=151 scope=spfile;
System altered.
2. 動態參數(immediate)
SQL> alter system set log_archive_dest_1=’ LOCATION=/u02/oradata/arch’;
System altered.
3. 動態參數(deferred)
deferred指定系統修改是否只對以后的會話生效(對當前建立的會話無效,包括執行此修改的會話)。默認情況下,ALTER SYSTEM命令會立即生效,但是有些參數不能“立即”修改,只能為新建立的會話修改這些參數。
SQL> select name from v$system_parameter where issys_modifiable='DEFERRED';
backup_tape_io_slaves
audit_file_dest
object_cache_optimal_size
object_cache_max_size_percent
sort_area_size
sort_area_retained_size
olap_page_pool_size
SQL> alter system set sort_area_size = 65536;
alter system set sort_area_size = 65536
ERROR at line 1:
ORA-02096: specified initialization parameter is not modifiable with this
option
SQL> alter system set sort_area_size = 65536 deferred;
System altered.
到此,相信大家對“Oracle靜態參數與動態參數類型詳細介紹”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。