OracleDBA的日常工作_第1頁
OracleDBA的日常工作_第2頁
OracleDBA的日常工作_第3頁
OracleDBA的日常工作_第4頁
OracleDBA的日常工作_第5頁
免費預覽已結束,剩余17頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、Oracle DBA 的日常工作作者:Thomas B. Cox, with Christine Choi目的:這篇文檔有很詳細的資料記錄著對一個甚至更多的ORACL敢據庫每天的,每月的,每年的運行的狀態的結果及檢查的結果,在文檔的附錄中你將會看到所有檢查,修改的SQL和 PL/SQL代碼。修改筆記:在 Steve DeNunzio 的"中所識別的類型固定的類型增加的 Gnu Public License ;在重建 index 中增加 pctincr 0加了一個最新的觀點,是從GEOCITIES的主頁上得到的。目錄1 ,日常維護程序A .檢查已起的所有實例B.查找一些新的警告日志C

2、. 檢查DBSNMP否在運行D .檢查數據庫備份是否正確E .檢查備份到磁帶中的文件是否正確F .檢查數據庫的性能是否正常合理,是否有足夠的空間和資源G .將文檔日志復制到備份的數據庫中H.要??碊B刖戶手冊2、晚間維護程序A .收集VOLUMETRIC的數據3、每周維護工作A .查找那些破壞規則的 OBJECTB.查找是否有違反安全策略的問題C . 查看錯誤地方的 SQL*NETB志D將所有的警告日志存檔E 經常訪問供應商的主頁4 月維護程序A 查看對數據庫會產生危害的增長速度B 回顧以前數據庫優化性能的調整C 查看I/O的屏頸問題D回顧FRAGMENTATIONE 將來的執行計劃F 查看調

3、整點和維護5 附錄A 月維護過程B 晚間維護過程C 周維護過程6 參考文獻一日維護過程A 查看所有的實例是否已起確定數據庫是可用的,把每個實例寫入日志并且運行日報告或是運行測試文件。當然有一些操作我們是希望它能自動運行的??蛇x擇執行:用 ORACLE!理器中的PROBE'事件來查看B 。查找新的警告日志文件1 . 聯接每一個操作管理系統2 .使用'TELNET'或是可比較程序3 .對每一個管理實例,經常的執行 $ORACLE_BASE/<SID>/bdump作,并使其能回退到控制數據庫的SID。4.在提示下,使用 UNIX中的TAIL'命令查看ale

4、rt_<SID>.log是用其他方式檢查文件中最近時期的警告日志復日志中并且仔細的研究它們,這個數據庫恢復日志在5.如果以前出現過的一些 ORA_ERRORS出現,將它記錄到數據庫恢FILE中C .查看DBSNMP運行情況1 .檢查每個被管理機器的DBSNMP進程并將它們記錄到日志中。在UNIX中,在命令行中,鍵入 ps -ef | grepdbsnmp,將回看到2個DBSNMP程在運行。如果沒有,重啟DBSNMPD 查數據庫備份是否成功E 檢查備份的磁帶文檔是否成功F 檢查對合理的性能來說是否有足夠的資源1. 檢查在表空間中有沒有剩余空間。對每一個實例來說,檢查在表空間中是否存在

5、有剩余空間來滿足當天的預期的需要。當數據庫中已有的數據是穩定的,數據日增長的平均數也是可以計算出來,最小的剩余空間至少要能滿足每天數據的增長。A )運行'' 來檢查表空間的剩余空間。B )運行'' 來檢查表空間中的剩余空間百分率2. 檢查回滾段回滾段的狀態一般是在線的,除了一些為復雜工作準備的專用段,它一般狀態是離線的a) 每個數據庫都有一個回滾段名字的列表。b)你可以用V$ROLLSTA來查詢在線或是離線的回滾段的現在狀態.c) 對于所有回滾段的存儲參數及名字,可用DBA_ROLLBACK_SEGS來查詢。但是它不如 V$ROLLSTATi確。3. 識別出一些

6、過分的增長查看數據庫中超出資源或是增長速度過大的段,這些段的存儲參數需要調整a ) 收集日數據大小的信息,可以用 '' 。如果你收集的是每晚的信息,則可跳過這一步。b ) 檢查當前的范圍,可用''。c ) 查詢當前表的大小信息。d ) 查詢當前索引大小的信息。e ) 查詢增長趨勢。4. 確定空間的范圍。如果范圍空間對象的 NEXT_EXTENT表空間所能提供的最大范圍還要大,那么這將影響數據庫的運行。如果我們找到了這個目標,可以用'ALTERTABLESPACE COALESCE'查它的位置,或加另外的數據文件。A )運行 ''

