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è),還剩1頁(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)介

1、一、Oracle警告日志文件監(jiān)控 Oracle在運(yùn)行過(guò)程中,會(huì)在警告日志文件(alert_SID.log)中記錄數(shù)據(jù)庫(kù)的一些運(yùn)行情況: 數(shù)據(jù)庫(kù)的啟動(dòng)、關(guān)閉,啟動(dòng)時(shí)的非缺省參數(shù); 數(shù)據(jù)庫(kù)的重做日志切換情況,記錄每次切換的時(shí)間,及如果因?yàn)闄z查點(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) DBA應(yīng)該定期檢查日志文件,根據(jù)日志中發(fā)現(xiàn)的問(wèn)題及時(shí)進(jìn)行處理 問(wèn)題處理 啟動(dòng)參數(shù)不對(duì)檢查初始化參數(shù)文件 因?yàn)闄z查點(diǎn)操作或歸檔操作沒(méi)有完成造成重做日

2、志不能切換如果經(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)的表空間 出現(xiàn)ORA-600根據(jù)日志文件的內(nèi)容查看相應(yīng)的TRC文件,如果是Oracle的bug,要及時(shí)打上相應(yīng)的補(bǔ)丁 二、數(shù)據(jù)庫(kù)表空間使用情況監(jiān)控(字典管理表空間) 數(shù)據(jù)庫(kù)運(yùn)行了一段時(shí)間后,由于不斷的在表空間上創(chuàng)建和刪除對(duì)象,會(huì)在表空間上產(chǎn)生大量的碎片,DBA應(yīng)該及時(shí)

3、了解表空間的碎片和可用空間情況,以決定是否要對(duì)碎片進(jìn)行整理或?yàn)楸砜臻g增加數(shù)據(jù)文件。 select tablespace_name, count(*) chunks , max(bytes/1024/1024) max_chunk from dba_free_space group by tablespace_name; 上面的SQL列出了數(shù)據(jù)庫(kù)中每個(gè)表空間的空閑塊情況,如下所示: TABLESPACE_NAME CHUNKS MAX_CHUNK - - - INDX 1 57. RBS 3 490. RMAN_TS 1 16. SYSTEM 1 207. TEMP 20 70. TOOLS 1

4、 11. USERS 67 71. 其中,CHUNKS列表示表空間中有多少可用的空閑塊(每個(gè)空閑塊是由一些連續(xù)的Oracle數(shù)據(jù)塊組成),如果這樣的空閑塊過(guò)多,比如平均到每個(gè)數(shù)據(jù)文件上超過(guò)了100個(gè),那么該表空間的碎片狀況就比較嚴(yán)重了,可以嘗試用以下的SQL命令進(jìn)行表空間相鄰碎片的接合: alter tablespace 表空間名 coalesce; 然后再執(zhí)行查看表空間碎片的SQL語(yǔ)句,看表空間的碎片有沒(méi)有減少。如果沒(méi)有效果,并且表空間的碎片已經(jīng)嚴(yán)重影響到了數(shù)據(jù)庫(kù)的運(yùn)行,則考慮對(duì)該表空間進(jìn)行重建。 MAX_CHUNK列的結(jié)果是表空間上最大的可用塊大小,如果該表空間上的對(duì)象所需分配的空間(NE

5、XT值)大于可用塊的大小的話,就會(huì)提示ORA-1652、ORA-1653、ORA-1654的錯(cuò)誤信息,DBA應(yīng)該及時(shí)對(duì)表空間的空間進(jìn)行擴(kuò)充,以避免這些錯(cuò)誤發(fā)生。 對(duì)表空間的擴(kuò)充對(duì)表空間的數(shù)據(jù)文件大小進(jìn)行擴(kuò)展,或向表空間增加數(shù)據(jù)文件,具體操作見(jiàn)“存儲(chǔ)管理”部份。 三、查看數(shù)據(jù)庫(kù)的連接情況 DBA要定時(shí)對(duì)數(shù)據(jù)庫(kù)的連接情況進(jìn)行檢查,看與數(shù)據(jù)庫(kù)建立的會(huì)話數(shù)目是不是正常,如果建立了過(guò)多的連接,會(huì)消耗數(shù)據(jù)庫(kù)的資源。同時(shí),對(duì)一些“掛死”的連接,可能會(huì)需要DBA手工進(jìn)行清理。 以下的SQL語(yǔ)句列出當(dāng)前數(shù)據(jù)庫(kù)建立的會(huì)話情況: select sid,serial#,username,program,machine

6、,status from v$session; 輸出結(jié)果為: SID SERIAL# USERNAME PROGRAM MACHINE STATUS - - - - - - 1 1 ORACLE.EXE WORK3 ACTIVE 2 1 ORACLE.EXE WORK3 ACTIVE 3 1 ORACLE.EXE WORK3 ACTIVE 4 1 ORACLE.EXE WORK3 ACTIVE 5 3 ORACLE.EXE WORK3 ACTIVE 6 1 ORACLE.EXE WORK3 ACTIVE 7 1 ORACLE.EXE WORK3 ACTIVE 8 27 SYS SQLPLUS.

