生成Oracle Statpack的步驟

2021-12-30 11:52:31 字數 3495 閱讀 7561

生成oracle statpack的步驟

1、telnet到遠端的資料庫伺服器

cmd>telnet 遠端資料庫的ip

www.2cto.com  

2、切換到資料庫的使用者

dqxxdbs01:/> su  -  oracle

3、用超級使用者進入資料庫

$ sqlplus   "/as   sysdba"

4、檢視引數,是否可以用job(可以用job進行自動的收集statpack report的資料)

sql> show parameter   job_queue_processes

5、該引數可以收集作業系統的資訊

sql> show   parameter   timed_statistics

6、為了建立表空間,表空間的資料檔案放在哪比較好

sql> select   file_name   from   dba_data_files;

7、檢視哪個目錄的空間比較大,確定perfstat表空間的資料檔案的位置

$ df   -g

8、建立表空間:

sql> create tablespace perfstat datafile '/oracle/product/10.2.0/db_1/dbs/perfstat.dbf'size 500m;

--表空間用於儲存快照時蒐集的資料

9、建立statspack需要的指令碼

sql> @:/oracle/product/10.2.0/db_1/rdbms/admin/spcreate.sql --"/oracle/product/10.2.0/db_1/rdbms/admin/"為指令碼目錄

執行該指令碼後,輸入perfstat_password、default_tablespace、temporary_tablespace

www.2cto.com  

10、測試是否成功,生成資料庫的乙個快照

sql> execute   statspack.snap

11、再生成乙個快照

sql> execute   statspack.snap

12、取兩個快照之間時間段的statspack報告

sql> @/oracle/product/10.2.0/db_1/rdbms/admin/spreport.sql

輸入生成statspack報告的起始點和終止點,如上生成了兩個時間點的快照,輸入begin_snap:1和end_snap:2,然後輸入生成快照的名稱(如1.txt)

--備註:如果沒有指定報告放置的位置,則該報告在啟動sqlplus時所在的路徑

13、用job進行定時產生statspack的快照,便於收集資料(預設為1小時產生乙個快照)

sql> @/oracle/product/10.2.0/db_1/rdbms/admin/spauto.sql

14、刪除歷史資料

select max(snap_id) from stats$snapshot;--刪除stats$snapshot表中的相應資料,其他表中的相應資料也會級連刪除

delete from stats$snapshot where snap_id<3;

也可以通過執行sptrunc.sql該指令碼直接刪除這些統計表的資訊

注意事項:

1、生成需要的statspack之後,記住移除任務,檢視任務:

sql> select job, log_user, priv_user, last_date,next_date, interval from user_jobs;

2、移除生成statspack快照的任務:

sql> execute dbms_job.remove('41')

3、如果在執行spcreate.sql這個指令碼出錯的話,可以通過執行spdrop.sql這個指令碼刪除建立的物件,然後再執行spcreate.sql

4、執行spcreate.sql這個指令碼後,可以查詢相關的lis檔案檢視安裝資訊(在sqlplus預設路徑下)

其他相關的一些指令碼

1、spuexp.par指令碼 --可用於匯出statpack報告相關的資料的dmp,如下所示

exp userid=perfstat/fyzh parfile=spuexp.par

注意:spuexp.par檔案必須在sqlplus登陸的當前路徑。如登陸的sqlplus路徑是c:\documents and settings\administrator,

那麼spuexp.par就要在該目錄下,否則提示「lrm-00109: 無法開啟引數檔案 'spuexp.par'」

2、sprepsql.sql指令碼 --用於根據給定的sql hash值生成sql報告

調整statspack的收集門限

statspack有兩種型別的收集選項:

級別(level):控制收集資料的型別

門限(threshold):設定收集的資料的閾值.

1、級別(level)

statspack共有三種快照級別,預設值是5

a.level 0: 一般效能統計.包括等待事件、系統事件、系統統計、回滾段統計、行快取、sga、會話、鎖、緩衝池統計等等.

b.level 5: 增加sql語句.除了包括level0的所有內容,還包括sql語句的收集,收集結果記錄在stats$sql_summary中.

c.level 10: 增加子鎖存統計.包括level5的所有內容.並且還會將附加的子鎖存存入stats$lathc_children中.在使用這個級別時需要慎重,建議在oracle support的指導下進行.

可以通過statspack包修改預設的級別設定

sql> execute statspack.snap(i_snap_level=>0,i_modify_parameter=>』true』);

如果你只是想本次改變收集級別,可以忽略i_modify_parameter引數.

sql> execute statspack.snap(i_snap_level=>0);

2、快照門限

快照門限只應用於stats$sql_summary表中獲取的sql語句.

因為每乙個快照都會收集很多資料,每一行都代表獲取快照時資料庫中的乙個sql語句,所以stats$sql_summary很快就會成為statspack中最大的表.

門限儲存在stats$statspack_parameter表中:

executions_th這是sql語句執行的數量(預設值是100)

disk_reads_tn這是sql語句執行的磁碟讀入數量(預設值是1000)

parse_calls_th這是sql語句執行的解析呼叫的數量(預設值是1000)

buffer_gets_th這是sql語句執行的緩衝區獲取的數量(預設值是10000)

任何乙個門限值超過以上引數就會產生一條記錄.

通過呼叫statspack.modify_statspack_parameter函式改變門限的預設值:

sql>execute statspack.modify_statspack_parameter(i_buffer_gets_th=>100000,i_disk_reads_th=>100000);

php生成pdf生成

fpdf是乙個純粹的通過php類來生成pdf文件的方法,需要生成的內容直接在php 中來指定,生成文字,線條等等,都有自己的方法。下面介 紹乙個用fpdf來生成 hello world 的pdf文件 php require fpdf.php pdf new fpdf pdf addpage pdf ...

生成樹和生成森林

1 無向圖的生成樹和生成森林 對於無向連通圖,在圖的深度優先遍歷或廣度優先搜尋遍歷過程中經歷的邊的集合和 圖中的所有頂點一起構成圖的極小連通子圖,就是一顆生成樹 深度優先生成樹 廣度優先生成樹 對非連通無向圖,深度優先搜尋遍歷或廣度優先搜尋遍歷,每個連通分量中的頂點集合遍歷時走過的邊一起構成若干顆生...

生成 重新生成 清理

1.在解決方案資源管理器中,選擇或開啟所需的解決方案。2.在 生成 選單上,選擇 生成解決方案 重新生成解決方案 或 清理解決方案 選擇 生成 或 生成解決方案 將只編譯自上次生成以來更改過的那些專案檔案和元件。說明 如果解決方案中包括多個專案,則 生成 命令將變成 生成解決方案 選擇 重新生成解決...