Statspack學習(一).安裝配置
?
??? Statspack是Oracle提供的一個非常強大的工具,用于檢測Oracle系統在某段時間內的執行性能,是用來判斷、排查Oracle故障和系統瓶頸的最主要和最常用的手段。從今天開始就來學習一下這個工具的使用方法。
?
一、參數設置
?
??? 安裝和運行Statspack需要配置以下參數
?
??? 1、job_queue_processes
?
??? 為了可以建立自動任務,執行數據手機,該參數需要大于0(默認是10)
?
??? 2、timed_statistics
?
??? 收集操作系統的計時信息,用以先是時間等統計信息,優化數據庫和SQL語句。在使用statspack收集統計信息時建議將該值設置為TRUE,否則收集的統計信息大概只能起到10%的作用。timed_statistics設置為true會引起系統的開銷,但是其帶來的影響與好處相比是微不足道的
?
??? 注:該參數收集的時間信息存儲在v$sysstat和v$sesstat等動態視圖中。
?
?
二、安裝Statspack
?
??? 以SYSDBA身份登陸,執行安裝腳本
?
??? 1、查看基礎信息
?
??? SQL> select instance_name,host_name,version,startup_time from v$instance;
?
??? INSTANCE_NAME??? HOST_NAME? VERSION?????????? STARTUP_TIME
??? ---------------- ---------- ----------------- ------------
??? dodo???????????? WXQ-0099?? 10.2.0.1.0??????? 2009-2-21
?
??? 2、查看現有數據文件位置
?
??? SQL> select file_name from dba_data_files;
?
??? FILE_NAME
??? ---------------------------------------------------------
??? E:\ORACLE\PRODUCT\10.2.0\ORADATA\DODO\USERS01.DBF
??? E:\ORACLE\PRODUCT\10.2.0\ORADATA\DODO\SYSAUX01.DBF
??? E:\ORACLE\PRODUCT\10.2.0\ORADATA\DODO\UNDOTBS01.DBF
??? E:\ORACLE\PRODUCT\10.2.0\ORADATA\DODO\SYSTEM01.DBF
???
??? 3、創建表空間,用于存放統計信息
?
??? 注:如果采樣間隔短、周期長則使用大一點的表空間。例如每半小時采樣一次,持續一周,則數據量比較大,需要500M左右空間。
??? 注:表空間不能太小,否則創建對象會失敗,至少需要100M空間
?
??? SQL> create tablespace perfstat
????? 2? datafile 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\DODO\PERFSTAT.DBF'
????? 3? size 500M
????? 4? extent management local;
?
??? Tablespace created
?
??? 4、執行spcreate腳本創建Statspack
?
??? SQL> @E:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\spcreate.sql
?
??? 開始創建之后需要輸入以下幾個值:
??? Enter value for perfstat_password:perfstat
??? Enter value for defaulttablespace:perfstat
??? Entwe value for temporary_tablespace:temp
?
??? 最后如果安裝成功會出現以下信息:
?
??? Started spooling to D:\Program Files\PLSQL Developer\spcpkg.lis
??? Creating Package STATSPACK...
??? Package created
??? No errors for PACKAGE PERFSTAT.STATSPACK
??? Creating Package Body STATSPACK...
??? Package body created
??? No errors for PACKAGE BODY PERFSTAT.STATSPACK
?
??? NOTE:
??? SPCPKG complete. Please check spcpkg.lis for any errors.
??? Stopped spooling to D:\Program Files\PLSQL Developer\spcpkg.lis
?
??? 如果安裝出現問題或者想要刪除statspack,執行spdrop.sql腳本刪除創建的所有對象。
?
??? 注:不要用PLSQL DEV進行執行腳本,因為有些指令無法編譯通過。
?
?
三、測試Statspack
?
??? 首先模擬執行n次的statspack.snap
?
??? SQL> execute statspack.snap;
??? PL/SQL procedure successfully completed
?
??? SQL> execute statspack.snap;
??? PL/SQL procedure successfully completed
?
??? SQL> execute statspack.snap;
??? PL/SQL procedure successfully completed
?
??? 然后執行spreport.sql腳本
?
??? SQL> @E:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\spreport.sql;
?
??? Enter value for begin_snap:1
??? Enter value for end_snap:3
??? Enter value for report_name:test
?
??? 注1:snap代碼會在腳本執行的過程中展示出來
??? 注2:會在當前目錄下生成一個名為test.lst的文件保存信息
?
???
?