




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、DB2DB2日常維護手冊DB2日常維護操作1.檢查管理服務(wù)器是否啟動2.檢查DB2實例是否已經(jīng)啟動3.查看表空間狀態(tài)是否正常4.查看表的狀態(tài)5.查看磁盤空間6.檢查存儲管理軟件是否正常7.檢查數(shù)據(jù)庫備份是否正常檢查歸檔日志是否正確歸檔了9.查看緩沖池的命中率3.14.15.目錄查看當(dāng)前運行最頻繁的 SQL,其命中率是否正常查看當(dāng)前連接的應(yīng)用程序,有沒有非法連接檢查有沒有死鎖對表和索引進行run stats檢查表是否需要重組對需要重組的表進行重組DB2日常維護月操作-.1.-.1 -.2 -.3 -.3 -.3 -.4 -4 - 4 -.4 -.5 -.5 -.6 -.6 -
2、1.查看DB2日志-.6 -2.檢查備份和日志是否都保存好了-7-DB2日常維護季度操作.-7 -1.通過快照監(jiān)控器,查看系統(tǒng)性能如何-7 -2.數(shù)據(jù)庫補丁級別-.7 -四、注意事項-.7 -1.不要刪除活動日志文件-.7 -2.注意交易日志存儲空間-.8 -3.按照系統(tǒng)的實際工作量配置日志空間-.8 -4.設(shè)置正確數(shù)據(jù)庫代碼頁-.8 -5.檢查許可證(License )安裝情況-.9 -6.創(chuàng)建數(shù)據(jù)庫前調(diào)整好系統(tǒng)時間-.9 -7.不要隨便執(zhí)行 chown (chmod)-R ( UNIX/Linux )歸檔模式設(shè)置.-.10 -五、附:以脫機方式重組表-.10-六、附:使用CLP捕獲數(shù)據(jù)庫運
3、行狀況快照:.11-七、附:IBM DB2常用命令.-.12-DB2日常維護手冊DB2日常維護操作1. 檢查管理服務(wù)器是否啟動用ps命令查看是否有 dasusri后臺進程# ps -ef | dasusri請確保管理服務(wù)器已經(jīng)啟動,如果沒有啟動,則按以下步驟啟動管理服務(wù)器: 以管理服務(wù)器用戶(UNIX默認是DASUSR1)登錄 發(fā)出 db2admin start 命令 如果是HA環(huán)境,則要保證在腳本中正確配置了啟動命令2. 檢查DB2實例是否已經(jīng)啟動用ps命令查看是否有 db2sysc后臺進程# ps -ef | db2sysc也可以以DB2實例所有者登錄,通過發(fā)出db2start命令來確保啟
4、動了實例(如果實例已經(jīng)啟動,則會告知 SQL1026N數(shù)據(jù)庫管理器已激活;否則,將把實例啟動起來)3. 查看表空間狀態(tài)是否正常以db2實例所有者登錄#db2 list tables paces show detail/在單分區(qū)上查看表空間的狀態(tài),正常返回0x0000# db2_all list tables paces show detail/在所有分區(qū)上查看表空間的狀態(tài)可以使用 LIST TABLES PACES命令確定連接數(shù)據(jù)庫中表空間的當(dāng)前狀態(tài),可以使用SAMPLE數(shù)據(jù)庫,執(zhí)行l(wèi)ist,此時,使用db2tbst可以查SHOW DETAIL選項查看表空間的詳細信息。比如,我們連上table
5、s paces show detail,可以看到狀態(tài)返回值是0x0000看狀態(tài)編號對于的狀態(tài)含義,具體語法如下:db2tbst <tables pace state>可以查看編號所代表的狀態(tài)db2tbst 命令接收十六進制的狀態(tài)值,并返回相應(yīng)的表空間狀態(tài)。例如,命令db2tbst0x0008 返回State = Load Pending 。而該十六進制的狀態(tài)值反過來又是 LISTTABLES PACES命令輸出的組成部分。表空間的外部可見狀態(tài)是由單個狀態(tài)值的十六進制總和構(gòu)成的。例如,如果表空間的狀態(tài)是Backup Pen di ng和Load in P rogress ,那么所返回
6、的十六進制值就是0x20020 ( 0x00020 + 0x20000)4. 查看表的狀態(tài)查詢系統(tǒng)目錄視圖以獲得關(guān)于數(shù)據(jù)庫的有用信息。例如,下面的語句使用 NOT LIKE斷言,返回在SYSCAT.TABLES中有項的所有用戶定義的表的名稱,以及每個表的列數(shù)和表的狀態(tài)(N = 正常;C = 待審核(check pen di ng)#db2 select tab name, colco unt, statusFROM syscat.tablesWHERE tabschemaNOT LIKE 'SYS%'ORDER BY tab name也可以使用load query 命令查看單個
7、表的狀態(tài),比如對表TEST1,我們可以發(fā)出如下命令:#db2 load query table testi5. 查看磁盤空間查看數(shù)據(jù)庫活動日志目錄是否已滿,活動日志目錄可以使用 get db cfg 查看,注意一定不要 手工刪除活動日志#df -k查看SMS表空間對應(yīng)的容器目錄空間是否滿了#df -k查看DMS表空間中是否還有可用頁#db2 list tables paces show detail/在單分區(qū)上查看表空間的是否還有可用頁# db2_all list tables paces show detail/在所有分區(qū)上查看表空間是否還有可用頁6. 檢查存儲管理軟件是否正常請檢查TSM或
8、其他存儲管理軟件是否正常,以及磁帶機是否運行正常。7. 檢查數(shù)據(jù)庫備份是否正常請查看TSM或第三方存儲管理軟件,看備份映像文件是否完整的保存到了磁帶機上了,想在DB2上查看備份情況,可以使用LIST命令# db2 list history back up all for數(shù)據(jù)庫名8.檢查歸檔日志是否正確歸檔了請確?;顒尤罩灸夸浵聸]有的日志文件都已經(jīng)正確歸檔到了帶機上(查看TSM或第三方存儲管理軟件)。查看活動目錄里的日志文件:#ls -l9.查看緩沖池的命中率# db2 get snap shot for buffer po ols ondbn ame查看緩沖池的命中率,看其是否低于95% (命
9、中率越高越好)10. 查看當(dāng)前運行最頻繁的 SQL,其命中率是否正常# db2 get snap shot for buffer po ols ondbn ame > log.txt用grep命令查看” Number of executions"執(zhí)行次數(shù)最頻繁的語句,看其命中率是否正常。比如:grep -n ” Number of executi ons" snap.out | grep -v "= 0" | sort -k 5,5r n | more11.查看當(dāng)前連接的應(yīng)用程序,有沒有非法連接#db2 list app licati ons sh
10、ow detail看這些連接的情況,看有沒有不合適的IP連上來,或者不被允許的第三方工具連上來,比如一些第三方工具連上來會對表進行鎖定,影響業(yè)務(wù)系統(tǒng)正常運行, 這個時候可以用 FORCEAPPLICATIONS (應(yīng)用程序句柄)停下來。數(shù)據(jù)庫名 log.txt12.檢查有沒有死鎖# db2 get snap shot for all on用grep命令查看輸出的文件中是否有死鎖的記錄,比如grep -n "Deadlocks detected" log.txt | grep -v "= 0" | more13.對表和索引進行 runstats#db2 r
11、un stats on tabletable nameand in dex allshell腳本自動運行。對系統(tǒng)表以及變化比較頻繁的表運行統(tǒng)計信息,建議寫成14.檢查表是否需要重組使用REORGCHK命令,通過統(tǒng)計數(shù)據(jù)檢查表是否需要重組,語法如下:REORGCHK UP DATE | CURRENT STATISTICS ONTABLE SYSTEM TABLE USER |TABLE ALL | TABLE table_ name | SCHEMA schema_ nameUP DATE STATISTICS :更新表的統(tǒng)計數(shù)據(jù),根據(jù)該統(tǒng)計數(shù)據(jù)判斷是否需要重組表CURRENT STATIST
12、ICS :根據(jù)當(dāng)前表統(tǒng)計數(shù)據(jù)判斷是否需要重組表TABLE table name:對單個表進行分析TABLE ALL :對數(shù)據(jù)庫所有的表進行分析TABLE SYSTEM :對系統(tǒng)表進行分析TABLE USER :對當(dāng)前用戶模式下的所有表進行分析#db2 reorgchk up date statistics on table all15.對需要重組的表進行重組#db2 reorg table 表名/通過重構(gòu)行來消除“碎片”數(shù)據(jù)#db2 reorg in dexes all for table表名 /只重組索引比如:reorg tabledb2 in in dex by_id將根據(jù)索
13、引by_id,如果不加INDEX選項將重組表和所有的索引:reorg tabledb2 in in dex by_id use tempsp ace1使用指定的臨時表空間重組表表重組完成后需要進行 RUNSTATS。另外,記住在分區(qū)數(shù)據(jù)庫環(huán)境中,如果想在所有節(jié)點運行命令,需要使用db2_all命令。DB2日常維護月操作1.查看DB2日志請至少每月查看一次 db2diag.log (在DB2安裝目錄下可搜索該日志文件),看其中是否有異常。2. 檢查備份和日志是否都保存好了通過TSM或第三方存儲管理軟件,查看備份和歸檔日志是否都保存好了,在數(shù)據(jù)庫級別查dbn ame看備份,可以使用:
14、# db2 list history back up all forDB2日常維護季度操作1.通過快照監(jiān)控器,查看系統(tǒng)性能如何通過快照監(jiān)控器,抓取數(shù)據(jù)庫的信息,分析數(shù)據(jù)庫性能是否合理:dbname > log.txt# db2 get snap shot for all on2.數(shù)據(jù)庫補丁級別# db2level四、注意事項1.不要刪除活動日志文件DB2的活動日志文件不能被刪除。一旦DB2的活動日志文件被刪除,或者所在的存儲設(shè)備出現(xiàn)問題,則不可避免地造成DB2數(shù)據(jù)庫系統(tǒng)宕機。2.注意交易日志存儲空間在歸檔日志模式下,如果沒有使用自動歸檔方式,則存儲的日志文件會不斷增多,有可能造成日志所在
15、的文件系統(tǒng)空間滿。當(dāng)這種情況發(fā)生時,會根據(jù)參數(shù) BLK_LOG_DSK_FUL的配置而有不同的現(xiàn)象:1 )如果該參數(shù)啟用,則DB2數(shù)據(jù)庫可繼續(xù)讀操作,但是寫操作會掛起2)如果該參數(shù)沒有啟用,則DB2數(shù)據(jù)庫會停止工作兩種情況下,都需要到日志所在的文件系統(tǒng)添加了空間才恢復(fù)正常。3. 按照系統(tǒng)的實際工作量配置日志空間DB2數(shù)據(jù)庫的日志空間可通過如下DB2數(shù)據(jù)庫通過日志文件維護數(shù)據(jù)的完整性和一致性。公式計算:日志空間(主日志文件 +二級日志文件)*日志文件尺寸其中:主日志文件由參數(shù)LOGP RIMARY 控制,二級日志文件由參數(shù)LOGSECOND 控制日志文件尺寸由參數(shù)LOGFILSIZ 控制LOGP
16、 RIMARY + LOGSECOND < 256(不同的DB2版本略有不同,請參看相同版本的DB2手冊確認)。4. 設(shè)置正確數(shù)據(jù)庫代碼頁由于數(shù)據(jù)庫的代碼頁在數(shù)據(jù)庫創(chuàng)建之后是無法修改的,所以在創(chuàng)建數(shù)據(jù)庫時一定要選擇正確的代碼頁。錯誤的數(shù)據(jù)庫代碼頁會造成JDBC/ODBC 訪問時中文字段被截斷(包括控制中心) 這種情況需要重建數(shù)據(jù)庫以修改數(shù)據(jù)庫代碼頁。從全局規(guī)劃來說,如果應(yīng)用需要訪問多個數(shù)據(jù)庫,那么這多個數(shù)據(jù)庫的代碼頁應(yīng)該是 致的。5.檢查許可證(License )安裝情況許可證過期會造成不必要的服務(wù)中斷,所以在DB2安裝完畢后,建議檢察許可的安裝 情況。6.創(chuàng)建數(shù)據(jù)庫前調(diào)整好系統(tǒng)時間數(shù)據(jù)
17、庫中一些對在數(shù)據(jù)庫創(chuàng)建好之后,調(diào)整系統(tǒng)時間會造成數(shù)據(jù)庫內(nèi)部時間戳的異常。象和時間相關(guān),一旦時間不準(zhǔn)確要調(diào)整需要很小心。錯誤的時間調(diào)整可能會造成很多問題, 如:1)某些對象失效,例如:SQL0440N,找不到具有兼容自變量的類型為“< 例程類型 > ”的名為“ < 例程名 > ”的 已授權(quán)例程2)數(shù)據(jù)庫日志邏輯錯誤-> 宕機3)常見錯誤-只調(diào)整時間,未調(diào)整時區(qū)7.不要隨便執(zhí)行 chown (chmod)-R (UNIX/Linux )在實例目錄下 chow n (chmod) -R 會造成1)在數(shù)據(jù)庫服務(wù)器上db2 connect to <dbname >
18、;能連接上數(shù)據(jù)庫2) db2 connect to <dbn ame > user . using . 連接不上8. 歸檔模式設(shè)置在歸檔日志模式下使用 LOAD記得加NONRECOVERABLE 參數(shù)。五、附:以脫機方式重組表以脫機方式重組表是整理表碎片的最快方法。重組可減少表所需的空間量并提高數(shù)據(jù)訪問和查詢性能。必須具有 SYSADM、SYSCTRL、SYSMAINT 或 DBADM 權(quán)限,或者必須具有對表的CONTROL權(quán)限才能重組表。必須具有數(shù)據(jù)庫連接才能重組表。標(biāo)識需要重組的表之后,可以對這些表運行REORG實用程序,并且可以選擇對在這些表上定義的任何索引運行該實用程序。1
19、. 要使用 CLP重組表,請發(fā)出 REORG TABLE 命令:db2 reorg table test.e mpio yee要使用臨時表空間 myte mp重組表,請輸入:db2 reorg table test.e mpIo yee use myte mp要重組表并根據(jù)索引myin dex 對行進行重新排序,請輸入:db2 reorg table test.e mpio yee in dex myin dex2. 要使用 SQL調(diào)用語句重組表,請使用 ADMIN_CMD 過程發(fā)出 REORG TABLE命令:call sys proc.admin_cmd ('reorg table
20、 empio yee in dex myin dex')3. 要使用DB2管理API重組表,請使用db2REORG API 。在重組表之后,應(yīng)收集有關(guān)表的統(tǒng)計信息,以便優(yōu)化器具有最準(zhǔn)確的數(shù)據(jù)來評估查詢訪問方案。八、附:使用CLP捕獲數(shù)據(jù)庫運行狀況快照可從CLP使用GET HEALTH SNAPSHOT 命令來捕獲運行狀況快照。該命令語法支 持檢索運行狀況監(jiān)視器監(jiān)視的不同對象類型的運行狀況快照信息。先決條件必須具有實例連接才能捕獲運行狀況快照。如果沒有實例連接,則創(chuàng)建缺省實例連接。要獲取遠程實例的快照,必須先連接至該實例。過程要使用CLP捕獲數(shù)據(jù)庫運行狀況快照1.從CLP發(fā)出帶有期望參數(shù)
21、的 GET HEALTH SNAPSHOT 命令。在以下示例中,將在啟動數(shù)據(jù)庫管理器之后立即捕獲數(shù)據(jù)庫管理器級別運行狀況快照。db2 get health snap shot for dbm2.對于分區(qū)數(shù)據(jù)庫系統(tǒng),可為特定分區(qū)捕獲專門的數(shù)據(jù)庫快照,或者為所有分區(qū)捕獲全局的數(shù)據(jù)庫快照。要對特定分區(qū)(如分區(qū)號2)上的數(shù)據(jù)庫捕獲運行狀況快照,請發(fā)出以下命令:db2 get health snap shot for db ondbn ame at dbp artitio nnum 2要對所有分區(qū)上的所有應(yīng)用程序捕獲數(shù)據(jù)庫快照,請發(fā)出以下命令:dbn ame globaldb2 get health s
22、nap shot for db on以下命令捕獲的運行狀況快照帶有附加詳細信息,包括公式、附加信息和運行狀況指示器歷史記錄:db2 get health snap shot for db ondbn ame show detail3.對于基于集合狀態(tài)的運行狀況指示器,可對所有集合對象捕獲數(shù)據(jù)庫快照,而不考慮這些對象的狀態(tài)。常規(guī) GET HEALTH SNA PSHOT FOR DB命令返回所有集合對象,這些對象需要針對所有基于集合狀態(tài)的運行狀況指示器的警報。dbn ame with full collecti on要對列示了所有集合對象的數(shù)據(jù)庫捕獲運行狀況快照,請發(fā)出以下命令:db2 get
23、health snap shot for db on七、附:IBM DB2 常用命令命令行窗口1.#打開命令行窗口2.db2cmd3.#打開控制中心4.db2cmd db2cc5.#打開命令編輯器6.db2cmd db2ce操作數(shù)據(jù)庫命令1.#啟動數(shù)據(jù)庫實例2.db2start3.#停止數(shù)據(jù)庫實例4.db2st op5.如果你不能停止數(shù)據(jù)庫由于激活的連接,在運行db2stop前執(zhí)行就可以了db2 force app licati on all6.#創(chuàng)建數(shù)據(jù)庫7.db2 create db db name8.#連接到數(shù)據(jù)庫9.db2 connect to db name user user na
24、me using p assword10. #斷開數(shù)據(jù)庫連接11. db2 connect reset12. #列出所有數(shù)據(jù)庫13. db2 list db directory14. #列出所有激活的數(shù)據(jù)庫15. db2 list active databases16. #列出所有數(shù)據(jù)庫配置17. db2 get db cfg18. #刪除數(shù)據(jù)庫19. db2 drop database dbname操作數(shù)據(jù)表命令1. #列出所有用戶表2. db2 list tables3. #列出所有系統(tǒng)表4.5.#列出所有表6.db2 list tables for all7.#列出系統(tǒng)表8.db2 li
25、st tables for system9.#列出用戶表10.db2 list tables for user11.#列出特定用戶表12.db2 list tables for schema user13.db2 list tables for systemdb2 get dbm cfg14.#創(chuàng)建一個與數(shù)據(jù)庫中某個表(t2)結(jié)構(gòu)相同的新表(t1)15.db2 create table t1 like t216.17.#查詢表18.19.#顯示表結(jié)構(gòu)db2 "select * from table n ame where ."20.21.#修改列db2 describe t
26、able table name22.db2 alter table table name alter colu mn colu mn ame set data type varchar(24)腳本文件操作命令1. #執(zhí)行腳本文件2. db2 -tvf scri pts.sql幫助命令1.#查看命令幫助2.db2 ? db2start3.#查看錯誤碼信息4.db2 ? 22001DB2常用命令I(lǐng)I啟動數(shù)據(jù)庫db2start停止數(shù)據(jù)庫db2st op連接數(shù)據(jù)庫db2 connect too_yd user db2 using pwd4 .讀數(shù)據(jù)庫管理程序配置參數(shù)名參數(shù)值5 .寫數(shù)據(jù)庫管理程序配置d
27、b2 up date dbm cfg using6.讀數(shù)據(jù)庫的配置db2 connect to o_yd user db2 using pwddb2 get db cfg for o_yd寫數(shù)據(jù)庫的配置參數(shù)名參數(shù)值db2 connect to o_yd user db2 using pwddb2 up date db cfg for o_yd using關(guān)閉所有應(yīng)用連接db2 force app licati on alldb2 force appi ication ID1,ID2,ld n MODE ASYNC(db2 list app licati on for db o_yd show
28、detail)備份數(shù)據(jù)庫db2 force app licati on alldb2 back up db o_yd to d:(db2 in itialize tape on .ta peO)(db2 rewind tape on .ta pe0)db2 back up db o_yd to.tapeO10 .恢復(fù)數(shù)據(jù)庫db2 restore db o_yd from d: to d:db2 restore db o_yd from .ta peO to d:11 .綁定存儲過程db2 connect to o_yd user db2 using pwddb2 bind c:dfplus.b
29、 nd拷貝存儲過程到服務(wù)器上的C:sqllibfu nctio n 目錄中12 .整理表db2 connect to o_yd user db2 using pwddb2 reorg table ydddb2 run stats on table ydd with distributi on and in dexes alldb2 export to c:sw.txt of del select * from dftzdb2 export to c:sw.ixf of ixf select * from dftz13 導(dǎo)出表數(shù)據(jù)3. db2 => alter table news alt
30、er AUTHOR set data type varchar(250 )14 .導(dǎo)入表數(shù)據(jù)db2 import from c:sw.txt of del in sert into ylbx.czyxx5000 messages c:dftz.msg insert idb2 import to c:sw.txt of del commitco untnto dftzdb2 import to c:dftz.ixf of ixf commitco unt 5000 messagesc:dftz.msg in sert into dftzdb2 import to c:dftz.ixf of ixf commitco unt 5000 insert into dftzdb2 import to c:dftz.ixf of ixf commitco unt 5000 in sert_ up date into dftzdb2 import to c:dftz.ixf of i
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 隴南固化地面施工方案
- 混凝土底板無縫施工方案
- 墻體裂縫修繕方案范本
- 細部平整施工方案
- 2025年神奇腦動力測試題及答案
- cma檢測證書申請條件
- 4年級上冊數(shù)學(xué)第五單元重要知識點
- 屋面貼磚施工方案
- 習(xí)作:一個好地方 課件-【知識精研】統(tǒng)編版四年級語文上冊
- 2025年韶關(guān)學(xué)院單招職業(yè)技能測試題庫一套
- 某公司風(fēng)電項目開發(fā)前期工作流程圖
- GB 18265-2019危險化學(xué)品經(jīng)營企業(yè)安全技術(shù)基本要求
- 作業(yè)層隊伍建設(shè)重點業(yè)務(wù)課件
- DB31T 685-2019 養(yǎng)老機構(gòu)設(shè)施與服務(wù)要求
- 二年級下冊美術(shù)教案-第5課 美麗的花園|嶺南版
- 人類進化史精品課件
- 魯濱遜漂流記讀后感PPT
- 總包單位向門窗單位移交門窗安裝工程工作面交接單
- 設(shè)備供貨安裝方案(通用版)
- 公開招聘社區(qū)居委專職工作人員考試筆試、面試題集及相關(guān)知識(11套試題含答案)
- 中國藥膳理論與實踐-藥膳基本理論和技能
評論
0/150
提交評論