查詢初始化引數的方法(二)
查詢初始化引數的方法很多,比如SHOW PARAMETER,或查詢V$PARAMETER等,這裡簡單總結一下。
這一篇介紹V$PARAMETER檢視與V$SYSTEM_PARAMETER檢視的不同。
查詢初始化引數的方法(一):http://yangtingkun.itpub.net/post/468/484669
上一篇文章介紹了很多種查詢初始化引數的方法,而且說明了V$PARAMETER檢視和V$PARAMETER2檢視的區別。
這裡看看V$PARAMETER和V$SYSTEM_PARAMETER檢視的區別。
一般在查詢初始化引數的時候都習慣性的使用SHOW PARAMETER,也就是查詢V$PARAMETER檢視,但是有些時候查詢這個檢視得到的結果並不準確:
SQL> show parameter query_rewrite_enabled
NAME TYPE VALUE
------------------------------------ ----------- --------------------
query_rewrite_enabled string TRUE
SQL> select name, value
2 from v$parameter
3 where name = 'query_rewrite_enabled';
NAME VALUE
---------------------------------------- ----------------------------
query_rewrite_enabled TRUE
SQL> select name, value
2 from v$system_parameter
3 where name = 'query_rewrite_enabled';
NAME VALUE
---------------------------------------- ----------------------------
query_rewrite_enabled TRUE
這是如果在會話級修改query_rewrite_enabled這個初始化引數:
SQL> alter session set query_rewrite_enabled = false;
會話已更改。
SQL> show parameter query_rewrite_enabled
NAME TYPE VALUE
------------------------------------ ----------- -------------------
query_rewrite_enabled string FALSE
SQL> select name, value
2 from v$parameter
3 where name = 'query_rewrite_enabled';
NAME VALUE
---------------------------------------- ---------------------------
query_rewrite_enabled FALSE
SQL> select name, value
2 from v$system_parameter
3 where name = 'query_rewrite_enabled';
NAME VALUE
---------------------------------------- ---------------------------
query_rewrite_enabled TRUE
可以看到,show parameter和查詢v$parameter檢視的結果都是FALSE,而剛才做的修改只是會話級,並沒有修改系統的初始化引數。在上一篇描述這兩個檢視的時候就提到了,V$PARAMETER檢視反映的是初始化引數在當前會話中生效的值,而V$SYSTEM_PARAMETER反映的才是例項級上的初始化引數。
在來看看延遲引數修改的情況:
SQL> select name, value
2 from v$parameter
3 where name = 'recyclebin';
NAME VALUE
---------------------------------------- ------------------------------------
recyclebin on
SQL> select name, value
2 from v$system_parameter
3 where name = 'recyclebin';
NAME VALUE
---------------------------------------- ------------------------------------
recyclebin on
SQL> alter system set recyclebin = off deferred scope = memory;
系統已更改。
SQL> select name, value
2 from v$parameter
3 where name = 'recyclebin';
NAME VALUE
---------------------------------------- ------------------------------------
recyclebin on
SQL> select name, value
2 from v$system_parameter
3 where name = 'recyclebin';
NAME VALUE
---------------------------------------- ------------------------------------
recyclebin OFF
結果和前面的恰好反過來,v$parameter檢視中的結果沒有發生變化,而v$system_parameter檢視的結果變成了OFF。這是因為延遲修改對資料庫中當前存在的會話不生效,因此反映當前會話情況的v$parameter檢視結果不變,而對於系統而言,初始化引數已經改變,而且所有新建會話的引數也會改變,所以v$system_parameter檢視的結果發生了改變。
SQL> CONN YANGTK/YANGTK@YTK111
已連線。
SQL> select name, value
2 from v$parameter
3 where name = 'recyclebin';
NAME VALUE
---------------------------------------- ---------------------------
recyclebin OFF
SQL> select name, value
2 from v$system_parameter
3 where name = 'recyclebin';
NAME VALUE
---------------------------------------- ---------------------------
recyclebin OFF
根據這兩個例子,利用V$PARAMETER檢視獲取系統的啟動初始化引數是不準確的,應該從V$SYSTEM_PARAMETER檢視來獲取。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-600507/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Microsoft Graph for Office 365 - 查詢引數(二)ROS
- Sql Server 的引數化查詢SQLServer
- Laravel同時接收路由引數和查詢字串中的引數Laravel路由字串
- 抽象SQL引數化查詢VK抽象SQL
- PyTorch常用引數初始化方法詳解PyTorch
- Mybatis 傳入多個引數查詢資料 (3種方法)MyBatis
- .NET 通用多條件動態引數查詢方法 - SqlSugar ORMSqlSugarORM
- 如何實現引數級聯查詢
- Microsoft Graph for Office 365 - 查詢引數(一)ROS
- PostgreSQL並行查詢相關配置引數SQL並行
- 查詢——二分查詢
- ElasticSearch的查詢(二)Elasticsearch
- 【總結】二分查詢 —— 一種減而治之的查詢方法(1)
- 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函式
- 二、mybatis查詢分析MyBatis
- 二分查詢
- Java中查詢陣列多數元素的4種方法Java陣列
- 查詢演算法之二分查詢演算法
- pandas 的幾個查詢方法
- 表膨脹的查詢方法
- 陣列的查詢(搜尋):線性查詢和二分法查詢陣列
- JsonPath:針對json的強大的規則解析與引數查詢工具JSON
- java 執行緒池的初始化引數解釋和引數設定Java執行緒
- Golang:go-querystring將struct編碼為URL查詢引數的庫GolangStruct