7、。如果都是正常的,將不返回任何行。5. 回顧CPU內存,網絡,硬件資源論點的過程A)檢查CPU的利用情況,進到 x: =>systemmetrics=>CPU利用頁,CPU勺最大BM度為400,當CPU的占用保持在 350 以上有一段時間的話,我們就需要查看及研究出現的問題。G 將存檔日志復制到備用數據庫中如果有一個備用數據庫,將適當的存檔日志復制到備用數據庫的期望位置,備用數據庫中保存最近期的數據。F.經常查閱DBA用戶手冊如果有可能的話,要廣泛的閱讀,包括DBA手冊,行業雜志,新聞組或是郵件列表。二晚間維護過程大部分的數據庫產品將受益于每晚確定的檢查進程的運行。A。收集 VOL

8、UMETRIC1. 分析計劃和收集數據更準確的分析計算并保存結果,a ) 如果你現在沒有作這些的話,用'MK ' 來創建測定體積的表。b ) 收集晚間數據大小的信息,用'ANALYZE ' 。c ) 收集統計結果,用'POP ' 。d ) 在空閑的時候檢查數據,可能的話,每周或每個月進行。 我是用MS EXCELS ODBC的聯接來檢查數據和圖表的增長三每周維護過程A 查找被破壞的目標1 .對于每個給定表空的對象來說,NEXT_EXTENT大小是相同的,如 12/14/98 ,缺省的 NEXT_EXTENT DATAHI為 1G, DATALCO

9、7 500MB INDEXES 256MBA) 檢查 NEXT_EXTENT設置,可用NEXTEXT SQL'。B) 檢查已有的 EXTENTS 可用EXISTEXT。SQL'。2 . 所有的表都應該有唯一的主鍵a ) 查看那些表沒有主鍵,可用b ) 查找那些主鍵是沒有發揮作用的,可用'' 。c )所有作索引的主鍵都要是唯一的,可用'NONUPK SQL'來檢查。3 所有的索引都要放到索引表空間中。運行'MKREBUILD_IDX。 SQL'4 不同的環境之間的計劃應該是同樣的, 特別是測試環境和成品環境之間的計劃應該相同。d )

10、 檢查不同的2 個運行環境中的數據類型是否一致,可用''e ) 在 2 個不同的實例中尋找對象的不同點,可用''.f ) 更好的做法是,使用一種工具,象尋求軟件的計劃管理器那樣的工具。B 查看是否有危害到安全策略的問題。C .查看報錯的SQL*NETS志。1. 客戶端的日志。2. 服務器端的日志。D . 將所有的警告日志存檔E . 供應商的主頁1. ORACLE 供應商2. Quest Software3. Sun Microsystems四月維護過程A 查看對數據庫會產生危害的增長速度1. 從以前的記錄或報告中回顧段增長的變化以此來確定段增長帶來危害B 回顧以

11、前數據庫優化性能的調整1.回顧一般ORACL散據庫的調整點,比較以前的報告來確定有害 的發展趨勢。C 查看 I/O 的屏頸問題1. 查看前期數據庫文件的活動性,比較以前的輸出來判斷有可能 導致屏頸問題的趨勢。D 回顧 FRAGMENTATIONE 計劃數據庫將來的性能1 .比較ORACL醫口操作系統的CPU內存,網絡,及硬盤的利用率以此來確定在近期將會有的一些資源爭奪的趨勢2. 當系統將超出范圍時要把性能趨勢當作服務水平的協議來看F 完成調整和維護工作1. 使修改滿足避免系統資源的爭奪的需要,這里面包括增加新資源或使預期的停工。五、附錄A 、 日常 程序- - To verify free s

12、pace in tablespaces- - Minimum amount of free space- - document your thresholds:- - <tablespace_name> = <amount> m- SELECT tablespace_name, sum ( blocks ) as free_blk , trunc(sum ( bytes ) / (1024*1024) ) as free_m, max ( bytes ) / (1024) as big_chunk_k, count (*) asnum_chunksFROM dba_fr

13、ee_spaceGROUP BY tablespace_name1.- To check free, pct_free, and allocated space within atablespace- 11/24/98SELECT tablespace_name, largest_free_chunk, nr_free_chunks, sum_alloc_blocks, sum_free_blocks, to_char(100*sum_free_blocks/sum_alloc_blocks, '') |'%'AS pct_freeFROM ( SELECT t

14、ablespace_name, sum(blocks) AS sum_alloc_blocksFROM dba_data_filesGROUP BY tablespace_name), ( SELECT tablespace_name AS fs_ts_name, max(blocks) AS largest_free_chunk, count(blocks) AS nr_free_chunks, sum(blocks) AS sum_free_blocksFROM dba_free_spaceGROUP BY tablespace_name )WHERE tablespace_name =

