ORACLE數(shù)據(jù)庫日常維護(hù)手冊.doc_第1頁
ORACLE數(shù)據(jù)庫日常維護(hù)手冊.doc_第2頁
ORACLE數(shù)據(jù)庫日常維護(hù)手冊.doc_第3頁
ORACLE數(shù)據(jù)庫日常維護(hù)手冊.doc_第4頁
ORACLE數(shù)據(jù)庫日常維護(hù)手冊.doc_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余14頁可下載查看

下載本文檔

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

文檔簡介

ORACLE 數(shù)據(jù)庫日常維護(hù)手冊 1 ORACLE 數(shù)據(jù)庫日常維護(hù)手冊數(shù)據(jù)庫日常維護(hù)手冊 1前言前言 2 2ORACLE 數(shù)據(jù)庫每天應(yīng)檢查的項目數(shù)據(jù)庫每天應(yīng)檢查的項目 2 2 1數(shù)據(jù)庫基本狀況檢查 2 2 1 1檢查Oracle的進(jìn)程 2 2 1 2檢查Oracle監(jiān)聽進(jìn)程 3 2 1 3檢查Oracle實(shí)例狀態(tài) 4 2 1 4檢查歸檔情況 4 2 2數(shù)據(jù)庫日志文件檢查 4 2 2 1檢查Oracle日志文件 4 2 2 2檢查Oracle核心轉(zhuǎn)儲目錄 5 2 3數(shù)據(jù)庫對象狀態(tài)檢查 5 2 3 1檢查Oracle控制文件狀態(tài) 5 2 3 2檢查Oracle在線日志狀態(tài) 6 2 3 3檢查Oracle表空間的狀態(tài) 6 2 3 4檢查Oracle所有數(shù)據(jù)文件狀態(tài) 6 2 3 5檢查Oracle所有表 索引 存儲過程 觸發(fā)器 包等對象的狀態(tài) 7 2 4數(shù)據(jù)庫資源使用情況檢查 7 2 4 1檢查Oracle初始化文件中相關(guān)的參數(shù)值 7 2 4 2檢查Oracle各個表空間的增長情況 8 2 4 3檢查一些擴(kuò)展異常的對象 9 2 4 4檢查system表空間內(nèi)的內(nèi)容 9 2 4 5檢查對象的下一擴(kuò)展與表空間的最大擴(kuò)展值 9 2 4 6數(shù)據(jù)庫表空間使用情況監(jiān)控 10 2 5檢查數(shù)據(jù)庫定時作業(yè)的完成情況 11 2 6數(shù)據(jù)庫壞塊的處理 11 2 7數(shù)據(jù)庫備份情況檢查 12 2 7 1檢查備份軟件的日志 12 2 7 2檢查數(shù)據(jù)庫歸檔日志 12 2 7 3控制文件的備份 12 2 8數(shù)據(jù)庫連接情況檢查 12 2 8 1檢查數(shù)據(jù)庫連接 12 2 8 2檢查數(shù)據(jù)庫會話 12 2 9操作系統(tǒng)相關(guān)檢查 13 2 9 1檢查空間使用情況 13 2 9 2檢查網(wǎng)絡(luò)狀況 13 2 9 3檢查內(nèi)存使用情況 13 2 9 4檢查磁盤I O瓶頸 14 3ORACLE 數(shù)據(jù)庫每周應(yīng)檢查的項目數(shù)據(jù)庫每周應(yīng)檢查的項目 14 3 1查看是否有危害到安全策略的問題 14 3 2查看的網(wǎng)絡(luò)日志 14 ORACLE 數(shù)據(jù)庫日常維護(hù)手冊 2 3 3將所有的警告日志存檔 14 3 4查看 ORACLE 相關(guān)的網(wǎng)站 獲取最新信息 14 4ORACLE 數(shù)據(jù)庫每月應(yīng)檢查的項目數(shù)據(jù)庫每月應(yīng)檢查的項目 15 4 1查看對數(shù)據(jù)庫會產(chǎn)生危害的增長速度 15 4 2查看數(shù)據(jù)庫調(diào)整產(chǎn)生的影響 15 4 3查看 I O 的屏頸問題 15 5附 附 17 5 1啟動數(shù)據(jù)庫 17 5 2關(guān)閉數(shù)據(jù)庫 17 5 3啟動監(jiān)聽 18 5 4關(guān)閉監(jiān)聽 19 ORACLE 數(shù)據(jù)庫日常維護(hù)手冊 3 1 前言前言 數(shù)據(jù)庫系統(tǒng)往往是企業(yè)或組織信息系統(tǒng)中最重要的基礎(chǔ)架構(gòu) 一旦數(shù)據(jù)庫系統(tǒng)不能正常運(yùn) 行 那基于數(shù)據(jù)庫的整個信息架構(gòu)都會隨之癱瘓 因此我們必須保證數(shù)據(jù)庫系統(tǒng)持續(xù)的健 康的運(yùn)行 因此數(shù)據(jù)庫管理員必須每天對數(shù)據(jù)庫的運(yùn)行狀態(tài) 日志文件 備份情況 數(shù)據(jù)庫的空間使用情 況 系統(tǒng)資源的使用情況進(jìn)行檢查 發(fā)現(xiàn)并解決可能存在的問題 將隱患消除在萌芽中 本文列舉了 ORACLE 數(shù)據(jù)庫管理員每天 每周和每月應(yīng)該檢查的一些東西 希望對 DBA 有些幫助 注 所有示例可能與客戶的實(shí)際系統(tǒng)不盡相同 2 ORACLE 數(shù)據(jù)庫每天應(yīng)檢查的項目數(shù)據(jù)庫每天應(yīng)檢查的項目 2 1 數(shù)據(jù)庫基本狀況檢查數(shù)據(jù)庫基本狀況檢查 2 1 1 檢查檢查 Oracle 的進(jìn)程的進(jìn)程 ps ef grep ora grep v grep oracle 6586 1 0 May 15 0 00 ora pmon ORCL oracle 6598 1 0 May 15 0 00 ora snp0 ORCL oracle 6600 1 0 May 15 0 00 ora snp1 ORCL oracle 6594 1 0 May 15 0 06 ora smon ORCL oracle 6604 1 0 May 15 0 00 ora snp3 ORCL oracle 6588 1 0 May 15 6 50 ora dbw0 ORCL oracle 6590 1 0 May 15 37 48 ora lgwr ORCL oracle 6602 1 0 May 15 0 00 ora snp2 ORCL oracle 6606 1 0 May 15 5 19 ora arc0 ORCL oracle 6592 1 0 May 15 0 45 ora ckpt ORCL oracle 6596 1 0 May 15 0 01 ora reco ORCL 在檢查 Oracle 的進(jìn)程命令輸出后 輸出顯示至少應(yīng)包括以下一些進(jìn)程 Oracle 寫數(shù)據(jù)文件的進(jìn)程 輸出顯示為 ora dbw0 ORCL Oracle 寫日志文件的進(jìn)程 輸出顯示為 ora lgwr ORCL Oracle 監(jiān)聽實(shí)例狀態(tài)的進(jìn)程 輸出顯示為 ora smon ORCL Oracle 進(jìn)行檢查點(diǎn)的進(jìn)程 輸出顯示為 ora ckpt ORCL 注 進(jìn)程的后綴 ORCL 是指數(shù)據(jù)庫的實(shí)例名 以上僅是示例 與客戶系統(tǒng)可能不盡相同 ORACLE 數(shù)據(jù)庫日常維護(hù)手冊 4 2 1 2 檢查檢查 Oracle 監(jiān)聽進(jìn)程監(jiān)聽進(jìn)程 lsnrctl status LSNRCTL for Solaris Version 9 2 0 4 0 Production on 23 MAY 2005 13 12 09 c Copyright 2002 Oracle Corporation All rights reserved Connecting to DESCRIPTION ADDRESS PROTOCOL TCP HOST ipasdb PORT 1521 STATUS of the LISTENER Alias LISTENER Version TNSLSNR for Solaris Version 9 2 0 4 0 Production Start Date 15 MAY 2005 22 05 58 Uptime 7 days 15 hr 6 min 11 sec Trace Level off Security OFF SNMP OFF Listener Parameter File opt oracle db01 app oracle product 920 network admin listener ora Listener Log File opt oracle db01 app oracle product 920 network log listener log Services Summary ORCL has 1 service handler s 注 以上僅是示例 與客戶系統(tǒng)可能不盡相同 2 1 3 檢查檢查 Oracle 實(shí)例狀態(tài)實(shí)例狀態(tài) sqlplus system manager sql select instance name version status database status from v instance INSTANCE NAME VERSION STATUS DATABASE STATUS ORCL 9 2 0 4 0 OPEN ACTIVE 其中 STATUS 表示 Oracle 當(dāng)前的實(shí)例狀態(tài) 必須為 OPEN DATABASE STATUS 表示 Oracle 當(dāng)前數(shù)據(jù)庫的狀態(tài) 必須為 ACTIVE sql select name log mode open mode from v database NAME LOG MODE OPEN MODE ORACLE 數(shù)據(jù)庫日常維護(hù)手冊 5 ORCLARCHIVELOGREAD WRITE 2 1 4 檢查歸檔情況檢查歸檔情況 SQL archive log list Database log mode Archive Mode Automatic archival Enabled Archive destination opt oracle arch ORCL Oldest online log sequence 1 Next log sequence to archive 2 Current log sequence 2 Automatic archival Enabled 表示歸檔進(jìn)行是否自動啟動 其中 LOG MODE 表示 Oracle 當(dāng)前的歸檔方式 ARCHIVELOG 表示數(shù)據(jù)庫運(yùn)行在歸 檔模式下 NOARCHIVELOG 表示數(shù)據(jù)庫運(yùn)行在非歸檔模式下 2 2 數(shù)據(jù)庫日志文件檢查數(shù)據(jù)庫日志文件檢查 2 2 1 檢查檢查 Oracle 日志文件日志文件 cat ORACLE BASE admin ORCL bdump alert ORCL log grep i ora cat ORACLE BASE admin ORCL bdump alert ORCL log grep i err cat ORACLE BASE admin ORCL bdump alert ORCL log grep i fail Oracle 在運(yùn)行過程中 會在警告日志文件 alert SID log 中記錄數(shù)據(jù)庫的一些運(yùn)行情況 數(shù)據(jù)庫的啟動 關(guān)閉 啟動時的非缺省參數(shù) 數(shù)據(jù)庫的重做日志切換情況 記錄每次切換的時間 及如果因為檢查點(diǎn) checkpoint 操 作沒有執(zhí)行完成造成不能切換 會記錄不能切換的原因 對數(shù)據(jù)庫進(jìn)行的某些操作 如創(chuàng)建或刪除表空間 增加數(shù)據(jù)文件 數(shù)據(jù)庫發(fā)生的錯誤 如表空間不夠 出現(xiàn)壞塊 數(shù)據(jù)庫內(nèi)部錯誤 ORA 600 DBA 應(yīng)該定期檢查日志文件 根據(jù)日志中發(fā)現(xiàn)的問題及時進(jìn)行處理 問題 處理 啟動參數(shù)不對 檢查初始化參數(shù)文件 因為檢查點(diǎn)操作或歸檔操作沒有完成造成重做日志不能切換 如果經(jīng)常發(fā)生這樣的情況 可以考慮增加重做日志文件組 想辦法提高檢查點(diǎn)或歸檔操作的效率 有人未經(jīng)授權(quán)刪除了表空間 檢查數(shù)據(jù)庫的安全問題 是否密碼太簡單 如有必要 撤 消某些用戶的系統(tǒng)權(quán)限 出現(xiàn)壞塊 檢查是否是硬件問題 如磁盤本生有壞塊 如果不是 檢查是那個數(shù)據(jù)庫對 象出現(xiàn)了壞塊 對這個對象進(jìn)行重建 表空間不夠 增加數(shù)據(jù)文件到相應(yīng)的表空間 出現(xiàn) ORA 600 根據(jù)日志文件的內(nèi)容查看相應(yīng)的 TRC 文件 如果是 Oracle 的 bug 要 及時打上相應(yīng)的補(bǔ)丁 ORACLE 數(shù)據(jù)庫日常維護(hù)手冊 6 2 2 2 檢查檢查 Oracle 核心轉(zhuǎn)儲目錄核心轉(zhuǎn)儲目錄 ls ORACLE BASE admin ORCL cdump trc wc l ls ORACLE BASE admin ORCL udump trc wc l 如果上面命令的結(jié)果每天都在增長 則說明 Oracle 進(jìn)程經(jīng)常發(fā)生核心轉(zhuǎn)儲 這說明某 些用戶進(jìn)程或者數(shù)據(jù)庫后臺進(jìn)程由于無法處理的原因而異常退出 頻繁的核心轉(zhuǎn)儲特 別是數(shù)據(jù)庫后臺進(jìn)程的核心轉(zhuǎn)儲會導(dǎo)致數(shù)據(jù)庫異常終止 2 3 數(shù)據(jù)庫對象狀態(tài)檢查數(shù)據(jù)庫對象狀態(tài)檢查 2 3 1 檢查檢查 Oracle 控制文件狀態(tài)控制文件狀態(tài) sql select from v controlfile STATUS NAME opt oracle db02 oradata ORCL control01 ctl opt oracle db03 oradata ORCL control02 ctl opt oracle db04 oradata ORCL control03 ctl 2 3 2 檢查檢查 Oracle 在線日志狀態(tài)在線日志狀態(tài) sql select from v logfile GROUP STATUS MEMBER 1 ONLINE opt oracle db02 oradata ORCL redo01 log 2 ONLINE opt oracle db03 oradata ORCL redo02 log 3 ONLINE opt oracle db04 oradata ORCL redo03 log 輸出結(jié)果應(yīng)該有 3 條以上 包含 3 條 記錄 STATUS 應(yīng)該為非 INVALID 非 DELETED 注 STATUS 顯示為空表示正常 2 3 3 檢查檢查 Oracle 表空間的狀態(tài)表空間的狀態(tài) sql select tablespace name status from dba tablespaces ORACLE 數(shù)據(jù)庫日常維護(hù)手冊 7 TABLESPACE NAME STATUS SYSTEM ONLINE TOOLS ONLINE RBS ONLINE TEMP ONLINE USERS ONLINE INDX ONLINE DRSYS ONLINE 其中 STATUS 應(yīng)該都為 ONLINE 2 3 4 檢查檢查 Oracle 所有數(shù)據(jù)文件狀態(tài)所有數(shù)據(jù)文件狀態(tài) sql select name status from v datafile NAME STATUS opt oracle db02 oradata ORCL system01 dbf ONLINE opt oracle db02 oradata ORCL tools01 dbf ONLINE opt oracle db02 oradata ORCL rbs01 dbf ONLINE opt oracle db02 oradata ORCL temp01 dbf ONLINE opt oracle db02 oradata ORCL users01 dbf ONLINE opt oracle db02 oradata ORCL indx01 dbf ONLINE opt oracle db02 oradata ORCL drsys01 dbf ONLINE opt oracle wacos oradata ORCL wacos01 dbf ONLINE opt oracle nms oradata ORCL data01 dbf ONLINE 輸出結(jié)果中 STATUS 應(yīng)該都為 ONLINE 2 3 5 檢查檢查 Oracle 所有表 索引 存儲過程 觸發(fā)器 包等所有表 索引 存儲過程 觸發(fā)器 包等 對象的狀態(tài)對象的狀態(tài) sql select owner object name object type from dba objects where status VALID and owner SYS and owner SYSTEM no rows selected 如果有記錄返回 則說明存在無效的對象 如果應(yīng)用相關(guān)的對象 請首先以 sys 用戶登錄 sqlplus 執(zhí)行 ORACLE HOME rdbms admin utlrp sql 來重新編譯這些對象 編譯后 再執(zhí)行上述語句來檢查 如果仍有輸出 請尋求技術(shù)支持 ORACLE 數(shù)據(jù)庫日常維護(hù)手冊 8 2 4 數(shù)據(jù)庫資源使用情況檢查數(shù)據(jù)庫資源使用情況檢查 2 4 1 檢查檢查 Oracle 初始化文件中相關(guān)的參數(shù)值初始化文件中相關(guān)的參數(shù)值 SQL select resource name max utilization initial allocation limit value from v resource limit RESOURCE NAME MAX UTILIZATION INITIAL ALLOCATION LIMIT VALUE processes 11 150 150 sessions 11 170 170 enqueue locks 14 2230 2230 enqueue resources 10 968 UNLIMITED ges procs 0 0 0 ges ress 0 0 UNLIMITED ges locks 0 0 UNLIMITED ges cache ress 0 0 UNLIMITED ges reg msgs 0 0 UNLIMITED ges big msgs 0 0 UNLIMITED ges rsv msgs 0 0 0 RESOURCE NAME MAX UTILIZATION INITIAL ALLOCATION LIMIT VALUE gcs resources 0 3300 3300 gcs shadows 0 3300 3300 dml locks 3 748 UNLIMITED temporary table locks 0 UNLIMITED UNLIMITED transactions 4 187 UNLIMITED branches 0 187 UNLIMITED cmtcallbk 0 187 UNLIMITED sort segment locks 1 UNLIMITED UNLIMITED max rollback segments 11 38 38 max shared servers 0 20 20 parallel max servers 0 6 6 若 LIMIT VALU MAX UTILIZATIONselect A tablespace name 1 A total B total 100 used percent from select tablespace name sum bytes total from dba free space group by tablespace name A select tablespace name sum bytes total from dba data files group by tablespace name B where A tablespace name B tablespace name TABLESPACE NAME USED PERCENT DRSYS 30 7578125 FS 19375 INDX 00390625 Data01 0375 SYSTEM 34 265625 TEMP 2 71972656 TOOLS 00390625 USERS 608473558 1 如果使用率 USED PERCENT 在 90 以上 則注意要增加數(shù)據(jù)文件來擴(kuò)展表空 間而不要是用數(shù)據(jù)文件的自動擴(kuò)展功能 2 請不要對表空間增加過多的數(shù)據(jù)文件 增加數(shù)據(jù)文件的原則是每個數(shù)據(jù) 文件大小為 2G 自動擴(kuò)展的最大限制在 4G 3 增加數(shù)據(jù)文件后 請檢查熱備腳本 是否會包含新增的數(shù)據(jù)文件 2 4 3 檢查一些擴(kuò)展異常的對象檢查一些擴(kuò)展異常的對象 sql select Segment Name Segment Type TableSpace Name Extents Max extents 100 Percent From sys DBA Segments Where Max Extents 0 and Extents Max extents 100 95 order By Percent no rows selected 如果有記錄返回 則這些對象的擴(kuò)展已經(jīng)快達(dá)到它定義時的最大擴(kuò)展值 對于這些 對象要修改它的存儲結(jié)構(gòu)參數(shù) 2 4 4 檢查檢查 system 表空間內(nèi)的內(nèi)容表空間內(nèi)的內(nèi)容 sql select distinct owner from dba tables ORACLE 數(shù)據(jù)庫日常維護(hù)手冊 10 where tablespace name SYSTEM and owner SYS and owner SYSTEM union select distinct owner from dba indexes where tablespace name SYSTEM and owner SYS and owner SYSTEM no rows selected 如果記錄返回 則表明 system 表空間內(nèi)存在一些非 system 和 sys 用戶的對象 請把這些對 象移到非 System 表空間 同時應(yīng)該檢查這些對象屬主的缺省表空間值 2 4 5 檢查對象的下一擴(kuò)展與表空間的最大擴(kuò)展值檢查對象的下一擴(kuò)展與表空間的最大擴(kuò)展值 sql select a table name a next extent a tablespace name from all tables a select tablespace name max bytes as big chunk from dba free space group by tablespace name f where f tablespace name a tablespace name and a next extent f big chunk union select a index name a next extent a tablespace name from all indexes a select tablespace name max bytes as big chunk from dba free space group by tablespace name f where f tablespace name a tablespace name and a next extent f big chunk no rows selected 如果有記錄返回 則表明這些對象的下一個擴(kuò)展大于該對象所屬表空間的最大擴(kuò)展 值 需調(diào)整相應(yīng)表空間的存儲參數(shù) 2 4 6 數(shù)據(jù)庫表空間使用情況監(jiān)控數(shù)據(jù)庫表空間使用情況監(jiān)控 數(shù)據(jù)庫運(yùn)行了一段時間后 由于不斷的在表空間上創(chuàng)建和刪除對象 會在表空間上產(chǎn)生大 量的碎片 DBA 應(yīng)該及時了解表空間的碎片和可用空間情況 以決定是否要對碎片進(jìn)行整 理或為表空間增加數(shù)據(jù)文件 select tablespace name count chunks max bytes 1024 1024 max chunk ORACLE 數(shù)據(jù)庫日常維護(hù)手冊 11 from dba free space group by tablespace name 上面的 SQL 列出了數(shù)據(jù)庫中每個表空間的空閑塊情況 如下所示 以下只是示例 與客戶 數(shù)據(jù)庫可能有出入 TABLESPACE NAME CHUNKS MAX CHUNK INDX 1 57 9921875 RBS 3 490 992188 RMAN TS 1 16 515625 SYSTEM 1 207 296875 TEMP 20 70 8046875 TOOLS 1 11 8359375 USERS 67 71 3671875 其中 CHUNKS 列表示表空間中有多少可用的空閑塊 每個空閑塊是由一些連續(xù)的 Oracle 數(shù)據(jù)塊組成 如果這樣的空閑塊過多 比如平均到每個數(shù)據(jù)文件上超過了 100 個 那么該 表空間的碎片狀況就比較嚴(yán)重了 可以嘗試用以下的 SQL 命令進(jìn)行表空間相鄰碎片的接合 alter tablespace 表空間名 coalesce 然后再執(zhí)行查看表空間碎片的 SQL 語句 看表空間的碎片有沒有減少 如果沒有效果 并 且表空間的碎片已經(jīng)嚴(yán)重影響到了數(shù)據(jù)庫的運(yùn)行 則考慮對該表空間進(jìn)行重建 MAX CHUNK 列的結(jié)果是表空間上最大的可用塊大小 如果該表空間上的對象所需分配的 空間 NEXT 值 大于可用塊的大小的話 就會提示 ORA 1652 ORA 1653 ORA 1654 的錯 誤信息 DBA 應(yīng)該及時對表空間的空間進(jìn)行擴(kuò)充 以避免這些錯誤發(fā)生 對表空間的擴(kuò)充對表空間的數(shù)據(jù)文件大小進(jìn)行擴(kuò)展 或向表空間增加數(shù)據(jù)文件 具體操作 見 存儲管理 部份 2 5 檢查數(shù)據(jù)庫定時作業(yè)的完成情況檢查數(shù)據(jù)庫定時作業(yè)的完成情況 a 如果數(shù)據(jù)庫使用了 Oracle 的 JOB 來完成一些定時作業(yè) 要對這些 JOB 的運(yùn)行情況進(jìn)行檢 查 select job log user last date failures from dba jobs 如果 FAILURES 列是一個大于 0 的數(shù)的話 說明 JOB 運(yùn)行失敗 要進(jìn)一步的檢查 2 6 數(shù)據(jù)庫壞塊的處理數(shù)據(jù)庫壞塊的處理 當(dāng) Oracle 數(shù)據(jù)庫出現(xiàn)壞塊時 Oracle 會在警告日志文件 alert SID log 中記錄壞塊的信 息 ORA 01578 ORACLE data block corrupted file 7 block ORA 01110 data file oracle1 oradata V920 oradata V816 users01 dbf 其中 AFN 代表壞塊所在數(shù)據(jù)文件的絕對文件號 代表壞塊是數(shù)據(jù)文件上的 第幾個數(shù)據(jù)塊 出現(xiàn)這種情況時 應(yīng)該首先檢查是否是硬件及操作系統(tǒng)上的故障導(dǎo)致 Oracle 數(shù)據(jù)庫出現(xiàn)壞 塊 在排除了數(shù)據(jù)庫以外的原因后 再對發(fā)生壞塊的數(shù)據(jù)庫對象進(jìn)行處理 1 確定發(fā)生壞塊的數(shù)據(jù)庫對象 SELECT tablespace name segment type owner segment name ORACLE 數(shù)據(jù)庫日常維護(hù)手冊 12 FROM dba extents WHERE file id AND between block id AND block id blocks 1 2 決定修復(fù)方法 如果發(fā)生壞塊的對象是一個索引 那么可以直接把索引 DROP 掉后 再根據(jù)表里的記錄進(jìn) 行重建 如果發(fā)生壞塊的表的記錄可以根據(jù)其它表的記錄生成的話 那么可以直接把這個表 DROP 掉后重建 如果有數(shù)據(jù)庫的備份 則恢復(fù)數(shù)據(jù)庫的方法來進(jìn)行修復(fù) 如果表里的記錄沒有其它辦法恢復(fù) 那么壞塊上的記錄就丟失了 只能把表中其它數(shù)據(jù)塊 上的記錄取出來 然后對這個表進(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 corrupt table 6 用 alter table rename 命令恢復(fù)原來的表 alter table corrupt table bak rename to corrupt table 7 如果表上存在索引 則要重建表上的索引 2 7 數(shù)據(jù)庫備份情況檢查數(shù)據(jù)庫備份情況檢查 2 7 1 檢查備份軟件的日志檢查備份軟件的日志 如果采用了第三方的備份軟件 如 verytas HP Ominback 等 備份過程中都會有日志 查 看備份軟件的日志 若有錯誤報告 判斷錯誤類型 然后分別檢查備份軟件與 ORACLE 數(shù)據(jù)庫 2 7 2 檢查數(shù)據(jù)庫歸檔日志檢查數(shù)據(jù)庫歸檔日志 所有的歸檔日志都應(yīng)是當(dāng)天產(chǎn)生的 如果存在更早的歸檔日志 則說明前次的備份有問 題 如果歸檔目錄所在卷已滿會導(dǎo)致數(shù)據(jù)庫掛起 ORACLE 數(shù)據(jù)庫日常維護(hù)手冊 13 2 7 3 控制文件的備份控制文件的備份 在數(shù)據(jù)庫結(jié)構(gòu)發(fā)生變化時 如增加了表空間 增加了數(shù)據(jù)文件或重做日志文件這些操作 都會造成 Oracle 數(shù)據(jù)庫控制文件的變化 DBA 應(yīng)及進(jìn)行控制文件的備份 備份方法是 執(zhí)行 SQL 語句 alter database backup controlfile to home backup control bak 或 alter database backup controlfile to trace 這樣會在 USER DUMP DEST 初始化參數(shù)文件中指定 目錄下生成創(chuàng)建控制文件的腳本 2 8 數(shù)據(jù)庫連接情況檢查數(shù)據(jù)庫連接情況檢查 2 8 1 檢查數(shù)據(jù)庫連接檢查數(shù)據(jù)庫連接 在客戶端用字符串方式連接數(shù)據(jù)庫 測試網(wǎng)絡(luò)連接 SQL connect username password string Connected 2 8 2 檢查數(shù)據(jù)庫會話檢查數(shù)據(jù)庫會話 DBA 要定時對數(shù)據(jù)庫的連接情況進(jìn)行檢查 看與數(shù)據(jù)庫建立的會話數(shù)目是不是正常 如果 建立了過多的連接 會消耗數(shù)據(jù)庫的資源 同時 對一些 掛死 的連接 可能會需要 DBA 手工進(jìn)行清理 以下的 SQL 語句列出當(dāng)前數(shù)據(jù)庫建立的會話情況 select sid serial username program machine 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 EXE WORKGROUP WORK3 ACTIVE 11 5 DBSNMP dbsnmp exe WORKGROUP WORK3 INACTIVE 其中 SID 會話 session 的 ID 號 SERIAL 會話的序列號 和 SID 一起用來唯一標(biāo)識一個會話 USERNAME 建立該會話的用戶名 ORACLE 數(shù)據(jù)庫日常維護(hù)手冊 14 PROGRAM 這個會話是用什么工具連接到數(shù)據(jù)庫的 STATUS 當(dāng)前這個會話的狀態(tài) ACTIVE 表示會話正在執(zhí)行某些任務(wù) INACTIVE 表示當(dāng)前 會話沒有執(zhí)行任何操作 如果 DBA 要手工斷開某個會話 則執(zhí)行 alter system kill session SID SERIAL 注意 上例中 SID 為 1 到 7 USERNAME 列為空 的會話 是 Oracle 的后臺進(jìn)程 不要對這 些會話進(jìn)行任何操作 2 9 操作系統(tǒng)相關(guān)檢查操作系統(tǒng)相關(guān)檢查 2 9 1 檢查空間使用情況檢查空間使用情況 檢查各掛載點(diǎn)的空間使用情況 特別是 ORACLE 相關(guān)的 如 ORACLE 軟件掛載點(diǎn) 數(shù) 據(jù)庫掛載點(diǎn)及歸檔日志掛載點(diǎn) 如果這些掛載點(diǎn)的使用率達(dá)到 90 以上 就要考慮增加這些 文件系統(tǒng)的大小 df k 2 9 2 檢查網(wǎng)絡(luò)狀況檢查網(wǎng)絡(luò)狀況 檢查用于 ORACLE 數(shù)據(jù)庫連接的 IP 是否正常 ifconfig a 2 9 3 檢查內(nèi)存使用情況檢查內(nèi)存使用情況 vmstat 5 10 查看是否有持續(xù)高數(shù)值的 po 和 sr 若有說明系統(tǒng)內(nèi)存分配有問題 請尋求技術(shù)支持 注 高數(shù)值按經(jīng)驗數(shù)量級不應(yīng)該超過 10 的三次方 但是不能一概而論 需與系統(tǒng)平衡運(yùn)行 時相比較 2 9 4 檢查磁盤檢查磁盤 I O 瓶頸瓶頸 sar d 5 2 檢查是否有異常高的 busy 和 avque 若有說明系統(tǒng)出現(xiàn)了磁盤 I O 瓶頸 請尋求技術(shù)支持 注 異常高是指與系統(tǒng)穩(wěn)定運(yùn)行后的數(shù)值相比較 ORACLE 數(shù)據(jù)庫日常維護(hù)手冊 15 3 ORACLE 數(shù)據(jù)庫每周應(yīng)檢查的項目數(shù)據(jù)庫每周應(yīng)檢查的項目 3 1 查看是否有危害到安全策略的問題查看是否有危害到安全策略的問題 根據(jù)本系統(tǒng)的安全策略 查看本周是否有違反安全策略的事件 如 系統(tǒng)用戶或數(shù)據(jù)庫用戶是否用了默認(rèn)的口令 sys 或 system 用戶的口令是否太短 口令與用戶名一致 系統(tǒng)沒有安裝最新補(bǔ)丁 以上只是列舉部分 具體要根據(jù)本系統(tǒng)的安全策略而定 3 2 查看的網(wǎng)絡(luò)日志查看的網(wǎng)絡(luò)日志 查看 listener log 與 sqlnet log 是否有報錯信息 cat ORACLE HOME network log listener log cat ORACLE HOME network log sqlnet log 3 3 將所有的警告日志存檔將所有的警告日志存檔 包括 ORACLE BASE admin ORCL bdump alert ORCL log ORACLE BASE admin ORCL bdump trc ORACLE BASE admin ORCL cdump trc ORACLE HOME network log listener log ORACLE HOME network log sqlnet log 3 4 查看查看 ORACLE 相關(guān)的網(wǎng)站 獲取最新信息相關(guān)的網(wǎng)站 獲取最新信息 4 ORACLE 數(shù)據(jù)庫每月應(yīng)檢查的項目數(shù)據(jù)庫每月應(yīng)檢查的項目 4 1 查看對數(shù)據(jù)庫會產(chǎn)生危害的增長速度查看對數(shù)據(jù)庫會產(chǎn)生危害的增長速度 回顧一個月的對數(shù)據(jù)庫資源使用情況的檢查 對比前幾個月的情況 總結(jié)哪些對象有異常 增長 判斷是否會對數(shù)據(jù)庫產(chǎn)生危害 ORACLE 數(shù)據(jù)庫日常維護(hù)手冊 16 4 2 查看數(shù)據(jù)庫調(diào)整產(chǎn)生的影響查看數(shù)據(jù)庫調(diào)整產(chǎn)生的影響 回顧 ORACLE 數(shù)據(jù)庫的調(diào)整點(diǎn) 對比調(diào)整前后數(shù)據(jù)庫的表現(xiàn) 來確定數(shù)據(jù)庫的發(fā)展 趨勢 4 3 查看查看 I O 的屏頸問題的屏頸問題 回顧每天檢查的磁盤 I O 瓶頸 總結(jié)數(shù)據(jù)庫文件的活動性 比較以前的輸出來判斷有可能 導(dǎo)致屏頸 問題的趨勢 ORACLE 數(shù)據(jù)庫日常維護(hù)手冊 17 5 附 附 5 1 啟動數(shù)據(jù)庫啟動數(shù)據(jù)庫 su oracle sqlplus nolog SQL Plus Release 9 2 0 4 0 Production on Thu Jun 29 14 05 54 2006 Copyright c 1982 2002 Oracle Corporation All rights reserved SQL conn as sysdba Connected to an idle instance SQL startup ORACLE instance started Total System Global Area 1377274736 bytes Fixed Size 744304 bytes Variable Size 536870912 bytes Database Buffers 838860800 bytes Redo Buffers 798720 bytes Database mounted Database opened 5 2 關(guān)閉數(shù)據(jù)庫關(guān)閉數(shù)據(jù)庫 su oracle sqlplus nolog SQL Plus Release 9 2 0 4 0 Production on Thu Jun 29 14 03 40 2006 Copyright c 1982 2002 Oracle Corporation All rights reserved SQL conn as sysdba Connected SQL shutdown immediate Database closed Database dismounted ORACLE instance shut down ORACLE 數(shù)據(jù)庫日常維護(hù)手冊 18 5 3 啟動監(jiān)聽啟動監(jiān)聽 su oracle lsnrctl start LSNRCTL for IBM AIX RISC System 6000 Version 9 2 0 4 0

溫馨提示

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

評論

0/150

提交評論