7、EXE WORKGROUPWORK3 ACTIVE 11 5 DBSNMP dbsnmp.exe WORKGROUPWORK3 INACTIVE 其中, SID 會(huì)話(session)的ID號(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í)行任何操作; 如果DBA要手工斷開(kāi)某個(gè)會(huì)話,則執(zhí)行: alter system kill session SID,SERIAL#; 注意,

8、上例中SID為1到7(USERNAME列為空)的會(huì)話,是Oracle的后臺(tái)進(jìn)程,不要對(duì)這些會(huì)話進(jìn)行任何操作。 四、控制文件的備份 在數(shù)據(jù)庫(kù)結(jié)構(gòu)發(fā)生變化時(shí),如增加了表空間,增加了數(shù)據(jù)文件或重做日志文件這些操作,都會(huì)造成Oracle數(shù)據(jù)庫(kù)控制文件的變化,DBA應(yīng)及進(jìn)行控制文件的備份,備份方法是: 執(zhí)行SQL語(yǔ)句: alter database backup controlfile to /home/backup/control.bak; 或: alter database backup controlfile to trace; 這樣,會(huì)在USER_DUMP_DEST(初始化參數(shù)文件中指定)目錄下

9、生成創(chuàng)建控制文件的SQL命令。 五、檢查數(shù)據(jù)庫(kù)文件的狀態(tài) DBA要及時(shí)查看數(shù)據(jù)庫(kù)中數(shù)據(jù)文件的狀態(tài)(如被誤刪除),根據(jù)實(shí)際情況決定如何進(jìn)行處理,檢查數(shù)據(jù)文件的狀態(tài)的SQL如下: select file_name,status from dba_data_files; 如果數(shù)據(jù)文件的STATUS列不是AVAILABLE,那么就要采取相應(yīng)的措施,如對(duì)該數(shù)據(jù)文件進(jìn)行恢復(fù)操作,或重建該數(shù)據(jù)文件所在的表空間。六、檢查數(shù)據(jù)庫(kù)定時(shí)作業(yè)的完成情況 如果數(shù)據(jù)庫(kù)使用了Oracle的JOB來(lái)完成一些定時(shí)作業(yè),要對(duì)這些JOB的運(yùn)行情況進(jìn)行檢查: select job,log_user,last_date,failure

10、s from dba_jobs; 如果FAILURES列是一個(gè)大于0的數(shù)的話,說(shuō)明JOB運(yùn)行失敗,要進(jìn)一步的檢查。 七、數(shù)據(jù)庫(kù)壞塊的處理 當(dāng)Oracle數(shù)據(jù)庫(kù)出現(xiàn)壞塊時(shí),Oracle會(huì)在警告日志文件(alert_SID.log)中記錄壞塊的信息: ORA-01578: ORACLE data block corrupted (file # 7, block # ) ORA-01110: data file : /oracle1/oradata/V920/oradata/V816/users01.dbf 其中, 代表壞塊所在數(shù)據(jù)文件的絕對(duì)文件號(hào), 代表壞塊是數(shù)據(jù)文件上的第幾個(gè)數(shù)據(jù)塊 出現(xiàn)這種情況

11、時(shí),應(yīng)該首先檢查是否是硬件及操作系統(tǒng)上的故障導(dǎo)致Oracle數(shù)據(jù)庫(kù)出現(xiàn)壞塊。在排除了數(shù)據(jù)庫(kù)以外的原因后,再對(duì)發(fā)生壞塊的數(shù)據(jù)庫(kù)對(duì)象進(jìn)行處理。 1.確定發(fā)生壞塊的數(shù)據(jù)庫(kù)對(duì)象 SELECT tablespace_name, segment_type, owner, segment_name FROM dba_extents WHERE file_id = AND between block_id AND block_id+blocks-1; 2.決定修復(fù)方法 如果發(fā)生壞塊的對(duì)象是一個(gè)索引,那么可以直接把索引DROP掉后,再根據(jù)表里的記錄進(jìn)行重建; 如果發(fā)生壞塊的表的記錄可以根據(jù)其它表的記錄生成的話,

12、那么可以直接把這個(gè)表DROP掉后重建; 如果有數(shù)據(jù)庫(kù)的備份,則恢復(fù)數(shù)據(jù)庫(kù)的方法來(lái)進(jìn)行修復(fù); 如果表里的記錄沒(méi)有其它辦法恢復(fù),那么壞塊上的記錄就丟失了,只能把表中其它數(shù)據(jù)塊上的記錄取出來(lái),然后對(duì)這個(gè)表進(jìn)行重建。 3.用Oracle提供的DBMS_REPAIR包標(biāo)記出壞塊 exec DBMS_REPAIR.SKIP_CORRUPT_BLOCKS( ,); 4.使用Create table as select命令將表中其它塊上的記錄保存到另一張表上 create table corrupt_table_bak as select * from corrupt_table; 5.用DROP TABLE命令刪除有壞塊的表 drop table corrup_tatble; 6.用alter table rename命令恢復(fù)原來(lái)的表 alter table corrupt_ta

溫馨提示

  • 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)論