Oracle數(shù)據(jù)庫(kù)日常維護(hù)手冊(cè)_第1頁(yè)
Oracle數(shù)據(jù)庫(kù)日常維護(hù)手冊(cè)_第2頁(yè)
Oracle數(shù)據(jù)庫(kù)日常維護(hù)手冊(cè)_第3頁(yè)
Oracle數(shù)據(jù)庫(kù)日常維護(hù)手冊(cè)_第4頁(yè)
Oracle數(shù)據(jù)庫(kù)日常維護(hù)手冊(cè)_第5頁(yè)
已閱讀5頁(yè),還剩58頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

racle數(shù)據(jù)庫(kù)日常維護(hù)手冊(cè)

編號(hào):_____

OraclelOg數(shù)據(jù)庫(kù)

保護(hù)手冊(cè)

日期:_______

編寫:_______

核對(duì):_______

更新:_______

目錄

1.檢查數(shù)據(jù)庫(kù)基本狀況3

1.1.檢查ORACLE實(shí)例狀態(tài)3

1.2.檢查ORACLE服務(wù)進(jìn)程3

1.3.檢查ORACLE監(jiān)聽狀態(tài)4

2.檢查系統(tǒng)與ORACLE日志文件5

2.1.檢查操作系統(tǒng)日志文件5

2.2.檢查ORACLE日志文件5

2.3.檢查ORACLE核心轉(zhuǎn)儲(chǔ)目錄6

2.4.檢查ROOT用戶與ORACLE用戶的EMAIL6

3.檢查ORACLE對(duì)象狀態(tài)6

3.1.檢查ORACLE操縱文件狀態(tài)6

3.2.檢查ORACLE在線n志狀態(tài)6

3.3.檢查ORACLE表空間的狀態(tài)7

3.4.檢查ORACLE所有數(shù)據(jù)文件狀態(tài)7

3.5.檢查無(wú)效對(duì)象8

3.6.檢查所有回滾段狀態(tài)8

4.檢查ORACLE有關(guān)資源的使用情況9

4.1.檢查ORACLE初始化文件中有關(guān)參數(shù)值9

4.2.檢查數(shù)據(jù)庫(kù)連接情況10

4.3.檢查系統(tǒng)磁盤空間11

4.4.檢查表空間使用情況11

4.5.檢查一些擴(kuò)展特殊的對(duì)象12

4.6.檢查SYSTEM表空恒內(nèi)的內(nèi)容12

4.7.檢查對(duì)象的下一擴(kuò)展與表空間的最大擴(kuò)展值13

5.檢查ORACLE數(shù)據(jù)庫(kù)備份結(jié)果13

5.1.檢查數(shù)據(jù)庫(kù)備份日志信息13

5.2.檢查BACKUP卷中文件產(chǎn)生的時(shí)間13

5.3.檢查ORACLE用戶的EMAIL14

6.檢查ORACLE數(shù)據(jù)庫(kù)性能14

6.1.檢查數(shù)據(jù)庫(kù)的等待事件14

6.2.DISKREAD最高的SQL語(yǔ)句的獲取14

6.3.查找前十條性能差的SQL14

6.4.等待時(shí)間最多的5個(gè)系統(tǒng)等待事件的獲取14

6.5.檢查運(yùn)行很久的SQL15

6.6.檢查消耗CPU最高的進(jìn)程15

6.7.檢查碎片程度高的表15

6.8.檢查表空間的I/O比例15

6.9.檢查文件系統(tǒng)的I/O比例16

6.10.檢查死鎖及處理16

6.11.檢查數(shù)據(jù)庫(kù)CPU、I/O、內(nèi)存性能16

6.12.查看是否有僵死進(jìn)程17

6.13.檢查行鏈接/遷移17

6.14.定期做統(tǒng)計(jì)分析18

6.15.檢查緩沖區(qū)命中率18

6.16.檢查共享池命中率18

6.17.檢查排序區(qū)19

6.18.檢查日志緩沖區(qū)19

7.檢查數(shù)據(jù)庫(kù)安全性19

7.1.檢杳系統(tǒng)安全日志信息19

7.2.檢查用戶修改密碼20

8.其他檢查20

8.1.檢查當(dāng)前CRONTAB任務(wù)是否正常20

8.2.ORACLEJOB是否有失敗20

8.3.監(jiān)控?cái)?shù)據(jù)量的增長(zhǎng)情況21

8.4.檢查失效的索引21

8.5.檢查不起作用的約束22

8.6.檢查無(wú)效的TRIGGER22

巡檢內(nèi)容

1.檢查數(shù)據(jù)庫(kù)基本狀況

在本節(jié)中耍緊對(duì)數(shù)據(jù)庫(kù)的基本狀況進(jìn)行檢查,其中包含:險(xiǎn)查Oracle實(shí)例狀態(tài),檢查

Oracle服務(wù)進(jìn)程,檢查Oracle監(jiān)聽進(jìn)程,共三個(gè)部分。

1.1.檢查Oracle實(shí)例狀態(tài)

SQL>selectinstance_name,hos:_name,startup_tinie,status,database_statusfromv$instance;

INSTANCE_NAMEHOST_NAMESTARTUP_TIMESTATUSDATABASE.STATUS

