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

下載本文檔

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

文檔簡(jiǎn)介

Oracle數(shù)據(jù)庫(kù)日常維護(hù)管理培訓(xùn)1.1.檢查Oracle的進(jìn)程1.2.檢查Oracle監(jiān)聽進(jìn)程1.3.檢查Oracle實(shí)例狀態(tài)1.4.檢查Oraclealert日志1.5.檢查Oracle核心轉(zhuǎn)儲(chǔ)目錄第一章 檢查數(shù)據(jù)庫(kù)的基本狀況1.1. 檢查Oracle的進(jìn)程執(zhí)行如下:ps-ef|grepora_|grep-vgrep解釋:在檢查Oracle的進(jìn)程命令輸出后,輸出顯示至少應(yīng)包括以下一些進(jìn)程:?Oracle寫數(shù)據(jù)文件的進(jìn)程,輸出顯示為:“ora_dbw0_ORCL”?Oracle寫日志文件的進(jìn)程,輸出顯示為:“ora_lgwr_ORCL”?Oracle系統(tǒng)監(jiān)控的進(jìn)程,輸出顯示為:“ora_smon_ORCL”?Oracle進(jìn)程監(jiān)控的進(jìn)程,輸出顯示為:“ora_pmon_ORCL”?Oracle進(jìn)行歸檔的進(jìn)程,輸出顯示為:“ora_arc0_ORCL”?Oracle進(jìn)行檢查點(diǎn)的進(jìn)程,輸出顯示為:“ora_ckpt_ORCL”?Oracle進(jìn)行恢復(fù)的進(jìn)程,輸出顯示為:“ora_reco_ORCL”1.2. 檢查Oracle監(jiān)聽進(jìn)程執(zhí)行如下:$lsnrctlstatus解釋:“ServicesSummary”項(xiàng)表示Oracle的監(jiān)聽進(jìn)程正在監(jiān)聽哪些數(shù)據(jù)庫(kù)實(shí)例,輸出顯示中至少應(yīng)該有“TESTDB”這一項(xiàng)。1.3. 檢查Oracle實(shí)例狀態(tài)SQLPLUS中執(zhí)行如下:selectinstance_name,version,status,database_statusfromv$instance;selectname,log_mode,open_modefromv$database;解釋:第一個(gè)語句:其中“STATUS”表示Oracle當(dāng)前的實(shí)例狀態(tài),必須為“OPEN”;“DATABASE_STATUS”表示Oracle當(dāng)前數(shù)據(jù)庫(kù)的狀態(tài),必須為“ACTIVE”。第二個(gè)語句:其中“LOG_MODE”表示Oracle當(dāng)前的歸檔方式。“ARCHIVELOG”表示數(shù)據(jù)庫(kù)運(yùn)行在歸檔模式下,“NOARCHIVELOG”表示數(shù)據(jù)庫(kù)運(yùn)行在非歸檔模式下。1.4. 檢查Oraclealert日志執(zhí)行如下:

