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
首先 配置檔案:
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.
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.
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.
參考文獻:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31444259/viewspace-2135603/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 動態引數,靜態引數
- Oracle動態、靜態引數引數修改規則Oracle
- 動態引數與靜態引數的判斷、修改
- 關於靜態引數和動態引數
- Oracle動態SQL引數支援複雜型別OracleSQL型別
- 如何檢視oracle引數是靜態或者是動態Oracle
- 靜態引數檔案配置
- Oracle 11g RAC修改靜態引數Oracle
- 區分oracle的初始化引數為靜態還是動態Oracle
- Oracle 各版本引數/隱藏引數 介紹Oracle
- PHP的靜態變數介紹PHP變數
- PostgreSQLGUC引數級別介紹SQL
- 動態路由(URL引數)路由
- ORACLE 11.2 RAC修改資料庫靜態引數Oracle資料庫
- MongoDB啟動引數介紹MongoDB
- Oracle expdp impdp dump引數介紹Oracle
- Python函式/動態引數/關鍵字引數Python函式
- 靜態變數與靜態方法變數
- docker 引數介紹Docker
- Retrofit 動態引數(非固定引數、非必須引數)(Get、Post請求)
- eclipse 啟動引數介紹Eclipse
- ORACLE推導引數Derived Parameter介紹Oracle
- 【體系結構】Oracle引數介紹Oracle
- oracle 塊基本引數介紹(英文) (zt)Oracle
- Oracle sqlplus prelim 引數介紹OracleSQL
- 解析型別引數型別
- Python 動態變數名與呼叫介紹Python變數
- gcc 常用引數介紹GC
- HRMS Function 引數介紹Function
- Solaris Prom狀態命令與引數(轉)
- mysql 動態引數(Dynamic System Variable Summary)MySql
- 檢視引數是否可以動態修改
- ROS 動態引數伺服器教程ROS伺服器
- ORACLE初始化引數檔案介紹Oracle
- Oracle 優化引數 optimizer_mode 介紹Oracle優化
- javascript bind()第一個引數以後引數介紹JavaScript
- 函式引數 引數定義函式型別函式型別
- 【Scala之旅】型別引數型別