欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
DB2數據庫管理員每天每周每月都干啥? - 少青箏 - 51CTO技術(shù)博客-最具人氣的網(wǎng)絡(luò )...
DB2數據庫管理員每天每周每月都干啥?

2006-11-06 17:19:53
數據庫系統就像一輛高性能的賽車(chē),需要一些例行檢查來(lái)保證其運行良好。本文介紹何時(shí)去監視數據庫的運行以及階段時(shí)間內數據庫管理人員應該如何做。隨著(zhù)數據庫自動(dòng)運行維護技術(shù)的提高,維護數據庫的人工勞力也降低了不少。監視數據庫系統的運行是為了確保當前狀態(tài)下數據庫沒(méi)有錯誤配置并且能發(fā)現潛在故障。
正常情況下,需要對DB2和操作系統兩方面來(lái)進(jìn)行監視,以獲得服務(wù)器上數據庫的運行狀態(tài)的全面信息。建議至少連續1個(gè)小時(shí)地監視每隔1到5分鐘的系統快照狀態(tài)數據來(lái)分析系統的健康狀況。
基本知識
在Linux或Unix平臺下可使用vmstat和iostat等命令工具來(lái)監視CPU和內存的使用情況,這些命令后面可帶2個(gè)參數,第一個(gè)是以秒記的間隔時(shí)間,按這個(gè)時(shí)間間隔運行命令,第二個(gè)是以秒記的連續時(shí)間段,在這個(gè)時(shí)間段結束時(shí)命令也就會(huì )自動(dòng)停止執行。例如,下面兩條命令:vmstat 300 28800 >vmstat.out 以及 iostat -tx 300 28800 > iostat.out,其中300秒是5分鐘,28800秒是指8個(gè)小時(shí)。第二個(gè)參考命令中的-tx開(kāi)關(guān)不是在所有的Linux/Unix平臺下都有效,有了-tx開(kāi)關(guān)將在每條輸出的系統狀態(tài)快照信息的開(kāi)頭位置打上信息產(chǎn)生的時(shí)間標志。
注意保證數據庫運行的峰值負載別超過(guò)服務(wù)器系統許可的范圍。Windows平臺下可以使用圖示化的任務(wù)管理器窗口來(lái)監視系統內CPU和內存的運行狀態(tài),但不能將結果記錄到文件中。
DB2使用多種工具用來(lái)監視數據庫系統以及數據庫實(shí)例的運行和活動(dòng)情況,這些工具比如健康中心、快照監控器、SQL快照函數以及事件監控器等。還有一些管理日志文件也記錄了一些系統運行狀態(tài)信息,比如DB2DIAG.LOG以及內存可視化工具等。
1-健康狀況監視器,通過(guò)監視DB2數據庫實(shí)例的運行狀態(tài)來(lái)預測發(fā)生潛在問(wèn)題的可能性,及時(shí)通知用戶(hù)對非健康實(shí)例進(jìn)行處理。一旦監測到錯誤,可以通過(guò)email告知用戶(hù)或運行預設CLP腳本的方式來(lái)進(jìn)行處理。健康狀態(tài)監視器對預先設定的各種健康指標的閥值進(jìn)行監視,指標突破閥值將產(chǎn)生警報或觸發(fā)預設處理腳本。健康管理中心則提供了對健康監視器的圖形化顯示接口,命令和API都可以從健康管理中心運行,在管理中心可對健康管理器進(jìn)行配置,看到數據庫實(shí)例和對象的累積的報警信息以及處理辦法。
2-快照監視器及SQL快照函數,DB2負責維護的數據有操作方面、性能方面、以及來(lái)訪(fǎng)數據庫的應用程序方面,比如你可以從數據中找到,正在連接數據庫的應用程序數以及應用程序正在執行哪些SQL語(yǔ)句,還可幫助你進(jìn)行數據庫配置調優(yōu),以及正在被應用程序占用和鎖住的表等數據庫對象有哪些,以及SQL語(yǔ)句的執行內容和次數等等詳細信息,還有每條SQL語(yǔ)句占用的CPU時(shí)間等等。還有排序動(dòng)作的發(fā)生次數以及正在發(fā)生的排序動(dòng)作也可以被快照監視器記錄到。
監視器開(kāi)關(guān)(monitor switches)可單獨地針對特定數據庫對象進(jìn)行監視,這些對象有實(shí)例、實(shí)例中的全部數據庫、或數據庫會(huì )話(huà)。使用會(huì )話(huà)監視開(kāi)關(guān)的命令是UPDATE MONITOR SWITHES或調用sqlmon()接口A(yíng)PI函數。舉例說(shuō)明,開(kāi)啟緩沖池、鎖以及動(dòng)態(tài)SQL語(yǔ)句監視可以使用以下命令:update monitor switches using bufferpool on lock on statement on。注意你必須要擁有sysadm,sysctrl,sysmaint,或sysmon(db2 9新增)權限才可以扳動(dòng)監視器開(kāi)關(guān)執行快照運算。利用事件察看器也可以訪(fǎng)問(wèn)數據,在命令行下使用GET SNAPSHOT命令,調用SQL快照表函數,使用控制中心,以及調用sqlmonss()接口函數自己編程來(lái)進(jìn)行數據訪(fǎng)問(wèn)。
3-事件監視器,啟動(dòng)該監視器后,將記錄數據庫的連接/斷開(kāi),死鎖或鎖超時(shí),語(yǔ)句執行以及事務(wù)開(kāi)始或結束等事件信息。比如一個(gè)死鎖事件監視器負責監視死鎖事件的發(fā)生,一旦死鎖情況發(fā)生應用程序的信息以及造成死鎖的條件將被收集和記錄,可以使用CREATE EVENT MONITOR語(yǔ)句來(lái)生成事件監視器,監視器只有在激活的情況下才可以記錄事件信息,激活/停止監視器的命令是:SET EVENT MONITOR語(yǔ)句。EVENT_MONITOR_STATE函數將返回指定的事件監視器的當時(shí)狀態(tài)。
一旦執行了CREATE EVENT MONITOR命令,事件監視器的定義集將生成并存放在系統類(lèi)目表中,例如:
為數據庫定義的事件監視器SYSCAT.EVENTMONITORS,
為數據庫監視的事件類(lèi)型SYSCAT.EVENTS,
以及需要監視的目標表的名稱(chēng)SYSCAT.EVENTTABLES等。
注意對整個(gè)數據庫系統(包含OS以及DBMS兩個(gè)方面)的狀態(tài)進(jìn)行監視,以確保數據庫環(huán)境能良好地運行。
每天做的
1-確保所有實(shí)例啟動(dòng)并運行。有以下一些方法:
使用健康中心圖形環(huán)境;
export/set DB2INSTANCE=實(shí)例名稱(chēng),然后運行db2start命令;
使用腳本來(lái)附加所有實(shí)例;
察看每個(gè)實(shí)例至少有一個(gè)db2sysc進(jìn)程,具體命令是ps -ef|grep db2sysc;在Windows平臺下檢查每個(gè)DB2實(shí)例的服務(wù)是否啟動(dòng)。
2-校驗所有數據庫處在活動(dòng)和一致性的狀態(tài)中。
一致性定義混亂后,執行GET DB CFG命令經(jīng)常會(huì )引發(fā)問(wèn)題。只有被確認后的事務(wù)數據才寫(xiě)入磁盤(pán)中保存,比如某些應用程序發(fā)生的事務(wù)改變了一些數據庫頁(yè),事務(wù)可能被確認,但那些被改變的數據庫頁(yè)面文件也可能不會(huì )從緩沖寫(xiě)入磁盤(pán)。也有事務(wù)回滾但頁(yè)面內容寫(xiě)入磁盤(pán)的情況發(fā)生。檢查這種數據庫一致性問(wèn)題,可以用編寫(xiě)腳本的方式來(lái)完成,前提是所有數據庫應該被分類(lèi)在工作之上。
3-檢查管理員提醒日志或DB2DIAG.LOG文件中的條目。
管理員提醒日志為DBA準備,DB2DIAG.LOG文件為DB2服務(wù)小組而準備。在windows平臺上通過(guò)察看事件管理器中的應用程序事件來(lái)獲得DB2事件信息。在Linux/Unix平臺下日志文件被寫(xiě)入<instant_ID>.nfy的文件中,存放在DIAGPATH指定的目錄中,察看的方法有:使用TELNET或遠程終端服務(wù)登陸數據庫服務(wù)器進(jìn)行察看,對單獨的實(shí)例可察看DIAGPATH目錄,在命令行模式下,針對管理員提醒日志文件運行tail命令獲取最后100條日志信息,編輯文件察看文件底部最近的日志紀錄條目。
4-檢查昨天晚上的備份是否成功。
晚上備份如果有錯或沒(méi)有存放在安全的地方,那么對日后的恢復來(lái)說(shuō)簡(jiǎn)直就是災難。確認備份成功的命令是:list history backup all for 跟上數據庫名稱(chēng)作為參數??梢允褂媚_本方式在備份過(guò)程結束后運行該命令,并且將結果email給用戶(hù),異地的備份文件可通過(guò)LAN驅動(dòng)器、NFS驅動(dòng)器或磁帶設備來(lái)恢復。如果不能丟失任何確認事務(wù)信息記錄,請開(kāi)啟數據庫日志功能。<待續...>
5-校驗數據庫日志文件是否歸檔成功。
如果是只讀數據庫或內容可以從草稿中方便地恢復,那么管理員就不必啟用數據庫日志功能,因此可略過(guò)此段介紹。但如果管理的是事務(wù)性的數據庫,那么任何一個(gè)確認性事務(wù)處理都應該被記錄到日志中,而且日志文件應該成功備份,當災害發(fā)生時(shí),數據庫內容以及發(fā)生的事務(wù)才能夠被恢復和再現。需要校驗日志文件是否被成功歸檔的另外一個(gè)重要原因是,日志文件如果不歸檔,那么它們將遺留在LOGPATH目錄中,該目錄空間大小固定,一旦被舊日志內容充滿(mǎn)沒(méi)有歸檔處理,將使新的日志文件無(wú)建立的空間而導致DB2數據庫的停機。歸檔一個(gè)日志文件時(shí),將調用userexit進(jìn)程,調用結果會(huì )被寫(xiě)入到LOGPATH目錄中的ARCHIVE.LOG和USEREXIT.ERR兩個(gè)文件中,管理員可通過(guò)編寫(xiě)并執行含有tail命令的腳本來(lái)讀取這些日志文件的最后50到100行的日志記錄條目,供分析用。
6-檢查并確認數據庫和管理系統的配置參數沒(méi)有被更改。
在有多個(gè)管理員的數據庫環(huán)境下,經(jīng)常會(huì )發(fā)生某個(gè)管理員改動(dòng)配置參數而其他管理員不知曉的情況,所以管理員需要檢查數據庫相關(guān)配置文件的正確性,通過(guò)下列命令實(shí)現:“get dbm cfg” 和“get db cfg for 具體數據庫名稱(chēng)”。將這些命令的結果輸出到一個(gè)文件,文件名可寫(xiě)上當時(shí)的時(shí)間,比如結果文件名“DB_DBM_CFG.06122006.out” ;使用diff命令來(lái)比較各天的配置文件有無(wú)改變,例如:“diff DB_DBM_CFG.02032006.out DB_DBM_CFG.02042006.out”,如果兩個(gè)配置文件內容有不一樣的地方,將被顯示出來(lái)。
7-根據工作負載來(lái)檢查重要性能的度量。
對一個(gè)在線(xiàn)事務(wù)處理系統(OLTP)來(lái)說(shuō),緩沖池的利用比率是非常重要的。數據倉庫應用中不可能有非常高的緩沖池利用率,所以根據工作負載量來(lái)進(jìn)行各項性能檢查就顯得很重要了。
下面的這條語(yǔ)句將計算日期、索引和緩沖池利用率以及異步讀取內容的百分比:
“select substr(bp_name,1,20) as BP_NAME, int ((1- (decimal(pool_data_p_reads) / nullif(pool_data_l_reads,0)))*100) as data_hit_ratio, int ((1-(decimal(pool_index_p_reads)/nullif(pool_index_l_reads,0)))*100) as index_hit_ratio, int ((1-(decimal(pool_data_p_reads+pool_index_p_reads)/nullif((pool_data_l_reads+pool_index_l_reads),0)))*100) as BP_hit_ratio, int ((1-(decimal(poo_asyn_data_reads+pool_asyn_index_reads)/nullif((pool_async_data_reads+pool_async_index_reads+direct_reads),0)))*100) as Async_read_pct, int ((1-(decimal(direct_writes)/nullif(direct_reads,0)))*100) as Direct_RW_Ratio from table (snapshot_bp (‘sample‘, -1)) as snapshot_bp;” 。
注意上面語(yǔ)句中的nullif函數,當()中的值等于零時(shí)將返回NULL,否則除零語(yǔ)句將會(huì )出錯。下面的查詢(xún)語(yǔ)句將報告被讀或被寫(xiě)的記錄的行數等:“select substr(table_schema,1,8) as Schema, substr(table_name,1,30) as Table_Name, rows_read, rows_written, overflow_accesses from table (snapshot_table (‘sample‘, -1)) as snapshot_table;”。
如果要檢查所有數據庫中的讀寫(xiě)行數對比、發(fā)生的等鎖數、總的鎖占用時(shí)間、單位時(shí)間內的鎖占用數量、死鎖或鎖增加趨勢、發(fā)生了多少次排序操作以及相關(guān)的時(shí)間量等數據庫使用模式,可以執行下一條語(yǔ)句:“select db_name, SNAPSHOT_TIMESTAMP,rows_read, rows_selected, lock_waits, lock_wait_time, lock_wait_time/nullif(lock_waits,0) as avg_wt_time, deadlocks, lock_escals, total_sorts, total_sort_time, total_sort_time/nullif(total_sorts,0) as avg_sort_time, sort_overflows, sort_overflows/nullif(total_sorts,0) as pct_ovflow_sorts from table (snapshot_database (‘‘,-1)) as snapshot_database;”。
8-檢查DB2是否按要求執行了自動(dòng)動(dòng)作。
雖然自動(dòng)化程度提高了,但對于自動(dòng)化的結果管理員還是需要關(guān)注的,這些就包括配置參數以及表空間的分配的細節了。跟蹤表空間分配情況用“list tablespaces show detail” 命令;內存自動(dòng)調優(yōu)的日志記錄到stmmlog目錄下的stmm.#.log文件中。在windows系統下stmmlog目錄位于SQLLIB\Instance目錄下,Unix/Linux系統下的stmmlog目錄位于不同用戶(hù)的SQLLIB目錄下。
9-確信還有足夠的剩余內存空間可供數據庫使用。
察看服務(wù)器上的總內存大小和DB2數據庫占用的內存大小情況是很重要的一件事,在Unix/Linux平臺下使用free命令將顯示出系統的總內存大小以及被應用程序占用掉的內存大小,和當前系統剩余可用的內存大小。
10-每天建議學(xué)習DB2的相關(guān)知識。
廣泛的閱讀相關(guān)資料,比如“DBA手冊、雜志、新聞組以及郵件列表等”對數據庫管理員有幫助,comp.databases.ibm-db2新聞組就是一個(gè)不錯的參考知識站點(diǎn)。而且DB2認證系列圖書(shū)也很有提醒價(jià)值。
1-查找新的數據庫對象。
察看是否有人在你的生產(chǎn)型數據庫中建立了新的數據庫對象(比如,表、索引、存儲進(jìn)程、)也是一件重要的事情。新對象的出現,一般意味著(zhù)服務(wù)器上有新的應用出現了,否則新出現的對象會(huì )影響到系統操作的特性。另外新對象也會(huì )消耗掉系統的一部分存儲空間,如果是非管理員建立的新數據庫對象將可能會(huì )對數據庫表空間和運行效率產(chǎn)生不良影響。有幾種方法用來(lái)檢查DB2數據庫中的新對象,比如,通過(guò)運行“db2look”命令并對每周輸出結果寫(xiě)報告對比的方式;或者采用從SYSCAT.TABLES,SYSCAT.INDEXES,SYSCAT.PROCEDURES表中列出對象名的方法來(lái)進(jìn)行每周的比較處理。通過(guò)發(fā)現新對象的建立者CREATOR來(lái)進(jìn)行維護管理。
2-查找新的或改變了的應用程序。
因為經(jīng)常會(huì )發(fā)現應用程序開(kāi)發(fā)人員調整了應用程序中的代碼,而沒(méi)有及時(shí)告訴數據庫管理調優(yōu)人員,導致調優(yōu)工作經(jīng)常需要反復。所以數據庫管理員經(jīng)常需要查找新的或變化了的應用程序。采用“list applications show detail”命令將輸出結果保存到文件供每周對照,以發(fā)現有無(wú)新應用程序出現。
采用建立新表來(lái)觀(guān)察運行的sql語(yǔ)句的方式,來(lái)發(fā)現有無(wú)改變了的應用程序代碼:首先“create table SQLstmts (stmt varchar(200), tstamp timestamp not null with default)” ,然后“insert into SQLstmts (stmt) select substr(stmt_text,1,200) as SQL_Stmt from table (snapshot_dyn_sql (‘sample‘, -1)) as  snapshot_dyn_sql” 最后察看有無(wú)當前未執行的語(yǔ)句“select distinct stmt, count(stmt), tstamp from sqlstmts group by stmt, tstamp”結果中注意那些是1的語(yǔ)句對象。
3-查找需要重新組織的表或索引。
當在表上插入、更新、刪除記錄行時(shí),表中的數據需要重新組織,以便使索引、空間、記錄等能更優(yōu)化地存在。采用的命令工具是“reorgchk”,該工具可針對單個(gè)表、所有用戶(hù)表、以及指定計劃中的所有表、或所有的系統分類(lèi)表。該工具還能直接讀取系統表中的已有統計或自己重新收集統計數據,例如,執行命令“reorgchk update statistics on table user” 檢查用戶(hù)的所有表的已有統計數據。當察看reorgchk命令工具輸出的結果時(shí),F1,F2,F3用戶(hù)的表列;F4,F5,F6,F7和F8用戶(hù)的索引列,其中如果發(fā)現*值,就表示那列的值超出了DB2的限制。出現*值需要部分調整索引的組織,這里比較繁瑣,暫時(shí)忽略。各列相關(guān)內容簡(jiǎn)介:“F1列:超值記錄條,F2列:數據頁(yè)面上的已用空間,F4列:叢串的比率,F5列:每索引頁(yè)面使用鍵值的空間,F6列,每索引級別上可存放的鍵數量,F7列:每頁(yè)上已經(jīng)被標記刪除的記錄IDs,F8列:索引中的空子頁(yè)”。比如針對ORG表進(jìn)行ORGX索引重新組織,可采用命令“reorg table org index orgx”。DB2優(yōu)化器可以根據使用數據庫的統計數據來(lái)安排SQL語(yǔ)句的優(yōu)化執行。如果用戶(hù)的數據庫表中數據發(fā)生了很大的變化,那么就有必要使用“runstats” 命令工具捕獲新的統計數據,并將這些新數據存到系統表中去,確信對新表和新索引做了統計數據捕獲。比如,使用命令“runstats on table <schema>.org with distribution and detailed indexes all”對ORG表進(jìn)行捕獲操作,注意命令中必須指定對象表的schema值。
4-查找需要捕獲運行狀態(tài)的表和索引。
察看7天以上或無(wú)相關(guān)統計數據的表的命令是“select substr(name,1,30),substr(creator,1,10),stats_time from sysibm.systables where stats_time < ((current timestamp) - 7 days) or stats_time is null” 或者執行“select substr(name,1,30),substr(creator,1,10),stats_time from sysibm.sysindexes where stats_time < ((current timestamp) - 7 days) or stats_time is null”。
5-查找最活躍的10張表。
根據被讀的頻率來(lái)確定需要執行reorg或runstats命令的表,使用以下語(yǔ)句:“select substr(table_schema,1,10) as tbschema, substr(table_name,1,30) as tbname,rows_read,rows_written,overflow_accesses,page_reorgs from table (SNAPSHOT_TABLE(‘ ‘, -1)) as snapshot_table order by rows_read desc fetch first 10 rows only”,根據被寫(xiě)的次數找出10張更新最頻繁的表使用以下語(yǔ)句:“select substr(table_schema,1,10) as tbschema,substr(table_name,1,30) as tbname, rows_read, rows_written, overflow_accesses, page_reorgs from table (SNAPSHOT_TABLE(‘ ‘, -1)) as snapshot_table order by rows_written desc fetch first 10 rows only”,通過(guò)這些命令發(fā)現的表需要做runstats或reorg等處理。
6-將所有報警日志和DB2DIAG.LOG文件歸檔處理。
這些日志文件需要每周做處理,保存以便將來(lái)調查分析,壓縮保存以節省存儲空間,Unix/Linux系統下使用tar命令將所有*.nfy文件以及db2diag.log文件聚集在一起,然后用gzip或compress命令壓縮結果文件的大小,Windows平臺下使用日志文件窗口處理這里就不再啰嗦了。
7-注意檢查并更新軟件到新版本。
當系統平穩運行時(shí),一般不需要升級或補丁自己的DB2軟件??申P(guān)注的兩個(gè)DB2相關(guān)軟件更新的地址是:“http://www-3.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/download.d2w/WINV8FP” 和“http://www-3.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/db2alert.d2w/report” 。
1-查找異常增長(cháng)的指示器。
回顧表空間在過(guò)去的一個(gè)月時(shí)間里,增長(cháng)了多少,發(fā)現特別消耗空間的表,以便提前做預處理。比如,采用以下命令“select substr(tablespace_name,1,120) as TBSPC_NAME,used_pages, free_pages from table (snapshot_tbs_cfg (‘ ‘, -1)) as snapshot_tbs_cfg”獲取表空間大小以及剩余可用空間大小。從系統類(lèi)別表中察看用戶(hù)表空間的大小,執行語(yǔ)句是“select tabname,npages from syscat.tables where tablename not like ‘SYS%‘”,注意如果表的統計數據沒(méi)有捕獲,那么npages值將顯示-1。結果可以輸出到外部文件來(lái)分析。
2-根據增長(cháng)適當規劃數據庫系統的擴張問(wèn)題。
比較你收集到的處理器、內存、以及磁盤(pán)利用率等系統級信息,規劃DB2數據庫對象今后擴展的對策。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
DB2常用命令
Linux下Mysql數據庫備份和恢復全攻略(含網(wǎng)絡(luò )備份、實(shí)時(shí)備份)
有關(guān)DB2的FAQ!
DB2崩潰后用事務(wù)日志恢復的原理和技巧
mysql的備份與修復
MySQL--mysqldump命令詳解
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久