關於靜態引數和動態引數
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.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31444259/viewspace-2135604/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 動態引數,靜態引數
- Oracle動態、靜態引數引數修改規則Oracle
- 動態引數與靜態引數的判斷、修改
- Oracle 靜態引數與動態引數型別介紹Oracle型別
- 靜態引數檔案配置
- Python函式/動態引數/關鍵字引數Python函式
- 如何檢視oracle引數是靜態或者是動態Oracle
- 動態路由(URL引數)路由
- 靜態變數和非靜態變數變數
- 區分oracle的初始化引數為靜態還是動態Oracle
- Oracle 11g RAC修改靜態引數Oracle
- Retrofit 動態引數(非固定引數、非必須引數)(Get、Post請求)
- v$動態效能檢視和隱含引數
- mysql 動態引數(Dynamic System Variable Summary)MySql
- 檢視引數是否可以動態修改
- ROS 動態引數伺服器教程ROS伺服器
- ORACLE 11.2 RAC修改資料庫靜態引數Oracle資料庫
- MySQL handler相關狀態引數解釋MySql
- MYSQL連線相關引數和狀態值詳解MySql
- 關於例項變數和靜態變數的一點疑問變數
- 對於systemverilog靜態變數和動態變數 ,描述不正確的是()。變數
- leaflet動態更改wms瓦片請求引數
- 靜態變數和Session變數Session
- 下拉表關聯非同步載入- 引數動態過濾非同步
- kettle 引數——變數引數和常量引數變數
- 繫結變數在靜態sql和動態sql中變數SQL
- 關於單例及靜態變數測試單例變數
- 靜態變數與靜態方法變數
- 介面自動化之引數動態生成替換
- 區域性變數和全域性變數(靜態和非靜態)區別變數
- BIRT 中如何根據引數動態拼接 SQLSQL
- 介面測試--獲取動態引數進階
- Oracle動態SQL引數支援複雜型別OracleSQL型別
- 動態呼叫帶引數的儲存過程儲存過程
- 靜態變數變數
- 如何在程式執行時動態修改它的引數(狀態)?
- PHP類的靜態(static)方法和靜態(static)變數PHP變數
- vue-router如何實時地址不變,動態替換路由引數(位址列引數)Vue路由