Oracle DBA日常維護工作手冊參考3

 

瀏覽該頂層會話對應SQL語句的詳細信息

 

 

2.2.3 字符界面下Sql語句及用戶進程信息採集

    通過視圖查看當前主要影響性能SQL語句

語法模版

SELECT * FROM

(SELECT hash_value,address,substr(sql_text,1,40) sql,

[list of columns], [list of derived values]

FROM [V$SQL or V$SQLXS or V$SQLAREA]

WHERE [list of threshold conditions for columns]

ORDER BY [list of ordering columns] DESC)

WHERE rownum <= [number of top SQL statements];

實際舉例

SELECT * FROM

(SELECT hash_value,address,substr(sql_text,1,40) sql,

buffer_gets, executions, buffer_gets/executions “Gets/Exec”

FROM V$SQLAREA

WHERE buffer_gets > 100000 AND executions > 10

ORDER BY buffer_gets DESC)

WHERE rownum <= 10;

 

    跟蹤用戶進程獲取統計信息:

獲取要跟蹤的用戶進程

SQL> select sid,serial#,username from v$session;

開始跟蹤-結束跟蹤

Exec dbms_system.set_ev(9,437,10046,8,‘用戶名‘);

Exec dbms_system.set_ev(9,437,10046,0,‘用戶名‘);

生成的跟蹤文件在user_dump_dest目錄下

tkprof工具輸出跟蹤報表信息

tkprof /opt/oracle/admin/ytcw/udump/ytcw_ora_1026.trc

/opt/oracle/admin/ytcw/udump/ytcw_ora_1026.prf

aggregate=yes sys=no sort=fchela

 

3、工作內容-日常數據庫管理

3.1一天內間隔一定時間運行

3.1.1檢查警告日誌文件中最新錯誤信息

LinuxUnix系列平台:

vi alertsid.log

輸入:”/ORA-”
回車進行查找

Windows 平台下使用常用的文本編輯工具即可查看搜索警告日誌文件中Oracle錯誤信息

 

3.1.2系統運行狀況快照採集

每天根據實際情況,在以下三個階段手工運行Statspack快照採集,輸出快照報表:

    正常工作壓力下

    每天業務最高峰期

    特殊業務運行階段

3.1.2.1 Oracle 9i自動化腳本方式快照採集

創建當前時間點快照

如需採集當前數據庫運行狀況快照,取20分鐘間隔兩次運行該腳本。

自動執行statspack快照腳本:statspack_auto_exec.sh

#!/bin/sh

# creator: james_jiang

# function: produce statpack snapshot

echo “Auto Execute Statspack”

$ORACLE_HOME/bin/sqlplus /nolog <<EOF

connect perfstat/perfstat

exec statspack.snap

echo “Auto execute statspack successfully!”

exit

EOF

 

輸出最近兩個快照時間點之間的快照信息報表

自動產生最近兩個快照時間點統計信息快照腳本:statspack_auto_report.sh

#!/bin/sh

# creator: james_jiang

# function:get statpack report

echo ” Auto create statspack snapshot!”

SQLPLUS=$ORACLE_HOME/bin/sqlplus

LOGFILE=$ORACLE_HOME/spreport.log

REPFILE=$ORACLE_HOME/spreport.lst

$ORACLE_HOME/bin/sqlplus -S perfstat/perfstat <<EOF

SET ECHO OFF

SET HEADING OFF

SET FEEDBACK OFF

SET PAGESIZE 0

SET LINESIZE 1000

SET TRIMSPOOL ON

SPOOL $LOGFILE

select SNAP_ID from (select SNAP_ID from stats\$snapshot where INSTANCE_NUMBER=1 order by SNAP_TIME desc) where rownum<3;

SPOOL OFF;

set echo on

set feedback on

set heading on

exit

EOF

 

line1=`tail -1 $LOGFILE`

line2=`head -1 $LOGFILE`

echo “line1 is”$line1

echo “line2 is”$line2

$ORACLE_HOME/bin/sqlplus -S perfstat/perfstat <<EOF

define begin_snap=$line1

define end_snap=$line2

define report_name=$REPFILE

@?/rdbms/admin/spreport.sql

echo “Auto create statspack snapshot successfully!”

exit

EOF

 

 

3.1.2.2 Oracle 10g OEM圖形管理工具實現系統快照採集

自動化腳本執行快照收集主要是Oracle9i版本的使用方式,Oracle 10g OEM圖形工具自動執行快照採集,缺省1小時收集一次,可以根據實際情況修改收集間隔時間、降低對系統性能影響。

系統快照自動收集時間、間隔、保留期限設置

登錄Oracle10g OEM,選擇管理 - 自動工作量檔案庫

以下文章點擊率最高

Loading…

     

如果這文章對你有幫助,請掃左上角微信支付-支付寶,給於打賞,以助博客運營

發表評論

您的電子郵箱地址不會被公開。 必填項已用*標註