查詢初始化引數的方法(四)
查詢初始化引數的方法很多,比如SHOW PARAMETER,或查詢V$PARAMETER等,這裡簡單總結一下。
這一篇描述GV$SPPARAMETER引數的必要性。
查詢初始化引數的方法(一):http://yangtingkun.itpub.net/post/468/484669
查詢初始化引數的方法(二):http://yangtingkun.itpub.net/post/468/484729
查詢初始化引數的方法(三):http://yangtingkun.itpub.net/post/468/485623
前一篇文章介紹了V$SPPARAMETER引數,也說明了V$SPPARAMETER檢視中的資訊與GV$PARAMETER檢視中的區別。
其實這裡還有一個問題,就是GV$SPPARAMETER是否有意義。因為V$SPPARAMETER引數本身就包含了SID列,SPFILE中本身就包含了所有例項的設定,那麼查詢GV$SPPARAMETER檢視是否就意義不大呢,其實不然。
因為RAC的各個節點可以使用統一的SPFILE啟動,同樣也可以選擇不同的SPFILE來進行啟動,這時GV$SPPARAMETER檢視中獲取結果,才是真正各個例項SPFILE中設定的結果。
這樣說比較難以理解,看一個簡單的例子:
SQL> select inst_id, name, value
2 from gv$system_parameter
3 where name = 'open_cursors';
INST_ID NAME VALUE
---------- ------------------------------ --------------------------------------------------
1 open_cursors 600
2 open_cursors 400
SQL> select sid, name, value
2 from v$spparameter
3 where name = 'open_cursors';
SID NAME VALUE
---------- ------------------------------ --------------------------------------------------
* open_cursors 300
test1 open_cursors 500
test2 open_cursors 700
SQL> select inst_id, sid, name, value
2 from gv$spparameter
3 where name = 'open_cursors';
INST_ID SID NAME VALUE
---------- ---------- ------------------------------ ------------------------------------
1 * open_cursors 300
1 test1 open_cursors 500
1 test2 open_cursors 700
2 * open_cursors 300
2 test1 open_cursors 500
2 test2 open_cursors 700
已選擇6行。
SQL> select inst_id, name, value
2 from gv$system_parameter
3 where name = 'spfile';
INST_ID NAME VALUE
---------- ------------------------------ --------------------------------------------------
1 spfile +DATA/test/spfiletest.ora
2 spfile +DATA/test/spfiletest.ora
下面裡面記憶體中引數來建立SPFILE,並利用新建的SPFILE來啟動當前例項:
SQL> create spfile='/export/home/oracle/spfiletest1.ora' from memory;
檔案已建立。
SQL> host
$ vi /export/home/oracle/inittest1.ora
"/export/home/oracle/inittest1.ora" [New file]
spfile=/export/home/oracle/spfiletest1.ora
"/export/home/oracle/inittest1.ora" [New file] 2 lines, 44 characters
$ exit
SQL> shutdown immediate
資料庫已經關閉。
已經解除安裝資料庫。
ORACLE 例程已經關閉。
SQL> startup pfile=/export/home/oracle/inittest1.ora
ORACLE 例程已經啟動。
Total System Global Area 776896512 bytes
Fixed Size 2098776 bytes
Variable Size 246069672 bytes
Database Buffers 524288000 bytes
Redo Buffers 4440064 bytes
資料庫裝載完畢。
資料庫已經開啟。
下面檢查spfile中的設定:
SQL> select inst_id, name, value
2 from gv$system_parameter
3 where name = 'spfile';
INST_ID NAME VALUE
---------- ------------------------------ --------------------------------------------------
1 spfile /export/home/oracle/spfiletest1.ora
2 spfile +DATA/test/spfiletest.ora
SQL> select inst_id, name, value
2 from gv$system_parameter
3 where name = 'open_cursors';
INST_ID NAME VALUE
---------- ------------------------------ --------------------------------------------------
1 open_cursors 600
2 open_cursors 400
SQL> select sid, name, value
2 from v$spparameter
3 where name = 'open_cursors';
SID NAME VALUE
---------- ------------------------------ --------------------------------------------------
test1 open_cursors 600
test2 open_cursors 400
SQL> select inst_id, sid, name, value
2 from gv$spparameter
3 where name = 'open_cursors';
INST_ID SID NAME VALUE
---------- ---------- ------------------------------ --------------------------------
2 * open_cursors 300
2 test1 open_cursors 500
2 test2 open_cursors 700
1 test1 open_cursors 600
1 test2 open_cursors 400
可以看到,由於兩個例項採用了不同的SPFILE,導致兩個例項上設定的對方例項的初始化引數值,與對方例項上當前設定值不符。
在上面的例子中,兩個例項上真正的引數設定查詢方式為:
SQL> select inst_id, sid, name, value
2 from gv$spparameter
3 where name = 'open_cursors'
4 and substr(sid, -1) = to_char(inst_id);
INST_ID SID NAME VALUE
---------- ---------- ------------------------------ -----------------------------------
2 test2 open_cursors 700
1 test1 open_cursors 600
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-605838/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 查詢初始化引數的方法(二)
- 查詢初始化引數的方法(一)
- 查詢初始化引數的方法(七)
- 查詢初始化引數的方法(六)
- 查詢初始化引數的方法(五)
- 查詢初始化引數的方法(三)
- 10g中查詢初始化引數的值有所改變
- 隱含引數的查詢
- Sql Server 的引數化查詢SQLServer
- Oracle隱含引數的查詢Oracle
- 開啟查詢慢查詢日誌引數
- 查詢hadoop引數變數Hadoop變數
- 【指令碼】隱含引數及註釋資訊的查詢方法指令碼
- 隱藏引數查詢sqlSQL
- MySQL引數化查詢的IN 和 LIKEMySql
- 獲取request中的查詢引數
- 查詢oracle中的隱形引數Oracle
- .Net 下 Solr 入門學習系列(四)Solr查詢引數整理Solr
- Laravel同時接收路由引數和查詢字串中的引數Laravel路由字串
- 抽象SQL引數化查詢VK抽象SQL
- mybatis 傳遞多個引數 --解決mybatis查詢使用多個引數方法--javabean傳統方法和map方法MyBatisJavaBean
- .NET 通用多條件動態引數查詢方法 - SqlSugar ORMSqlSugarORM
- Mybatis 傳入多個引數查詢資料 (3種方法)MyBatis
- 設計引數化查詢的計劃指南
- 隱含引數的查詢x$ksppi,x$ksppcv
- Oracle查詢優化器的相關引數Oracle優化
- 查詢最佳化器的引數設定
- PyTorch常用引數初始化方法詳解PyTorch
- 如何實現引數級聯查詢
- Microsoft Graph for Office 365 - 查詢引數(二)ROS
- Microsoft Graph for Office 365 - 查詢引數(一)ROS
- MySQL查詢快取引數詳解MySql快取
- Oracle隱形引數查詢指令碼Oracle指令碼
- 隱藏引數查詢和dictionary viewView
- ORACLE初始化引數的配置Oracle
- FORM 10g的限制查詢條件引數ORM
- oracle初始化引數Oracle
- JVM系列(四):java方法的查詢過程實現JVMJava