cd$ORACLE_BASE/admin/$ORACLE_SID/bdumpcatalert_$ORACLE_SID.log|egrep-i'ora-|err|fail'解釋:查看有無“ORA-”,“Error”,“Failed”等出錯(cuò)信息。如:“ORA-07445:exceptionencountered:coredump[00000001015EF610][SIGSEGV][Addressnotmappedtoobject]”這條錯(cuò)誤信息表示Oracle的一個(gè)進(jìn)程內(nèi)存異常,而導(dǎo)致核心轉(zhuǎn)儲(chǔ)。1.5. 檢查Oracle核心轉(zhuǎn)儲(chǔ)目錄執(zhí)行如下:ls$ORACLE_BASE/admin/$ORACLE_SID/udump/*.trc|wc–l

ls$ORACLE_BASE/admin/$ORACLE_SID/cdump/*.trc|wc-l解釋:上面命令的結(jié)果是某個(gè)數(shù)字,如果這個(gè)數(shù)字每天增長(zhǎng)10以上,則說明Oracle進(jìn)程經(jīng)常發(fā)生核心轉(zhuǎn)儲(chǔ),某些用戶進(jìn)程或者數(shù)據(jù)庫(kù)后臺(tái)進(jìn)程由于無法處理的原因而異常退出。頻繁的核心轉(zhuǎn)儲(chǔ)特別是數(shù)據(jù)庫(kù)后臺(tái)進(jìn)程的核心轉(zhuǎn)儲(chǔ)會(huì)導(dǎo)致數(shù)據(jù)庫(kù)異常終止。2.1.檢查Oracle控制文件狀態(tài)2.2.檢查Oracle在線日志狀態(tài)2.3.檢查Oracle表空間的狀態(tài)2.4.檢查Oracle所有數(shù)據(jù)文件狀態(tài)2.5.檢查Oracle所有表、索引、存儲(chǔ)過程、觸發(fā)器、包等對(duì)象的狀態(tài)2.6. 檢查Oracle所有回滾段的狀態(tài)第二章 檢查Oracle對(duì)象的狀態(tài)2.1.檢查Oracle控制文件狀態(tài)執(zhí)行如下:SQL>setwrapoffSQL>colnamefora50SQL>select*fromv$controlfile;解釋:輸出結(jié)果應(yīng)該有3條以上(包含3條)的記錄,“STATUS”應(yīng)該為空。狀態(tài)為空表示控制文件狀態(tài)正常。2.2.檢查Oracle在線日志狀態(tài)執(zhí)行如下:SQL>setwrapoffSQL>colmemberfora50SQL>select*fromv$logfile;解釋:輸出結(jié)果應(yīng)該有3條以上(包含3條)記錄,“STATUS”應(yīng)該為非“INVALID”,非“DELETED”。

注:“STATUS”顯示為空表示正常。2.3.檢查Oracle表空間的狀態(tài)SQLPLUS中執(zhí)行如下:selecttablespace_name,statusfromdba_tablespaces;解釋:

正常情況下,其中“STATUS”應(yīng)該都為“ONLINE”2.4.檢查Oracle所有數(shù)據(jù)文件狀態(tài)執(zhí)行如下:SQL>colnamefora45SQL>selectname,statusfromv$datafile;解釋:輸出結(jié)果中“STATUS”應(yīng)該都為“ONLINE”,系統(tǒng)表空間狀態(tài)為”system”2.5.檢查Oracle所有表、索引、存儲(chǔ)過程、觸發(fā)器、包等對(duì)象的狀態(tài)執(zhí)行如下:Sql>selectowner,object_name,object_typefromdba_objectswherestatus!='VALID'andowner!='SYS'andowner!='SYSTEM';解釋:

如果有記錄返回,則說明存在無效的對(duì)象。若這些對(duì)象與我們應(yīng)用相關(guān),那么需要重新生成這個(gè)對(duì)象2.6. 檢查Oracle所有回滾段的狀態(tài)執(zhí)行如下:SQL>setwrapoffSQL>selectsegment_name,statusfromdba_rollback_segs;解釋:應(yīng)該有記錄返回,并且輸出結(jié)果中所有回滾段的“STATUS”應(yīng)該為“ONLINE”。3.1. 檢查Oracle各個(gè)表空間的增長(zhǎng)情況3.2. 檢查一些擴(kuò)展異常的對(duì)象3.3. 檢查system表空間內(nèi)的內(nèi)容3.4. 檢查對(duì)象的下一擴(kuò)展與表空間的最大擴(kuò)展值3.5.檢查job執(zhí)行情況3.6.檢查表空間的碎片程度3.7.檢查oracle軟件目錄使用情況第三章 檢查Oracle相關(guān)資源的使用情況3.1. 檢查Oracle各個(gè)表空間的增長(zhǎng)情況執(zhí)行如下:SELECTa.tablespace_name,ROUND(100-b.free/a.total*100)used_pct,ROUND(a.total/1024/1024)total,ROUND(b.free/1024/1024)free_total,ROUND(b.max_free/1024/1024)free_max,b.free_cntfragmentFROM(SELECTtablespace_name,SUM(BYTES)totalFROMdba_data_filesGROUPBYtablespace_name)a,(SELECTtablespace_name,SUM(BYTES)free,MAX(BYTES)max_free,COUNT(BYTES)free_cntFROMdba_free_spaceGROUPBYtablespace_name)bWHEREa.tablespace_name=b.tablespace_nameorderbyused_pct;解釋:如果使用率“USED_PCT”在90以上,則注意要增加數(shù)據(jù)文件來擴(kuò)展表空間而不要是用數(shù)據(jù)文件的自動(dòng)擴(kuò)展功能.

3.2. 檢查一些擴(kuò)展異常的對(duì)象執(zhí)行如下:selectSegment_Name,Segment_Type,TableSpace_Name,(Extents/Max_extents)*100PercentFromsys.DBA_SegmentsWhereMax_Extents!=0and(Extents/Max_extents)*100>=95orderByPercent;解釋:如果有記錄返回,則這些對(duì)象的擴(kuò)展已經(jīng)快達(dá)到它定義時(shí)的最大擴(kuò)展值。對(duì)于這些對(duì)象要修改它的存儲(chǔ)結(jié)構(gòu)參數(shù)3.3. 檢查system表空間內(nèi)的內(nèi)容執(zhí)行如下:selectdistinct(owner)fromdba_tableswheretablespace_name='SYSTEM'andowner!='SYS'andowner!='SYSTEM'andowner!='OUTLN'unionselectdistinct(owner)fromdba_indexeswheretablespace_name='SYSTEM'andowner!='SYS'andowner!='SYSTEM'andowner!='OUTLN';解釋:如果有記錄返回,則表明system表空間內(nèi)存在一些非system和sys用戶的對(duì)象。應(yīng)該進(jìn)一步檢查這些對(duì)象是否與我們應(yīng)用相關(guān)。如果相關(guān)請(qǐng)把這些對(duì)象移到非System表空間,同時(shí)應(yīng)該檢查這些對(duì)象屬主的缺省表空間值3.4. 檢查對(duì)象的下一擴(kuò)展與表空間的最大擴(kuò)展值執(zhí)行如下:selecta.table_name,a.next_extent,a.tablespace_namefromall_tablesa,(selecttablespace_name,max(bytes)asbig_chunkfromdba_free_spacegroupbytablespace_name)fwheref.tablespace_name=a.tablespace_nameanda.next_extent>f.big_chunkunionselecta.index_name,a.next_extent,a.tablespace_namefromall_indexesa,(selecttablespace_name,max(bytes)asbig_chunkfromdba_free_spacegroupbytablespace_name)fwheref.tablespace_name=a.tablespace_nameanda.next_extent>f.big_chunk;解釋:如果有記錄返回,則表明這些對(duì)象的下一個(gè)擴(kuò)展大于該對(duì)象所屬表空間的最大擴(kuò)展值,需調(diào)整相應(yīng)表空間的存儲(chǔ)參數(shù)3.5.檢查job執(zhí)行情況執(zhí)行如下:SQL>selectjob,log_user,last_date,failuresfromdba_jobs;解釋:如果FAILURES列是一個(gè)大于0的數(shù)的話,說明JOB運(yùn)行失敗,要進(jìn)一步的檢查。然后調(diào)用dbms_job.run來重新執(zhí)行.

創(chuàng)建測(cè)試表

SQL>createtableTEST(adate);

創(chuàng)建一個(gè)自定義過程

SQL>createorreplaceprocedureMYPROCas

2begin

3insertintoTESTvalues(sysdate);

4end;

5/

創(chuàng)建JOB

SQL>variablejob1number;

SQL>begin

2dbms_job.submit(:job1,‘MYPROC;’,sysdate,‘sysdate+1/1440’);3end;

4/

運(yùn)行JOB

execdbms_job.run(:job1);

刪除JOB

execdbms_job.remove(:job1);3.6.檢查表空間的碎片程度執(zhí)行如下:selecttablespace_name,count(*)chunks,max(bytes/1024/1024)max_chunkfromdba_free_spacegroupbytablespace_name;解釋:

CHUNKS列表示表空間中有多少可用的空閑塊(每個(gè)空閑塊是由一些連續(xù)的Oracle數(shù)據(jù)塊組成),如果這樣的空閑塊過多,比如平均到每個(gè)數(shù)據(jù)文件上超過了100個(gè),那么該表空間的碎片狀況就比較嚴(yán)重了,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論