CKDBAS142009-5-79:3OPENACTIVE

其中“STATUS”表示Oracle當(dāng)前的實(shí)例狀態(tài),務(wù)必為“OPEN”:“DATABASESTATUS”表示

Oracle豈前數(shù)據(jù)隹的狀態(tài),務(wù)必為“ACTIVE-

SQL>selectname,log_mode,open_modefromv$database;

NAMELOG_MODEOPEN_MODE

CKDBARCHIVELOGREADWRITE

其中“LOG_MODE”表示0詠1屬前的歸檔方式JARCHIVELCC”表示數(shù)據(jù)庫(kù)運(yùn)行在歸檔模

式卜?,“NOARCHIVELOG”表示數(shù)據(jù)庫(kù)運(yùn)行在非歸檔模式下。在我們的系統(tǒng)中數(shù)據(jù)庫(kù)務(wù)必運(yùn)

行在歸檔方式下。

1.2.檢查Oracle服務(wù)進(jìn)程

$ps-etlgrepora_|grep-vgrep&&ps-eflgrepora_|grep-vgreplwc-I

oracle296010May07?00:01:02ora_pmon_CKDB

oracle296210Ma>07?00:00:22ora_pspO_CKDB

oracle296410May07?00:00:00ora_mman_CKDB

oracle296610May07?00:03:20ora_dbw0_CKDB

oracle296810May07?00:04:29ora_lgwr_CKDB

oracle297010May07?00:10:31ora_ckpt_CKDB

oracle297210May07?00:03:45ora_smon_CKDB

oracle297410May07?00:00:00ora_reco_CKDB

oracle297610Ma>07?00:01:24ora_cjqO_CKDB

oracle297810May07?00:06:17ora_mmon_CKDB

oracle298010May07?00:07:26ora_mmnl_CKDB

oracle298210May07?00:00:00ora_d000_CKDB

oracle298410Ma>07?00:00:00ora_s000_CKDB

oracle299410Ma>07?00:00:28ora_arc0_CKDB

oracle299610May07?00:00:29ora_arcl_CKDB

oracle300010May07?00:00:00ora_qmnc_CKDB

oracle362510May07?(X):01:40ora_q(XM)_CKDB

oracle3159410Jul20?00:00:00ora_q003_CKDB

oracle238021005:09?00:00:33oraJ000_CKDB

19

在檢查Oracle的進(jìn)程命令輸由后,輸出顯示至少應(yīng)包含下列一些進(jìn)程:

.Oracle寫數(shù)據(jù)文件的進(jìn)程,輸出顯示為:^oradbwOCKDB''

.Oracle寫日志文件的進(jìn)程,輸出顯示為:“ora」gwr_CKDB”

.Oracle監(jiān)聽實(shí)例狀態(tài)的進(jìn)程,輸出顯示為:“ora_smonCKDB”

.Oracle監(jiān)聽客戶端連接進(jìn)程狀態(tài)的進(jìn)程,輸出顯示為:“ora_pnK)n_CKDB”

.Oracle進(jìn)行歸檔的進(jìn)程,輸已顯示為:“ora_arcO_CKDB”

.Oracle進(jìn)行檢查點(diǎn)的進(jìn)程,輸出顯示為:“ora_ckpt_CKDB”

.Oracle進(jìn)行恢復(fù)的進(jìn)程,輸匕顯示為:“ora_reco_CKDB”

1.3.檢查Oracle監(jiān)聽狀態(tài)

/home/oracle>lsnrctlstatus

LSNRCTLforLinux:VersionI.0-Productionon23-JUL-2009I4:ll:53

Copyright(c)1991,2005,Oracle.Allrightsreserved.

Connectingto(ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))

STATUSoftheLISTENER

AliasLISTENER

Vers沁nTNSLSNRforLinux:VersionI0.2.C.2.0-Production

StartDateO7-MAY-2OO909:35:52

Uptime77days4hr.36min.0sec

TraceLeveloff

SecurityON:LocalOSAuthentication

SNMPOFF

LislcnciParaiiiclcrFile/daia/uracIc/pioducl/lO.Z.O/neiwuik/adiiiiii/listciicr.ora

ListenerLogFile/data/oracle/product/10.2.0/network/lo^/listcncr.log

ListeningEndpointsSummary...

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=AS14)(PORT=1521)))

ServicesSummary...

Service"CKDB"has1instance(s).

Instance"CKDB",statusREADY,hasIhandler(s)forthisservice...

Service"CKDBXDB"has1instance(s).

Instance"CKDB",statusREADY,has1handler(s)forthisservice...

Service"CKDB_XPT"hasIinstance(s).

Instance"CKDB",statusREADY,has1handler(s)forthisservice...

Thecommandcompletedsuccessfully

“ServicesSummary”項(xiàng)表示Oracle的監(jiān)聽進(jìn)程正在監(jiān)聽什么數(shù)據(jù)庫(kù)實(shí)例,輸出顯示中至少應(yīng)

該有“CKDB”這一項(xiàng)。

檢查監(jiān)聽進(jìn)程是否存在:

loracle@AS14~]$ps-eflgieplsn|grep-vgrep

oracle295410May07?00:01:17/data/oracle/product/10.2.0/bin/tnslsnr

