ORACLE學習筆記--效能最佳化三
可以使用如下辦法
<1>、 使用如下語句檢視一下認誰在用臨時段
SELECT username,sid,serial#,sql_address,machine,program,
tablespace,segtype, contents
FROM v$session se,v$sort_usage su
WHERE se.saddr=su.session_addr
<2>、 那些正在使用臨時段的程式
SQL>Alter system kill session “sid,serial#“;
<3>、把TEMP表空間回縮一下
SQL>Alter tablespace TEMP coalesce;
還可以使用診斷事件
<1>、 確定TEMP表空間的ts#
SQL> select ts#, name FROM v$tablespace;
TS# NAME
-----------------------
0 SYSYEM
1 RBS
2 USERS
3* TEMP
...
<2>、 執行清理操作
alter session set events “immediate trace name DROP_SEGMENTS level TS#+1“
說明:
temp表空間的TS# 為 3*, So TS#+ 1= 4,如果想清除所有表空間的臨時段,則,TS# = 2147483647
19.怎麼樣dump資料庫內部結構,如上面顯示的控制檔案的結構
常見的有
1、分析資料檔案塊,轉儲資料檔案n的塊m
alter system dump datafile n block m
2、分析日誌檔案
alter system dump logfile logfilename;
3、分析控制檔案的內容
alter session set events “immediate trace name CONTROLF level 10“
4、分析所有資料檔案頭
alter session set events “immediate trace name FILE_HDRS level 10“
5、分析日誌檔案頭
alter session set events “immediate trace name REDOHDR level 10“
6、分析系統狀態,最好每10分鐘一次,做三次對比
alter session set events “immediate trace name SYSTEMSTATE level 10“
7、分析程式狀態
alter session set events “immediate trace name PROCESSSTATE level 10“
8、分析Library Cache的詳細情況
alter session set events “immediate trace name library_cache level 10“
20.如何獲得所有的事件程式碼
事件程式碼範圍一般從10000 to 10999,以下列出了這個範圍的事件程式碼與資訊
SET SERVEROUTPUT ON
DECLARE
err_msg VARCHAR2(120);
BEGIN
dbms_output.enable (1000000);
FOR err_num IN 10000..10999
LOOP
err_msg := SQLERRM (-err_num);
IF err_msg NOT LIKE “%Message “||err_num||“ not found%“ THEN
dbms_output.put_line (err_msg);
END IF;
END LOOP;
END;
/
在Unix系統上,事件資訊放在一個文字檔案裡
$ORACLE_HOME/rdbms/mesg/oraus.msg
可以用如下指令碼檢視事件資訊
event=10000
while [ $event -ne 10999 ]
do
event=`expr $event + 1`
oerr ora $event
done
對於已經確保的/正在跟蹤的事件,可以用如下指令碼獲得
SET SERVEROUTPUT ON
DECLARE
l_level NUMBER;
BEGIN
FOR l_event IN 10000..10999
LOOP
dbms_system.read_ev (l_event,l_level);
IF l_level > 0 THEN
dbms_output.put_line (“Event “||TO_CHAR (l_event)||
“ is set at level “||TO_CHAR (l_level));
END IF;
END LOOP;
END;
/
21.什麼是STATSPACK,我怎麼使用它?
Statspack是Oracle 8i以上提供的一個非常好的效能監控與診斷工具,基本上全部包含了BSTAT/ESTAT的功能,更多的資訊,可以參考附帶文件$ORACLE_HOME/rdbms/admin/spdoc.txt。
安裝Statspack:
cd $ORACLE_HOME/rdbms/admin
sqlplus "/ as sysdba" @spdrop.sql -- 解除安裝,第一次可以不需要
sqlplus "/ as sysdba" @spcreate.sql -- 需要根據提示輸入表空間名
使用Statspack:
sqlplus perfstat/perfstat
exec statspack.snap; -- 進行資訊收集統計,每次執行都將產生一個快照號
-- 獲得快照號,必須要有兩個以上的快照,才能生成報表
select SNAP_ID, SNAP_TIME from STATS$SNAPSHOT;
@spreport.sql -- 輸入需要檢視的開始快照號與結束快照號
其他相關指令碼s:
spauto.sql - 利用dbms_job提交一個作業,自動的進行STATPACK的資訊收集統計
sppurge.sql - 清除一段範圍內的統計資訊,需要提供開始快照與結束快照號
sptrunc.sql - 清除(truncate)所有統計資訊
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9099175/viewspace-909324/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORACLE學習筆記--效能最佳化一Oracle筆記
- ORACLE學習筆記--效能最佳化四Oracle筆記
- ORACLE學習筆記--效能最佳化二Oracle筆記
- ORACLE效能最佳化筆記Oracle筆記
- mssql最佳化學習筆記之三SQL筆記
- JDBC學習筆記-----jdbc效能最佳化 (轉)JDBC筆記
- oracle 學習筆記---效能優化學習(1)Oracle筆記優化
- ORACLE學習筆記--效能優化FAQ。Oracle筆記優化
- oracle 學習筆記---效能優化(1)Oracle筆記優化
- oracle 學習筆記---效能優化(2)Oracle筆記優化
- oracle 學習筆記---效能優化(3)Oracle筆記優化
- oracle 學習筆記---效能優化(4)Oracle筆記優化
- oracle 學習筆記---效能優化(5)Oracle筆記優化
- oracle 學習筆記---效能優化(6)Oracle筆記優化
- oracle 學習筆記---效能優化(7)Oracle筆記優化
- Sqlite學習筆記(三)&&WAL效能測試SQLite筆記
- oracle學習筆記零碎(三)Oracle筆記
- 最佳化學習筆記筆記
- oracle學習筆記Oracle筆記
- React 學習筆記【三】React筆記
- goLang學習筆記(三)Golang筆記
- cmake 學習筆記(三)筆記
- 科三學習筆記筆記
- Java學習筆記三Java筆記
- Javascript 學習 筆記三JavaScript筆記
- unity學習筆記(三)Unity筆記
- 【學習筆記】初次學習斜率最佳化的程式碼及筆記筆記
- oracle 學習筆記 (ORACLE NET )Oracle筆記
- 組合最佳化 學習筆記筆記
- Oracle效能優化視訊學習筆記-效能優化概念(一)Oracle優化筆記
- Oracle效能優化視訊學習筆記-效能優化概念(二)Oracle優化筆記
- CUUG筆記 ORACLE索引學習筆記筆記Oracle索引
- oracle學習筆記《一》Oracle筆記
- Oracle學習筆記2Oracle筆記
- Oracle學習筆記1Oracle筆記
- ORACLE dataguard學習筆記Oracle筆記
- Oracle FlashBack 學習筆記Oracle筆記
- ORACLE學習筆記(zt)Oracle筆記