通過Oracle動態效能檢視採集查詢調優數
對於現在的一些發行版本,DBA(Database Administrator,資料庫管理員)和開發員可以訪問的已經有三種動態效能檢視了,分別為V$SQL、V$SQLAREA,還有V$SQLTEXT。
這些檢視可以用來採集有關SQL命令執行的統計資訊。在Oracle 10g, Release 2中,還增加了第四個動態效能檢視,V$SQLSTATS,通過它能更方便地訪問這類資料。
和靜態資料字典檢視(static dictionary view,也就是字首為USER_、ALL_,或者DBA_的檢視)不同,動態效能檢視會隨著系統的執行而不斷更新。這使得有可能在SQL語句執行之時監視其效能。
和靜態檢視一樣的是,要使用它們你要先獲得許可。對於非資料庫管理員使用者(如典型的開發環境下)可賦予SELECT_CATALOG_ROLE許可權,讓他們可以從中選擇它們。
下面是各個檢視所提供功能的一些簡要描述。要獲得更多資訊,請參考Oracle Database 10g 指南, 第7章。
- V$SQL:這個檢視使用一個CLOB(character large object,字元型巨物件)column(欄,也就是檢視中的屬性欄位),以提供SQL語句的完整文字,此外還有一列最多存放1000個VARCHAR2字元(存放SQL語句的前1000個字元)的物件,這方便了使用。可訪問的統計資料相當廣泛:包括解析語句(parse)和非法語句的數目、磁碟的讀寫次數、執行時間、等待時間,還有optimizer(優化器)資料。你還可以從中知道建立語句的使用者和schema(部署物件),以及當前有多少使用者正在執行它。
- V$SQLAREA:這個檢視包含許多和V$SQL相同的統計資訊。可是,V$SQL對每條初始SQL語句及其子語句(child)都要包含一行統計資訊,而這個檢視只對實際輸入的SQL字串產生一條統計資訊。
- V$SQLSTATS:這是10gR2版中新加入的檢視,這個檢視比V$SQL和V$SQLAREA更快更方便,它只包含其它檢視column的子集。一般來說,它不連線使用者資訊。它的每一行對應一條SQL語句及其執行計劃的hash value(雜湊值)。它的額外的優點是,這個檢視中的紀錄入口比其它檢視更為持久。因此,雖然某一條語句已經在共享池中過期失效(這導致它從V$SQLAREA中消失),但你仍然可以通過該檢視找到它。
- V$SQLTEXT:有時候你會想得到分開的每一行SQL語句,而不是V$SQL中給出的一個巨物件;那麼V$SQL可以讓你如願。你可以通過COMMAND_TYPE欄中的代號選擇特定的某種型別的語句(比如,選擇INSERT語句,或者SELECT語句)。SQL_TEXT column中存放的是單個語句,而PIECE column則給語句編上號碼,以便通過 ORDER BY來排序。另外有一個叫V$SQLTEXT_WITH_NELINES的變數會保留原來的換行符以改善可讀性(V$SQLTEXT會用空格替代換行符)。V$SQLTEXT和V$SQLTEXT_WITH_NEWLINES都不會告訴你是誰執行了這條語句,或者是誰在提供給你這些統計資訊。如果要獲得那類資訊,你還得通過V$SQL和V$SQLAREA檢視中的ADDRESS和HASH_VALUE column實現。
這四個檢視工具合到一起,共同為你提供了原始資料,幫助你檢測你的SQL資料庫執行狀況如何。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-85011/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【PDB】Oracle跨PDB檢視查詢Oracle
- Laravel 通過子查詢建立動態關聯Laravel
- 【SQL】Oracle查詢轉換之物化檢視查詢重寫SQLOracle
- 【TUNE_ORACLE】Oracle檢查點(二)檢查點效能Oracle
- 8.1關於動態效能檢視
- Oracle in 查詢優化Oracle優化
- 【SQL】Oracle查詢轉換之檢視合併SQLOracle
- 如何調優 Oracle SQL系列文章:查詢優化器介紹OracleSQL優化
- PB帶引數帶結果集的動態SQL查詢SQL
- oracle資料庫sql查詢檢視第二次查詢很慢Oracle資料庫SQL
- db2常用動態效能檢視DB2
- 通過Python檢視Azure VM的狀態Python
- Dynamics CRM 通過配置來設定查詢欄位的預設檢視
- django 動態查詢實現過程Django
- EntityFramework優化:查詢效能Framework優化
- MySQL調優之查詢優化MySql優化
- mysql查詢優化檢查 explainMySql優化AI
- Oracle 效能調優工具:SQL MonitorOracleSQL
- 檢視查詢報錯
- 【MySQL】檢視&子查詢MySql
- Oracle SCN健康狀態檢查Oracle
- ClickHouse的查詢效能優勢
- 效能優化之分頁查詢優化
- Oracle 12CR2查詢轉換之檢視合併Oracle
- 【MVIEW】Oracle通過物化檢視同步表資料及簡介ViewOracle
- MySQL 變數及效能狀態檢視知識技巧MySql變數
- 慢查詢分析調優工具~mysqldumpslowMySql
- TiDB 查詢優化及調優系列(四)查詢執行計劃的調整及優化原理TiDB優化
- SQLServer通過連結伺服器查詢檢視報錯 “訊息 7347,級別 16”SQLServer伺服器
- MySQL: 使用explain 優化查詢效能MySqlAI優化
- mysql查詢效能優化總結MySql優化
- TiDB 查詢優化及調優系列(二)TiDB 查詢計劃簡介TiDB優化
- 掌握Oracle資料庫效能調優方法Oracle資料庫
- (重要)關於效能的幾個主要動態檢視
- OushuDB 檢視查詢執行情況
- MySQL 查詢的成本的檢視MySql
- 查詢效能提升3倍!Apache Hudi 查詢優化了解下?Apache優化
- Win10系統下怎麼通過事件檢視器中檢視硬碟檢查結果Win10事件硬碟
- vue如何通過變數動態拼接urlVue變數