15、fs_ts_name2.- - To analyze tables and indexes quickly, using a 5% samplesize- - (do not use this script if you are performing the overnight- - collection of volumetric data)- 11/30/98BEGIN( '&OWNER', 'ESTIMATE', NULL, 5 ) ;END ;/3.- - To find out any object reaching <threshold

16、>- - extents, and manually upgrade it to allow unlimited- - max_extents (thus only objects we *expect* to be big- - are allowed to become big)- - 11/30/98SELECT , , , count(*) asnr_extents , to_char ( sum ( ) / ( 1024 * 1024 ) , '999,')as MBFROM dba_extents e , dba_segments sWHERE =GROUP

17、BY , , ,HAVING count(*) > &THRESHOLDOR ( ( - count(*) ) < &&THRESHOLD )ORDER BY count(*) desc4.- - To identify space-bound objects. If all is well, no rows are returned.- - If any space-bound objects are found, look at value of NEXT extent- - size to figure out what happened.- - Th

18、en use coalesce (alter tablespace <foo> coalesce.- - Lastly, add another datafile to the tablespace if needed.- - 11/30/98SELECT , ,FROM all_tables a,( SELECT tablespace_name, max(bytes) as big_chunkFROM dba_free_spaceGROUP BY tablespace_name ) fWHERE =AND >B. 每晚處理程序1.- - (only run this onc

19、e to set it up; do not run it nightly!)Table UTL_VOL_FACTSCREATE TABLE utl_vol_facts(table_name VARCHAR2(30),num_rows NUMBER,meas_dt DATE)TABLESPACE platabSTORAGE (INITIAL 128kNEXT 128kPCTINCREASE 0MINEXTENTS 1MAXEXTENTS unlimited)/- - Public SynonymCREATE PUBLIC SYNONYM utl_vol_facts FOR&OWNER.

20、utl_vol_facts/- - Grants for UTL_VOL_FACTSGRANT SELECT ON utl_vol_facts TO public/2.BEGIN( '&OWNER','COMPUTE');END ;/3.insert into utl_vol_factsselect table_name, NVL ( num_rows, 0) as num_rows, trunc ( last_analyzed ) as meas_dtfrom all_tables - or just user_tableswhere owner in

21、 ('&OWNER') - or a comma-separated list ofowners/commit/C. 每周處理程序1.To find tables that don't match the tablespace default forNEXT extent.- - The implicit rule here is that every table in a given tablespace should- - use the exact same value for NEXT, which should also be thetablespac

22、e's- - default value for NEXT.- - This tells us what the setting for NEXT is for these objects today. - - 11/30/98SELECT segment_name, segment_type, asActual_Next, , as Default_NextFROM dba_tablespaces dt, dba_segments dsWHERE =AND !=AND = UPPER ( '&OWNER' )ORDER BY tablespace_name,

23、segment_type, segment_name2.- To check existing extentsThis tells us how many of each object's extents differ insize from- - the tablespace's default size. If this report shows a lot of different- - sized extents, your free space is likely to becomefragmented. If so,- - this tablespace is a

24、candidate for reorganizing.- - 12/15/98SELECT segment_name, segment_type, count(*) as nr_exts, sum ( DECODE ( ,0,1) ) asnr_illsized_exts, , as dflt_ext_sizeFROM dba_tablespaces dt, dba_extents dxWHERE =AND = '&OWNER'GROUP BY segment_name, segment_type, ,- To find tables without PK constr

25、aint- 11/2/98SELECT table_nameFROM all_tablesWHERE owner = '&OWNER'MINUSSELECT table_nameFROM all_constraintsWHERE owner = '&&OWNER'AND constraint_type = 'P'3.- To find out which primary keys are disabled- 11/30/98SELECT owner, constraint_name, table_name, statusF

26、ROM all_constraintsWHERE owner = '&OWNER' AND status = 'DISABLED' ANDconstraint_type = 'P'4.- To find tables with nonunique PK indexes. Requires thatPKnames- - follow a naming convention. An alternative query follows that- - does not have this requirement, but runs more s

27、lowly.- - 11/2/98SELECT index_name, table_name, uniquenessFROM all_indexesWHERE index_name like '&PKNAME%'AND owner = '&OWNER' AND uniqueness = 'NONUNIQUE' SELECT , ,FROM all_constraints c , all_indexes iWHERE = UPPER ( '&OWNER' ) AND ='NONUNIQUE'AND = 'P' AND =5.- Rebuild indexes to have correct storage parameters- 11/2/98SELECT 'alter index ' | index_name | ' rebuild ' , 'tablespace INDEXES storage| ' ( initial 256 K next 256 K pctincr

溫馨提示

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

評論

0/150

提交評論