LISTENER-inherit

2.檢查系統(tǒng)與oracle日志文件

在本節(jié)要緊檢查有關(guān)的日志文件,包含:檢查操作系統(tǒng)的m志文件,檢查Oracle日志

文件,檢查Oracle核心轉(zhuǎn)儲(chǔ)E錄,檢查Root用戶與Oracle用戶的email,總共四個(gè)部分。

2.1.檢查操作系統(tǒng)日志文件

#cat/var/log/messages|grepfailed

查看是否有與Oracle用戶有關(guān)的出錯(cuò)信息

2.2.檢查oracle日志文件

[oracle@ASI4~]Scat/data/oracle/admin/CKDB/b<iump/alert_CKDB.logIgrepora-

[oracle@AS14~]Scat/data/oracle/admin/CKDB/bdump/aleri_CKDB.logIgreperr

[oracle@ASl4cat/data/oracle/admin/CKDB/bdump/alert_CKD氏logIgrepfail

Oracle在運(yùn)行過(guò)程中,會(huì)在警告日志文件(alcrl_SID.Io口中記錄數(shù)據(jù)庫(kù)的一些運(yùn)行情況:數(shù)據(jù)

庫(kù)的啟動(dòng)、關(guān)閉,啟動(dòng)時(shí)的非缺省參數(shù);數(shù)據(jù)庫(kù)的重做日志切換情況,記錄每次切換的時(shí)間,

及假如由于檢查點(diǎn)(checkpoint)操作沒(méi)有執(zhí)行完成造成不能切換,會(huì)記錄不能切換的原因;

對(duì)數(shù)據(jù)庫(kù)進(jìn)行的某些操作,如創(chuàng)建或者刪除表空間、增加數(shù)據(jù)文件:數(shù)據(jù)庫(kù)發(fā)生的錯(cuò)誤,如

表空間不夠、出現(xiàn)壞塊、數(shù)據(jù)庫(kù)內(nèi)部錯(cuò)誤(ORA-600)等。定期檢查日志文件,根據(jù)日志中

發(fā)現(xiàn)的問(wèn)題及時(shí)進(jìn)行處理:

問(wèn)題處理

啟動(dòng)參數(shù)不對(duì)檢查初始化參數(shù)文件

由于檢查點(diǎn)操作或者歸檔操作沒(méi)有完成假如經(jīng)常發(fā)生這樣的情況,能夠考慮增加重.做日

造成重做日志不能切換志文件組;想辦法提高檢查點(diǎn)或者歸檔操作的效

率;

有人未經(jīng)授權(quán)刪除了表空間檢查數(shù)據(jù)庫(kù)的安全問(wèn)題,是否密碼太簡(jiǎn)單;如有

必要,撤消某些用戶的系統(tǒng)權(quán)限

出現(xiàn)壞塊檢查是否是硬件問(wèn)題[如磁盤本生有壞塊),假如不

是,檢查是那個(gè)數(shù)據(jù)庫(kù)對(duì)象出現(xiàn)了壞塊,對(duì)這個(gè)

對(duì)象進(jìn)行重建

表空間不夠增加數(shù)據(jù)文件到相應(yīng)的表空問(wèn)

出現(xiàn)ORA-600根據(jù)日志文件的內(nèi)容杳看相應(yīng)的TRC文件,假如

是Oracle的bug,要及時(shí)打上相應(yīng)的補(bǔ)丁

Listener日志:SORACLE_HOME/network/log

2.3.檢查Oracle核心轉(zhuǎn)儲(chǔ)目錄

$ls$ORACLE_BASE/admin/CKDB/cdump/*.trc|wc-I

$ls$ORACLE_BASE/admin/CKDB/udump/*.trc|wc-I

假如上面命令的結(jié)果每天都在增長(zhǎng),則說(shuō)明Oracle進(jìn)程經(jīng)常發(fā)生核心轉(zhuǎn)儲(chǔ)。這說(shuō)明某些用

戶進(jìn)程或者者數(shù)據(jù)庫(kù)后臺(tái)進(jìn)程由于無(wú)法處理的原因而特殊退出,頻繁的核心轉(zhuǎn)儲(chǔ)特別是數(shù)據(jù)

庫(kù)后臺(tái)進(jìn)程的核心轉(zhuǎn)儲(chǔ)會(huì)導(dǎo)致數(shù)據(jù)庫(kù)特殊終止。

2.4.檢查Root用戶與Oracle用戶的email

#tail-n200Zvar/mail/root

#tail-n200/var/mail/oracle

查看有無(wú)與Oracle用戶有關(guān)的出錯(cuò)信息。

3.檢查Oracle對(duì)象狀態(tài)

在本節(jié)要緊檢查有關(guān)Oracle對(duì)象的狀態(tài),包含:檢查。racle操縱文件狀態(tài),檢查Oracle

在線U志狀態(tài),檢查Oracle表空間的狀態(tài),檢查Oracle所有數(shù)據(jù)文件狀態(tài),檢查Oracle所

有表、索引、存儲(chǔ)過(guò)程、觸發(fā)器、包等對(duì)象的狀態(tài),檢查Oracle所有回滾段的狀態(tài),總共

六個(gè)部分。

3.1.檢查Oracle操縱文件狀態(tài)

SQL>selectstatus,namefromvScontrolfile;

STATUSNAME

/data/oradata/CKDB/controlOI.ctl

/data/oradata/CKDB/control02.ctl

/data/oradata/CKDB/oontrol03.ctl

輸出結(jié)果應(yīng)該有3條以上(包含3條)的記錄,“STATUS”應(yīng)該為袁狀態(tài)為空表示操縱文

件狀態(tài)正常。

3.2.檢查Oracle在線日志狀態(tài)

SQL>selectgroup#,status.type,memberfromv$logfile;

GROUP#STATUSTYPEMEMBER

3ONLINE/data/oradata/CKDB/redo03.log

2ONLINE/data/oradata/CKDB/redo02.1og

1ONLINE/da(a/oradata/CKDB/rcdoOl.log

4ONLINE/data/oradata/CKDB/redo04.1og

5ONLINE/data/oradata/CKDB/redo05.log

6ONLINE/data/oradata/CKDB/rcdo06.1og

6rowsselected

輸出結(jié)果應(yīng)該有3條以上(包含3條)記錄,“STATUS”應(yīng)該為非“INVALID”,非“DELETED”。

注:“STATUS”顯示為空表示正常。

3.3.檢查Oracle表空間的狀態(tài)

SQL>selecttablespace_name,statusfromdba_tablespaces;

TABLESPACE_NAMESTATUS

SYSTEMONLINE

UNDOTBS1ONLINE

SYSAUXONLINE

TEMPONLINE

USERSONLINE

SJ1ONLINE

ADM」NDEXONLINE

HOME_DATAONLINE

HOME」NDEXONLINE

PHOTO.DATAONLINE

PHOTO_INDEXONLINE

0OO0ooo

輸出結(jié)果中STATUS應(yīng)該都為ONLINE。

3.4.檢查Oracle所有數(shù)據(jù)文件狀態(tài)

SQL>selectname,statusfromv$datafile;

NAMESTATUS

/data/oradata/CKDB/systcmO1.dbfSYSTEM

/dala/oradata/CKDB/undotbsO1.dbfONLINE

/data/oradata/CKDB/sysauxOl.dbfONLINE

/data/oradata/CKDB/usersO1.dbfONLINE

/data/oradata/CKDB/sj.dbfONLINE

/data/oradata/CKDB/HOME_DATAl.dbfONLINE

/data/oradata/CKDB/HOME_INDEXl.dbfONLINE

/data/oradata/CKDB/PHOTO_DATAl.dbfONLINE

Zdata/oradata/CKDB/PHOTO_lNDEXl.dbfONLINE

/data/oradata/CKDB/BLOG_DATAl.dbfONLINE

/data/oradata/CKDB/BLOGJNDEXl.dbfONLINE

Zdata/oradata/CKDB/AUDIO_DATAl.dbfONLINE

/data/oradata/CKDB/AUDIO_INDEXl.dbfONLINE

/data/oradata/CKDB/VIDEO_DATAl.dbfONLINE

/data/oradata/CKDB/VIDEO」NDEXl.dbfONLINE

/data/oradata/CKDB/SYS_DATAl.dbfONLINE

/data/oradata/CKDB/SYS_INDEXl.dbfONLINE

/data/oradata/CKDB/ADM_DATAl.dbfONLINE

/data/oradata/CKDB/ADM_INDEXl.dbfONLINE

/data/oradata/CKDB/perfstat.dbfONLINE

輸出結(jié)果中“STATUS”應(yīng)該都為“ONLINE”O(jiān)或者者:

SQL>selectfile_name,statusfromdba_data_files;

FILE.NAMESTATUS

/data/oradata/CKDB/usersO1.dbfAVAILABLE

/data/oradata/CKDB/sysauxOl.dbfAVAILABLE

Zdata/oradata/CKDB/undotbsOl.dbfAVAILABLE

/data/oradata/CKDB/systemO1.dbfAVAILABLE

/data/oradata/CKDB/sj.dbfAVAILABLE

/data/oradata/CKDB/perfstat.dbfAVAILABLE

/data/oradata/CKDB/HOME_DATAl.dbfAVAILABLE

/data/oradata/CKDB/HOME_INDEXl.dbfAVAILABLE

/data/oradata/CKDB/PHOTO_DATAl.dbfAVAILABLE

輸出結(jié)果中“STATUS”應(yīng)該都為“AVAILABLE”。

3.5.檢查無(wú)效對(duì)象

sql>selcc(owncr,object_namc.objec(_typcfromdba_objcctswheresta(us!='VALID'and

owner!='SYS'andowner!='SYSTEM';

norowsselected

假如有記錄返回,則說(shuō)明存在無(wú)效對(duì)象。若這些對(duì)象與應(yīng)用有關(guān),那么需要重新編譯生成這

個(gè)對(duì)象,或者者:

SELECTowner,object_name,object_typeFROMdba_objectsWHEREstatus='INVALID';

3.6.檢查所有回滾段狀態(tài)

SQL>selectsegment_name,statusfromdba_rollback_segs;

SEGMENT_NAMESTATUS

SYSTEMONLINE

_SYSSMUlSONLINE

_SYSSMU2SONLINE

_SYSSMU3SONLINE

_SYSSMU4SONLINE

_SYSSMU5SONLINE

_SYSSMU6SONLINE

_SYSSMU7SONLINE

_SYSSMU8SONLINE

.SYSSMU9SONLINE

_SYSSMUlO$ONLINE

11rowsselected

輸出結(jié)果中所有回滾段的“STATUS”應(yīng)該為“ONLINE”。

4.檢查Oracle有關(guān)資源的使用情況

在本節(jié)要緊檢杳Oracle有關(guān)資源的使用情況,包含:檢杳。racle初始化文件中有關(guān)的

參數(shù)值,檢查數(shù)據(jù)庫(kù)連接情況,檢查系統(tǒng)磁盤空間,檢杳Oracle各個(gè)表空間使用情況,檢

查一些擴(kuò)展特殊的對(duì)象,檢查system表空間內(nèi)的內(nèi)容,檢查對(duì)象的卜.一獷展與表空間的最

大擴(kuò)展值,總共七個(gè)部分。

4.1.檢查Oracle初始化文件中有關(guān)參數(shù)值

SQL>selectresource_name,max_utilization,initial_allocation,

limit_valucfromvSrcsourcc_limit;

RESOURCE_NAMEMAX_UTILIZATIONINITIAL_ALLOCATLIMIT.VALUE

processes162500500

sessions168555555

enqueuejock/p>

enqueue_resources1112660UNLIMITED

cs000

ges_ress00UNLIMITED

ges_locks00UNLIMITED

gcs_cachc_rcss00UNLIMITED

ges_reg_msgs00UNLIMITED

ges_big_msgs00UNLIMITED

ges_rsv_msgs000

gcs_resources000

gcs_shadows000

dmljocks762440UNLIMITED

temporary_table_locks26UNLIMITEDUNLIMITED

transactions13610UNLIMITED

branches0610UNLIMITED

cmtcallbk3610UNLIMITED

sort_segment_locks5UNLIMITEDUNLIMITED

max_rollback_segments1161065535

RESOURCE_NAMEMAX_UTILIZATIONINITIAL_ALLOCATLIMIT.VALUE

max_shared_servers1UNLIMITEDUNLIMITED

parallcl_max_scn,crs16803600

22rowsselected

若LIMIT_VALU-MAX_UTILIZATION<=5,則說(shuō)明與RESOURCE_NAME有關(guān)的Oracle初

始化參數(shù)需要調(diào)整。能夠通過(guò)修改Oracle初始化參數(shù)文件

$ORACLE_BASE/admin/CKDB/pfile/initORCL.ora來(lái)修改。

4.2.檢查數(shù)據(jù)庫(kù)連接情況

查看當(dāng)前會(huì)話連接數(shù),是否屬于正常范圍。

SQL>selectcount(*)fromvSsession;

COUNT(*)

29

selectsid,serial#,username,program,machine.statusfromv$session;

SIDSERIAL#USERNAMEPROGRAMMACHINESTATUS

13uraulc@xzl5salcdb(PMON)xz15salcdbACTIVE

23oracle@xz15salcdb(DBW0)xz15saledbACTIVE

33oracle@xz15saledb(DBW1)xzl5saledbACTIVE

43oracle@xz15saledb(LGWR)xz15saledbACTIVE

53oracle@xz15saledb(CKPT)xz15saledbACTIVE

63oracle@xz15saledb(SMON)xzl5saledbACTIVE

73oracle@xz15saledb(RECO)xz15saledbACTIVE

81oracle@xz15saledb(CJQO)xz15salcdbACTIVE

93oracle@xz15saledb(ARCO)xz15saledbACTIVE

103oracle@xz15saledb(ARC1)xzl5saledbACTIVE

1111319ZKAccPrtInv_svr@xz15tuxedo2(TNSV1-V3)xzl5tuxedo2

INACTIVE

1348876ZGupload@xz15saleap(TNSVI-V3)xzl5saleap

INACTIVE

1720405ZKAccCreateRpt@xz15tuxedo1(TNSVI-V3)xzl5tuxedol

INACTIVE

2012895ZKOweScanSvr@xzl5billdb(TNSVI-V3)xzl5billdb

INACTIVE

其中:SID會(huì)話(session)的【D號(hào):

SERIAL#會(huì)話的序列號(hào),與SID一起用來(lái)唯一標(biāo)識(shí)一個(gè)會(huì)話;

USERNAME建立該會(huì)話的用戶名;

PROGRAM這個(gè)會(huì)話是用什么工具連接到數(shù)據(jù)庫(kù)的:

STATUS當(dāng)前這個(gè)會(huì)話的狀態(tài),ACTIVE表示會(huì)話正在執(zhí)行某些任務(wù),INACTIVE表示當(dāng)

前會(huì)話沒(méi)有執(zhí)行任何操作:

假如建立了過(guò)多的連接,會(huì)消耗數(shù)據(jù)庫(kù)的資源,同時(shí),對(duì)?些“掛死”的連接可能需要手工

進(jìn)行清理。假如DBA要手工斷開某個(gè)會(huì)話,則執(zhí)行通常不建議使用這種方式去殺抻數(shù)

據(jù)庫(kù)的連接,這樣有的時(shí)候候session不可能斷開。容易引起死連接。建議通過(guò)sid查到操

作系統(tǒng)的spid,使用ps-eflgrepspidno的方式確認(rèn)spid不是ORACLE的后臺(tái)進(jìn)程。使用操作

系統(tǒng)的kill-9命令殺掉連接)

altersystemkillsession'SID,SERIAL#";

注意:上例中SID為1到IO(USERNAME列為空)的會(huì)話,是Oracle的后臺(tái)進(jìn)程,不要對(duì)這

些會(huì)話進(jìn)行任何操作。

4.3.檢查系統(tǒng)磁盤空間

假如文件系統(tǒng)的剩余空間過(guò)小或者增長(zhǎng)較快,需對(duì)其進(jìn)行確認(rèn)并刪除不用的文件以釋放空間。

[oracle@AS14~JSdf-h

FilesystemSizeUsedAvailUse%Mountedon

/dev/sda59.7G3.9G5,4G42%/

/dev/sdal479M16M438M4%/boot

/dev/sda249G19G28G41%/data

none1014M01014M0%/dev/shm

4.4.檢查表空間使用情況

SQL>selectf.tablespace_name,a.total,f.free,round((f.free/a.total)*100)"%Free"

from

(selecttablespace_name,sum(bytes/(1024*1024))totalfromdba_data_filesgroupby

tablespace_name)a,

(selecttablespace_name,round(sum(bytes/(1024*1024)))freefromdba_free_spacegroupby

tablespace_name)f

WHEREa.tabiespace_name=f.tablespace_name(+)

orderby"%Free";

TABLESPACE_NAMETOTALFREE%Free

OPERATION_DATA180054730

WAPWEB.DATA1003636

OPERATION_INDEX50018637

SYSTEM102451550

SYSAUX102453452

SALE8_TEMP1006262

SJ150034870

PERFSTAT50035671

HOME_DATA1007777

SYSJNDEX100100100

VIDEOJNDEX100100100

VIDEO.DATAl(X)10()100

BLOGDATA100100100

39rowsselected

假如空閑率%Free小于10%以上7包含-10%),則注意要增加數(shù)據(jù)文件來(lái)擴(kuò)展表空間而不要

是用數(shù)據(jù)文件的自動(dòng)擴(kuò)展功能。請(qǐng)不要對(duì)表空間增加過(guò)多的數(shù)據(jù)文件,增加數(shù)據(jù)文件的原則

是每個(gè)數(shù)據(jù)文件大小為2G或者者4G,自動(dòng)擴(kuò)展的最大限制在8Gc

4.5.檢查一些擴(kuò)展特殊的對(duì)象

sql>selectSegment_Name,Seginen(_Type,TableSpace_Name,

(Ex(ents/Max_extcnts)*100Percent

Fromsys.DBA_Segments

WhereMax_Extents!=0and(Extents/Max_extents)*100>=95

orderByPercent;

norowsselected

假如有記錄返回,則這些對(duì)象的擴(kuò)展已經(jīng)快達(dá)到它定義時(shí)的最大擴(kuò)展值。關(guān)于這些對(duì)象要修

改它的存儲(chǔ)結(jié)構(gòu)參數(shù)。

4.6.檢查system表空間內(nèi)的內(nèi)容

selectdistinct(owner)fromdba_tables

wheretablespace_name="SYSTEM'and

owner!='SYS,andowncr!='SYSTEM'

union

selectdistinct(owner)fromdba_indexes

wheretablespace_naine='SYSTEM'and

owner!^SYS'andowner!='S¥STEM';

norowsselected

假如記錄返回,則說(shuō)明system表空間內(nèi)存在一些非sysiem與sys用戶的對(duì)象。應(yīng)該進(jìn)一步

檢查這些對(duì)象是否與我們應(yīng)用有關(guān)。假如有關(guān)請(qǐng)把這些對(duì)象移到非System表空間,同時(shí)應(yīng)

該檢查這些對(duì)象屬主的缺省表空間值。

4.7.檢查對(duì)象的下一擴(kuò)展與表空間的最大擴(kuò)展值

sql>selecta.table_name,a.next_extent,a.tablespace_name

fromall_tablesa,

(selecttablespace_name,max(bytes)asbig_chunk

fromdba_free_space

groupbytablespace_name)f

wheref.(ablcspacc_namc=a.tablcspacc_namc

anda.next_extent>f.big_chunk

union

selecta.index_namc,a.ncxt_extent,a.tablespace_name

fromall_indexesa,

(selecttablespace_name.max(bytes)asbig_chunk

fromdba_frcc_spacc

groupbytablespace_name)f

wheref.(ablespace_nanie=a.tablespace_name

anda.next_extent>f.big_chunk;

norowsselected

假如有記錄返回,則說(shuō)明這些對(duì)象的下一個(gè)擴(kuò)展大于該對(duì)象所屬表空間的最大擴(kuò)煽值,需調(diào)

整相應(yīng)表空間的存儲(chǔ)參數(shù)。

5.檢查Oracle數(shù)據(jù)庫(kù)備份結(jié)果

在本節(jié)要緊檢查Oracle數(shù)據(jù)庫(kù)備份結(jié)果,包含:檢查數(shù)據(jù)隹備份日志信息,檢查backup

卷中文件產(chǎn)生的時(shí)間,檢查oracle用戶的email,總共三個(gè)部分。

5.1.檢查數(shù)據(jù)庫(kù)備份日志信息

假設(shè):備份的臨時(shí)目錄為/backup/hoibakup,我們需要檢查2009年7月22日的備份結(jié)果,

則用下面的命令來(lái)檢查:

#cat/backup/hotbackup/hotbackup-09-7-22.log|grcp-ierror

備份腳本的日志文件為hotbackup-月份-日期-年份Jog,在備份的臨時(shí)目錄下面。假如文件中

存在“ERROR:",則說(shuō)明備份沒(méi)有成功,存在問(wèn)題需要檢查。

5.2.檢查backup卷中文件產(chǎn)生的時(shí)間

#ls-k/backup/hotbackup

backup卷是備份的臨時(shí)目錄,查看輸出結(jié)果中文件的日期,都應(yīng)當(dāng)是在當(dāng)天凌晨由熱備份

腳本產(chǎn)生的。假如時(shí)間不對(duì)則說(shuō)明熱備份腳本沒(méi)執(zhí)行成功。

5.3.檢查oracle用戶的email

#tail-n300Zvar/mail/oracle

熱備份腳本是通過(guò)Oracle用戶的cron去執(zhí)行的。cron執(zhí)行完后操作系統(tǒng)就會(huì)發(fā)一條Email

通知Oracle用戶任務(wù)已經(jīng)完成。查看Oracleemail中今天凌晨部分有無(wú)ORA-,Error,Failed

等出錯(cuò)信息,假如有則說(shuō)明備份不正常。

6.檢查Oracle數(shù)據(jù)庫(kù)性能

在本方要緊檢查Oracle數(shù)據(jù)庫(kù)性能情況,包含:檢查數(shù)據(jù)庫(kù)的等待事件,檢查死鎖及

處理,檢查epu、I/O、內(nèi)存性能,查看是否有僵死進(jìn)程,檢查行鏈接/遷移,定期做統(tǒng)計(jì)分

析,檢查緩沖區(qū)命中率,檢查共享池命中率,檢查排序區(qū),檢查日志緩沖區(qū),總共十個(gè)部分。

6.1.檢查數(shù)據(jù)庫(kù)的等待事件

setpages80

setlines120

coleventfora40

selectsid,event,p1,p2,p3.WAIT_TIME.SECONDS_IN_WAITfromv$scssion_waitwhereevent

notlike'SQL%'andeventnotlike'rdbms%';

假如數(shù)據(jù)庫(kù)長(zhǎng)時(shí)間持續(xù)出現(xiàn)大量像latchfree.enqueue?bufferbusywaits,dbfilesequentialread,

dbfilescatleredread等等待事件時(shí),需要對(duì)其進(jìn)行分析,可能存在問(wèn)題的語(yǔ)句。

6.2.DiskRead最高的SQL語(yǔ)句的獲取

SQI>SF.LECTSQI._TEXTFROM(SEIF.CT*FROMV$SQIAREAORDERRY

DISK.READS)

WHEREROWNUM<=5desc;

6.3.查找前十條性能差的sql

SELECT*FROM(SELECTPARSING_USERJD

EXECUTIONS,SORTS,COMMAND_TYPE,DISK_READS,

SQL.TEXTFROMV$SQLAREAORDERBYDiSK_READSDESC)

WHEREROWNUM<10:

6.4.等待時(shí)間最多的5個(gè)系統(tǒng)等待事件的獲取

SELECT*FROM(SELECT*FROMV$SYSTEM_EVENTWHEREEVENTNOTLIKE

'SQL%'ORDERBYTOTAL_\VAITSDESC)WHEREROWNUM<=5;

6.5.檢查運(yùn)行很久的SQL

COLUMNUSERNAMEFORMATA12

COLUMNOPNAMEFORMATA16

COLUMNPROGRESSFORMATA8

SELECTUSERNAME,SID,OPNAME,ROUND(SOFAR*100/TOTALWORK,0)||'%'AS

PROGRESS,TIME_REMAINING,SQL_TEXTFROMV$SESSION_LONGOPS,V$SQL

WHERETIME_REMAINING<>0ANDSQL_ADDRESS=ADDRESSAND

SQL_HASH_VALUE=HASH.VALUE;

6.6.檢查消耗CPU最高的進(jìn)程

SETLINE240

SETVERIFYOFF

COLUMNSIDFORMAT999

COLUMNPIDFORMAT999

COLUMNS_#FORMAT999

COLUMNUSERNAMEFORMATA9HEADING"ORAUSER"

COLUMNPROGRAMFORMATA29

COLUMNSQLFORMATA60

COLUMNOSNAMEFORMATA9HEADING"OSUSER"

SELECTP.PIDPID,S.SIDSID,P.SPIDSPID,S.USERNAMEUSERNAME,S.OSUSER

OSNAME,P.SERIAL#S_#,P.TERMINAL,RPROGRAM

PROGRAM.P.BACKGROUND,S.STATUS,RTRIM(SUBSTR(A.SQL_TEXT,1,80))SQLFROM

V$PROCESSP,VSSESSIONS,V$SQLAREAAWHERERADDR=S.PADDRAND

S.SQL_ADDRESS=A.ADDRESS(+)ANDP.SPIDLIKE'%&1%;

6.7.檢查碎片程度高的表

SQL>SELECTsegment_nametable_name,COUNT(*)extentsFROMdba_segmenlsWHERE

ownerNOTIN('SYS','SYSTEM')GROUPBYsegment_nameHAVINGCOUNT(*)=(SELECT

MAX(COUNT(*))FROMdba_segmentsGROUPBYscgmcnt_namc);

6.8.檢查表空間的I/O比例

SQL>SELECTDF.TABLESPACE_NAMENAME,DF.FILE_NAME"FILE\EPHYRDSPYR.

F.PHYBLKRDPBR,F.PHYWRTSPYW,F.PHYBLKWRTPBWFROMVSFILESTATF,

DBA_DATA_FILESDFWHEREF.FILE#=DF.FILE_IDORDERBY

DF.TABLESPACE_NAME;

6.9.檢查文件系統(tǒng)的I/O比例

SQL>SELECTSUBSTR(A.FILE#,1,2)SUBSTR(A.NAMEJ,30)"NAME",

A.STATUS,A.BYTES,B.PHYRDS,B.PHYWRTSFROMVSDATAFILEA,VSFILESTATB

WHEREA.FILE#=B.HLE#;

6.10.檢查死鎖及處理

查詢目前鎖對(duì)象生息二

colsidfor999999

colusernameforaiO

colschemanameforalO

colosuserfbral6

colmachinefbra!6

colterminalfora20

colownerfbra10

colobject_namefora30

colobjeci_typeforalO

selectsid,serial#,usernanie,SCHEMANAME,osuser,MACHINE,

terminal,PROGRAM,owner,object_name,object_type,o.object_id

fromdba_objectso,v$locked_objectl,v$sessions

whereo.object_id=l.object_idands.sid=l.session_id;

oracle級(jí)kill掉該session:

altersystemkillsession'&sid.&serial#';

操作系統(tǒng)級(jí)kill掉session:

#>kill-9pid

6.11.檢查數(shù)據(jù)庫(kù)cpu、I/O、內(nèi)存性能

記錄數(shù)據(jù)庫(kù)的印u使用、10、內(nèi)存等使用情況,使用vms(al,iostal,sar,lop等命令進(jìn)行信

息收集并檢查這些信息,推斷資源使用情況。

1.CPU使用情況:

[root@sale8top

top-10:29:35up73days,19:54,Iuser,loadaverage:0.37,0.38,0.29

Tasks:353total,2running,351sleeping.0stopped,0zombie

Cpu(s):1.2%us,0.1%sy,0.0%ni,98.8%id.0.0%wa,0.0%hi,0.0%si

Mem:16404472ktotal,12887428kused,3517044kfree,60796kbuffers

Swap:8385920ktotal,665576kused,7720344kfree,10358384kcached

PIDUSERPRNIVIRTRESSHRS%CPU%MEMTIME+COMMAND

30495oracle1508329m866m861mR105.47:53.90oracle

32501oracle1508328m1.7g1.7gS210.61:58.38oracle

32503oracle1508329m1.6g1.6gS210.22:06.62oracle

注意上面的藍(lán)色字體部分,此部分內(nèi)容表示系統(tǒng)剩余的cpu,當(dāng)其平均值下降至10%下列的

時(shí)視為CPU使用率特殊,需記錄下該數(shù)值,并將狀態(tài)記為特殊。

2.內(nèi)存使用情況:

#free-m

totalusedsharedbufferscached

Mem:202619580761556

-/+buffers/cache:3261700

Swap:5992925900

如上所示,藍(lán)色部分表示系統(tǒng)總內(nèi)存,紅色部分表示系統(tǒng)使用的內(nèi)存,黃色部分表示系統(tǒng)剩

余內(nèi)存,當(dāng)剩余內(nèi)存低于總內(nèi)存的10%時(shí)視為特殊。

3.系統(tǒng)I/O情況:

#iostat-k13

Linux2.6.9-22.ELsmp(AS14:07/29/2009

avg-cpu:%user%nice%sys%iowait%idle

0.160.000.050.3699.43

Device:tpskB_rcad/skB_wrtn/skB_readkB_wrtn

sda3.3313.1650.2594483478360665804

avg-cpu:%user%nice%sys%iowait%idle

0.000.000.000.00100.00

Device:tpskB_read/skB_wrtn/skB_readkB_wrtn

sda0.000.000.0000

如上所示,藍(lán)色字體部分表示磁盤讀寫情況,紅色字體部分為叩uIO等待情況。

4.系統(tǒng)負(fù)載情況:

#uptime

12:08:37up162days,23:33,15users,loadaverage:0.01,0.15,0.10

如上所示,藍(lán)體字部分表示系統(tǒng)負(fù)載,后面的3個(gè)數(shù)值假如有高于2.5的時(shí)候就說(shuō)明系統(tǒng)在

超負(fù)荷運(yùn)轉(zhuǎn)了,并將此值記錄到巡

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論