效能測試常用Oracle語句,這10個果斷收藏了!

博為峰網校發表於2018-11-08

資料庫的效能最佳化是個非常複雜的事情,熟悉Oracle的專家能手更是數不勝數,所以 雖說我已經入行軟體測試 5年之久,但也沒敢寫過 Oracle。

直到最近, 我認識了一位資深 Oracle大師 ,我 竟然發現大師有幾個地方 說錯 了,主要是在理論聯絡實際的問題分析、 AWR報告解讀方面,提問之後竟然把大師掛在了臺上。後來想想,大師也有不懂的,我怕什麼呢,寫! 下面我就和大家分享下, 從效能測試的角度看 Oracle。

oracle的效能測試主要是模擬大量的sql語句操作,來對資料庫伺服器進行加壓。在測試前,需要準備以下要模擬的sql語句,測試指令碼,並將測試控制機、測試加壓機、被測資料庫伺服器準備妥當。

Oracle資料庫效能優缺點
優點
1、 能在所有主流平臺上執行(包括 windows)。完全支援所有的工業標準。採用完全開放策略。可以使客戶選擇最適合的解決方案。對開發商全力支援。
2、 平行伺服器透過使一組結點共享同一簇中的工作來擴充套件 windownt的能力,提供高可用性和高伸縮性的簇的解決方案。 
3、 如果 windowsNT不能滿足需要, 使用者可以把資料庫移到UNIX中。
4、 安全性方面,效能最高。
5、 客戶端支援及應用模式 ,多層次網路計算,支援多種工業標準,可以用 ODBC,JDBC,OCI等網路客戶連線式要求,可根據實際系統需求構造資料庫。
6、 採用標準的 SQL結構化查詢語言。
7、 具有豐富的開發工具,覆蓋開發週期的各階段。
8、 支援大型資料庫,資料型別支援數字、字元、大至 2GB的二進位制資料,為資料庫的物件導向儲存提供資料支援。
9、 具有第四代語言的開發工具( SQL*FORMS、SQL*REPORTS、SQL*MENU等)。
10、 具有字元介面和圖形介面,易於開發。
11、 透過 SQL*DBA控制使用者許可權,提供資料保護功能,監控資料庫的執行狀態,調整資料緩衝區的大小。
12、 分佈最佳化查詢功能。
13、 具有資料透明、網路透明,支援異種網路、異構資料庫系統。並行處理採用動態資料分片技術。
14、 支援客戶機 /伺服器體系結構及混合的體系結構(集中式、分散式、客戶機/伺服器)。
15、 實現了兩階段提交、多線索查詢手段。
16、 資料安全保護措施:沒有讀鎖,採取快照 SNAP方式完全消除了分佈讀寫衝突。自動檢測死鎖和衝突並解決。
17、 資料安全級別為 C2級(最高階)。

18、 資料庫內模支援多位元組碼制,支援多種語言文字編碼。
19、 具有面向製造系統的管理資訊系統和財務系統應用系統。
20、 WORKGROUP/2000具有ORACLE7WORKGROUP伺服器,POWER OBJECTS(圖形開發環境,支援OS/2、UNIX、WINDOWS/NT平臺。
21、 在中國的銷售份額佔 50%以上。 
缺點
1、 管理維護麻煩一些;
2、 資料庫崩潰後回覆很麻煩,因為他把很多東西放在記憶體裡;
3、 資料庫連線要慢些,最好用連線池;
4、 大物件不好用, vchar2欄位太短,不夠用;
5、 管理員的工作煩,且經驗非常重要;
6、 對硬體的要求很高;

效能測試常用 Oracle語句

顯示資料庫當前的連線數:

selectcount(*) from v$process;

顯示資料庫最大連線數:

selectvalue from v$parameter where name ='processes' 

修改最大 Oracle最大連線數:

alter systemset processes = 300 scope = spfile;

顯示當前的 session連線數:

selectcount(*) fromv$session

檢視當前有哪些使用者正在使用資料:

SELECT osuser,a.username,cpu_time/executions/1000000||'s', sql_fulltext,machine fromv$session a, v$sqlarea b where a.sql_address =b.address order by cpu_time/executionsdesc;

檢視資料庫中 SGA:

System globalarea (SGA),system global area(PGA);

檢視連線 oracle的所有機器的連線數:

selectmachine,count(*) fromv$session groupbymachine;

檢視連線 oracle的所有機器的連線數和狀態:

selectmachine,status,count(*) fromv$session groupbymachine,status orderbystatus;

Oracle 11g設定記憶體自動管理:

 

檢視消耗磁碟讀取最多的 SQL Top 5:

selectdisk_reads,sql_text,SQL_FULLTEXT

from (selectsql_text,disk_reads,SQL_FULLTEXT,

  dense_rank() over

    (order by disk_reads desc) disk_reads_rank

  from v$sql)

wheredisk_reads_rank <=5;

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31407649/viewspace-2219304/,如需轉載,請註明出處,否則將追究法律責任。

相關文章