查詢初始化引數的方法(四)
查詢初始化引數的方法很多,比如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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Sql Server 的引數化查詢SQLServer
- .Net 下 Solr 入門學習系列(四)Solr查詢引數整理Solr
- Laravel同時接收路由引數和查詢字串中的引數Laravel路由字串
- 抽象SQL引數化查詢VK抽象SQL
- PyTorch常用引數初始化方法詳解PyTorch
- Mybatis 傳入多個引數查詢資料 (3種方法)MyBatis
- .NET 通用多條件動態引數查詢方法 - SqlSugar ORMSqlSugarORM
- 如何實現引數級聯查詢
- Microsoft Graph for Office 365 - 查詢引數(二)ROS
- Microsoft Graph for Office 365 - 查詢引數(一)ROS
- JVM系列(四):java方法的查詢過程實現JVMJava
- PostgreSQL並行查詢相關配置引數SQL並行
- 16 初始化引數
- 【線上直播】Paper Reading | 基於學習的引數化查詢最佳化方法
- 使用GraphQL查詢引數來設計強大的APIAPI
- 2.7.7 清除初始化引數的值
- Oracle初始化引數的來源Oracle
- 2.6 指定初始化引數
- 2.7.5 SPFILE初始化引數
- 獲取 url 並解析生成包含查詢串引數的物件物件
- PB帶引數帶結果集的動態SQL查詢SQL
- 0607-引數初始化策略
- js.函式parseQuery用於解析url查詢引數JS函式
- Java中查詢陣列多數元素的4種方法Java陣列
- pandas 的幾個查詢方法
- 表膨脹的查詢方法
- JsonPath:針對json的強大的規則解析與引數查詢工具JSON
- java 執行緒池的初始化引數解釋和引數設定Java執行緒
- Golang:go-querystring將struct編碼為URL查詢引數的庫GolangStruct
- Java中查詢給定數字下最大素數的2種方法Java
- 2.6.9.1 關於 COMPATIBLE初始化引數
- 2.6.8.2 UNDO_TABLESPACE 初始化引數
- 2.6.8.1 UNDO_MANAGEMENT 初始化引數
- 2.6.2.2 初始化引數DB_DOMAINAI
- 2.6.2.1 初始化引數DB_NAME
- 2.6.1.1 初始化引數檔案示例
- 2.7.6 改變初始化引數值
- 所有初始化引數說明(轉)
- MyBatis使用四(查詢詳解)MyBatis