Oracle數據庫管理員的工作職責之前已經為大家介紹了每天、每周、每月的工作,即講解Oracle數據庫管理員每月的職責以及日常管理工作、講解Oracle數據庫管理員每周的職責、講解Oracle數據庫管理員的每天的任務職責,本文將接著為大家講解“Oracle數據庫管理員的維護工作”。
一.日維護過程
A .查看所有的實例是否已起
確定數據庫是可用的,把每個實例寫入日志並且運行日報告或是運行測試文件。當然有一些操作我們是希望它能自動運行的。
可選擇執行:用 Oracle 管理器中的‘ PROBE' 事件來查看
B .查找新的警告日志文件
1. 聯接每一個操作管理系統
2. 使用‘ TELNET' 或是可比較程序
3. 對每一個管理實例,經常的執行 $Oracle_BASE//bdump 操作,並使其能回退到控制數據庫的 SID 。
4. 在提示下,使用 UNIX 中的‘ TAIL '命令查看 alert_.log ,或是用其他方式檢查文件中最近時期的警告日志
5. 如果以前出現過的一些 ORA_ERRORS 又出現,將它記錄到數據庫恢復日志中並且仔細的研究它們,這個數據庫恢復日志在〈 FILE 〉中
C .查看 DBSNMP 的運行情況
檢查每個被管理機器的‘ DBSNMP' 進程並將它們記錄到日志中。
在 UNIX 中,在命令行中,鍵入 ps –ef | grep dbsnmp, 將回看到 2 個DBSNMP 進程在運行。如果沒有,重啟 DBSNMP 。
D .查數據庫備份是否成功
E .檢查備份的磁帶文檔是否成功
F .檢查對合理的性能來說是否有足夠的資源
1. 檢查在表空間中有沒有剩余空間
對每一個實例來說,檢查在表空間中是否存在有剩余空間來滿足當天的預期的需要。當數據庫中已有的數據是穩定的,數據日增長的平均數也是可以計算出來,最小的剩余空間至少要能滿足每天數據的增 長。
A ) 運行‘ FREE.SQL' 來檢查表空間的剩余空間。
B ) 運行‘ SPACE.SQL' 來檢查表空間中的剩余空間百分率
2. 檢查回滾段
回滾段的狀態一般是在線的,除了一些為復雜工作准備的專用 段,它一般狀態是離線的。
a. 每個數據庫都有一個回滾段名字的列表。
b. 你可以用 V$ROLLSTAT 來查詢在線或是離線的回滾段的現在狀 態 .
c. 對於所有回滾段的存儲參數及名字, 可用DBA_ROLLBACK_SEGS 來查詢。但是它不如 V$ROLLSTAT 准確。
3. 識別出一些過分的增長
查看數據庫中超出資源或是增長速度過大的段,這些段的存儲參 數需要調整。
a.收集日數據大小的信息, 可以用
‘ ANALYZE5PCT.SQL '。如果你收集的是每晚的信息, 則可跳過這一步。
b.檢查當前的范圍,可用‘ NR.EXTENTS.SQL' 。
c.查詢當前表的大小信息。
d.查詢當前索引大小的信息。
e.查詢增長趨勢。
4. 確定空間的范圍
如果范圍空間對象的 NEXT_EXTENT 比表空間所能提供的最大范圍還要大,那麼這將影響數據庫的運行。如果我們找到了這個目標,可以用‘ ALTER TABLESPACE COALESCE' 調查它的位置,或加另外 的數據文件。
A )運行‘ SPACEBOUND.SQL' 。如果都是正常的,將不返回任何行。
5. 回顧 CPU ,內存,網絡,硬件資源論點的過程
A )檢查 CPU 的利用情況,進到 x:\web\phase2\default.htm =>system
metrics=>CPU 利用頁, CPU 的最大限度為 400 ,當 CPU 的占用保持在 350 以上有一段時間的話,我們就需要查看及研究出現的問題。
G .將存檔日志復制到備用數據庫中
如果有一個備用數據庫,將適當的存檔日志復制到備用數據庫的期望位置,備用數據庫中保存最近期的數據。
H. 經常查閱 DBA 用戶手冊
如果有可能的話,要廣泛的閱讀,包括 DBA 手冊,行業雜志,新聞 組或是郵件列表。
Oracle數據庫在網絡中應用很多,要想保證數據庫的正常運營,數據庫管理員要做好多的維護工作,下面就讓們一起去了解數據庫管理員的維護工作。
AD:
二.晚間維護過程
大部分的數據庫產品將受益於每晚確定的檢查進程的運行。
A. 收集 VOLUMETRIC 數據
1. 分析計劃和收集數據
更准確的分析計算並保存結果。
a ) 如果你現在沒有作這些的話,用‘ MK VOLFACT.SQL' 來創建測定體積的 表。
b ) 收集晚間數據大小的信息,用‘ ANALYZE COMP.SQL' 。
c ) 收集統計結果,用‘ POP VOL.SQL' 。
d ) 在空閒的時候檢查數據,可能的話,每周或每個月進行。
我是用 MS Excel 和 ODBC 的聯接來檢查數據和圖表的增長
三.每周維護過程
A . 查找被破壞的目標
1. 對於每個給定表空間的對象來說, NEXT_EXTENT 的大小是相同的,如12/14/98 ,缺省的NEXT_EXTENT 的 DATAHI 為 1G , DATALO 為 500MB ,INDEXES 為 256MB 。
A ) 檢查 NEXT_EXTENT 的設置,可用‘ NEXTEXT 。 SQL' 。
B ) 檢查已有的 EXTENTS ,可用‘ EXISTEXT 。 SQL' 。
2. 所有的表都應該有唯一的主鍵
a.查看那些表沒有主鍵,可用‘ NO_PK.SQL' 。
b.查找那些主鍵是沒有發揮作用的,可用‘ DIS_PK.SQL' 。
c.所有作索引的主鍵都要是唯一的,可用‘ NONUPK 。 SQL' 來檢 查。
3. 所有的索引都要放到索引表空間中。運行‘ MKREBUILD_IDX 。 SQL'
4. 不同的環境之間的計劃應該是同樣的,特別是測試環境和成品環境之間的 計劃應該相同。
a.檢查不同的 2 個運行環境中的數據類型是否一致,可用‘ DATATYPE.SQL '。
b.在 2 個不同的實例中尋找對象的不同點, 可用‘ OBJ_COORD.SQL '。
c.更好的做法是,使用一種工具,象尋求軟件的計劃管理器那樣的 工具。
B.查看是否有危害到安全策略的問題。
C.查看報錯的 SQL*NET 日志。
1. 客戶端的日志。
2. 服務器端的日志。
D .將所有的警告日志存檔
E .供應商的主頁
1. Oracle 供應商
http://www.Oracle.com
http://technet.Oracle.com
http://www.Oracle.com/support
http://www.oramag.com
2. Quest Software
http://www.quests.com
3. Sun Microsystems
http://www.sun.com
四.月維護過程
A .查看對數據庫會產生危害的增長速度
1. 從以前的記錄或報告中回顧段增長的變化以此來確定段增長帶來危害
B . 回顧以前數據庫優化性能的調整
1. 回顧一般 Oracle 數據庫的調整點,比較以前的報告來確定有害的發展 趨勢。
C . 查看 I/O 的屏頸問題
1. 查看前期數據庫文件的活動性,比較以前的輸出來判斷有可能導致屏頸 問題的趨勢。
D . 回顧 FRAGMENTATION
E . 計劃數據庫將來的性能
1. 比較 Oracle 和操作系統的 CPU ,內存,網絡,及硬盤的利用率以此來確定在近期將會有的一些資源爭奪的趨勢
2. 當系統將超出范圍時要把性能趨勢當作服務水平的協議來看
F . 完成調整和維護工作
1. 使修改滿足避免系統資源的爭奪的需要,這裡面包括增加新資源或使預期的停工。