




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、捷達世軟件(深圳)有限公司DB2日常維護手冊目錄DB2日常維護手冊- 1 -一、DB2日常維護操作- 1 -1.檢查管理服務器是否啟動- 1 -2.檢查DB2實例是否已經啟動- 1 -3.查看表空間狀態是否正常- 1 -4.查看表的狀態- 2 -5.查看磁盤空間- 2 -6.檢查存儲管理軟件是否正常- 2 -7.檢查數據庫備份是否正常- 2 -8.檢查歸檔日志是否正確歸檔了- 3 -9.查看緩沖池的命中率- 3 -10.查看當前運行最頻繁的SQL,其命中率是否正常- 3 -11.查看當前連接的應用程序,有沒有非法連接- 3 -12.檢查有沒有死鎖- 3 -13.對表和索引進行runstats-
2、 3 -14.檢查表是否需要重組- 4 -15.對需要重組的表進行重組- 4 -二、DB2日常維護月操作- 4 -1.查看DB2日志- 4 -2.檢查備份和日志是否都保存好了- 4 -三、DB2日常維護季度操作- 5 -1.通過快照監控器,查看系統性能如何- 5 -2.數據庫補丁級別- 5 -四、注意事項- 5 -1.不要刪除活動日志文件- 5 -2.注意交易日志存儲空間- 5 -3.按照系統的實際工作量配置日志空間- 5 -4.設置正確數據庫代碼頁- 6 -5.檢查許可證(License)安裝情況- 6 -6.創建數據庫前調整好系統時間- 6 -7.不要隨便執行 chown (chmod)
3、R (UNIX/Linux)- 6 -8.歸檔模式設置- 6 -五、附:以脫機方式重組表- 7 -六、附:使用 CLP 捕獲數據庫運行狀況快照- 7 -七、附:IBM DB2常用命令- 8 -IIDB2日常維護手冊一、 DB2日常維護操作1. 檢查管理服務器是否啟動用ps命令查看是否有dasusr1后臺進程ps -ef | dasusr1請確保管理服務器已經啟動,如果沒有啟動,則按以下步驟啟動管理服務器:以管理服務器用戶(UNIX默認是DASUSR1)登錄發出db2admin start命令如果是HA環境,則要保證在腳本中正確配置了啟動命令2. 檢查DB2實例是否已經啟動用ps命令查看是否有d
4、b2sysc后臺進程ps -ef | db2sysc也可以以DB2實例所有者登錄,通過發出db2start命令來確保啟動了實例(如果實例已經啟動,則會告知SQL1026N 數據庫管理器已激活;否則,將把實例啟動起來)3. 查看表空間狀態是否正常以db2實例所有者登錄#db2 list tablespaces show detail /在單分區上查看表空間的狀態,正常返回0x0000# db2_all list tablespaces show detail /在所有分區上查看表空間的狀態可以使用LIST TABLESPACES 命令確定連接數據庫中表空間的當前狀態,可以使用SHOW DETAI
5、L選項查看表空間的詳細信息。比如,我們連上SAMPLE數據庫,執行list tablespaces show detail ,可以看到狀態返回值是0x0000,此時,使用db2tbst可以查看狀態編號對于的狀態含義,具體語法如下:db2tbst <tablespace state>可以查看編號所代表的狀態db2tbst 命令接收十六進制的狀態值,并返回相應的表空間狀態。例如,命令 db2tbst 0x0008 返回 State = Load Pending 。而該十六進制的狀態值反過來又是 LIST TABLESPACES 命令輸出的組成部分。表空間的外部可見狀態是由單個狀態值的十
6、六進制總和構成的。例如,如果表空間的狀態是 Backup Pending和 Load in Progress,那么所返回的十六進制值就是 0x20020(0x00020 + 0x20000)4. 查看表的狀態查詢系統目錄視圖以獲得關于數據庫的有用信息。例如,下面的語句使用 NOT LIKE 斷言,返回在 SYSCAT.TABLES 中有項的所有用戶定義的表的名稱,以及每個表的列數和表的狀態(N = 正常;C = 待審核(check pending)#db2 select tabname, colcount, status FROM syscat.tables WHERE tabschema N
7、OT LIKE 'SYS%' ORDER BY tabname也可以使用load query命令查看單個表的狀態,比如對表TEST1,我們可以發出如下命令:#db2 load query table test15. 查看磁盤空間查看數據庫活動日志目錄是否已滿,活動日志目錄可以使用get db cfg查看,注意一定不要手工刪除活動日志#df -k查看SMS表空間對應的容器目錄空間是否滿了#df -k查看DMS表空間中是否還有可用頁#db2 list tablespaces show detail /在單分區上查看表空間的是否還有可用頁# db2_all list tablespa
8、ces show detail /在所有分區上查看表空間是否還有可用頁6. 檢查存儲管理軟件是否正常請檢查TSM或其他存儲管理軟件是否正常,以及磁帶機是否運行正常。7. 檢查數據庫備份是否正常請查看TSM或第三方存儲管理軟件,看備份映像文件是否完整的保存到了磁帶機上了,想在DB2上查看備份情況,可以使用LIST命令# db2 list history backup all for 數據庫名8. 檢查歸檔日志是否正確歸檔了請確保活動日志目錄下沒有的日志文件都已經正確歸檔到了帶機上(查看TSM或第三方存儲管理軟件)。查看活動目錄里的日志文件:#ls -l9. 查看緩沖池的命中率# db2 get
9、snapshot for bufferpools on dbname查看緩沖池的命中率,看其是否低于95%(命中率越高越好)10. 查看當前運行最頻繁的SQL,其命中率是否正常# db2 get snapshot for bufferpools on dbname > log.txt用grep命令查看" Number of executions"執行次數最頻繁的語句,看其命中率是否正常。比如:grep -n " Number of executions" snap.out | grep -v "= 0" | sort -k 5,
10、5rn | more 11. 查看當前連接的應用程序,有沒有非法連接#db2 list applications show detail 看這些連接的情況,看有沒有不合適的IP連上來,或者不被允許的第三方工具連上來,比如一些第三方工具連上來會對表進行鎖定,影響業務系統正常運行,這個時候可以用FORCE APPLICATIONS (應用程序句柄)停下來。12. 檢查有沒有死鎖# db2 get snapshot for all on 數據庫名> log.txt用grep命令查看輸出的文件中是否有死鎖的記錄,比如grep -n "Deadlocks detected" l
11、og.txt | grep -v "= 0" | more 13. 對表和索引進行runstats#db2 runstats on table tablename and index all對系統表以及變化比較頻繁的表運行統計信息,建議寫成shell腳本自動運行。14. 檢查表是否需要重組使用REORGCHK命令,通過統計數據檢查表是否需要重組,語法如下:REORGCHK UPDATE | CURRENT STATISTICS ON TABLE SYSTEM| TABLE USER | TABLE ALL | TABLE table_name | SCHEMA schema
12、_nameUPDATE STATISTICS:更新表的統計數據,根據該統計數據判斷是否需要重組表CURRENT STATISTICS:根據當前表統計數據判斷是否需要重組表TABLE table_name :對單個表進行分析TABLE ALL:對數據庫所有的表進行分析TABLE SYSTEM:對系統表進行分析TABLE USER :對當前用戶模式下的所有表進行分析#db2 reorgchk update statistics on table all15. 對需要重組的表進行重組#db2 reorg table 表名 /通過重構行來消除“碎片”數據#db2 reorg indexes all f
13、or table 表名 /只重組索引比如:reorg table index by_id將根據索引by_id,如果不加INDEX選項將重組表和所有的索引:reorg table index by_id use tempspace1使用指定的臨時表空間重組表表重組完成后需要進行RUNSTATS。另外,記住在分區數據庫環境中,如果想在所有節點運行命令,需要使用db2_all命令。二、 DB2日常維護月操作1. 查看DB2日志請至少每月查看一次db2diag.log(在DB2安裝目錄下可搜索該日志文件),看其中是否有異常。2. 檢查備份和日志是否都
14、保存好了通過TSM或第三方存儲管理軟件,查看備份和歸檔日志是否都保存好了,在數據庫級別查看備份,可以使用:# db2 list history backup all for dbname三、 DB2日常維護季度操作1. 通過快照監控器,查看系統性能如何通過快照監控器,抓取數據庫的信息,分析數據庫性能是否合理:# db2 get snapshot for all on dbname> log.txt2. 數據庫補丁級別# db2level四、 注意事項1. 不要刪除活動日志文件DB2 的活動日志文件不能被刪除。一旦 DB2 的活動日志文件被刪除,或者所在的存儲設備出現問題,則不可避免地造成
15、 DB2 數據庫系統宕機。2. 注意交易日志存儲空間在歸檔日志模式下,如果沒有使用自動歸檔方式,則存儲的日志文件會不斷增多,有可能造成日志所在的文件系統空間滿。當這種情況發生時,會根據參數 BLK_LOG_DSK_FUL 的配置而有不同的現象:1)如果該參數啟用,則 DB2 數據庫可繼續讀操作,但是寫操作會掛起2)如果該參數沒有啟用,則 DB2 數據庫會停止工作兩種情況下,都需要到日志所在的文件系統添加了空間才恢復正常。3. 按照系統的實際工作量配置日志空間DB2數據庫通過日志文件維護數據的完整性和一致性。DB2 數據庫的日志空間可通過如下公式計算:日志空間 = (主日志文件 + 二級日志文件
16、) * 日志文件尺寸其中:1)主日志文件由參數 LOGPRIMARY 控制,2)二級日志文件由參數 LOGSECOND 控制3)日志文件尺寸由參數 LOGFILSIZ 控制4) LOGPRIMARY + LOGSECOND < 256 (不同的 DB2 版本略有不同,請參看相同版本的 DB2 手冊確認)。4. 設置正確數據庫代碼頁由于數據庫的代碼頁在數據庫創建之后是無法修改的,所以在創建數據庫時一定要選擇正確的代碼頁。錯誤的數據庫代碼頁會造成 JDBC/ODBC 訪問時中文字段被截斷(包括控制中心),這種情況需要重建數據庫以修改數據庫代碼頁。從全局規劃來說,如果應用需要訪問多個數據庫,那
17、么這多個數據庫的代碼頁應該是一致的。5. 檢查許可證(License)安裝情況許可證過期會造成不必要的服務中斷,所以在 DB2 安裝完畢后,建議檢察許可的安裝情況。6. 創建數據庫前調整好系統時間在數據庫創建好之后,調整系統時間會造成數據庫內部時間戳的異常。數據庫中一些對象和時間相關,一旦時間不準確要調整需要很小心。錯誤的時間調整可能會造成很多問題,如:1) 某些對象失效,例如:SQL0440N,找不到具有兼容自變量的類型為“<例程類型>”的名為“<例程名>”的已授權例程2) 數據庫日志邏輯錯誤 ->宕機3) 常見錯誤只調整時間,未調整時區7. 不要隨便執行 ch
18、own (chmod) R (UNIX/Linux)在實例目錄下chown (chmod) -R 會造成1)在數據庫服務器上 db2 connect to <dbname>能連接上數據庫2) db2 connect to <dbname> user . using .連接不上8. 歸檔模式設置在歸檔日志模式下使用LOAD記得加NONRECOVERABLE參數。五、 附:以脫機方式重組表以脫機方式重組表是整理表碎片的最快方法。重組可減少表所需的空間量并提高數據訪問和查詢性能。必須具有 SYSADM、SYSCTRL、SYSMAINT 或 DBADM 權限,或者必須具有對表的
19、 CONTROL 權限才能重組表。必須具有數據庫連接才能重組表。標識需要重組的表之后,可以對這些表運行 REORG 實用程序,并且可以選擇對在這些表上定義的任何索引運行該實用程序。1. 要使用 CLP 重組表,請發出 REORG TABLE 命令:db2 reorg table test.employee要使用臨時表空間 mytemp 重組表,請輸入:db2 reorg table test.employee use mytemp要重組表并根據索引 myindex 對行進行重新排序,請輸入:db2 reorg table test.employee index myindex2. 要使用 SQ
20、L 調用語句重組表,請使用 ADMIN_CMD 過程發出 REORG TABLE 命令:call sysproc.admin_cmd ('reorg table employee index myindex')3. 要使用 DB2 管理 API 重組表,請使用 db2REORG API。在重組表之后,應收集有關表的統計信息,以便優化器具有最準確的數據來評估查詢訪問方案。六、 附:使用 CLP 捕獲數據庫運行狀況快照可從 CLP 使用 GET HEALTH SNAPSHOT 命令來捕獲運行狀況快照。該命令語法支持檢索運行狀況監視器監視的不同對象類型的運行狀況快照信息。先決條件必須
21、具有實例連接才能捕獲運行狀況快照。如果沒有實例連接,則創建缺省實例連接。要獲取遠程實例的快照,必須先連接至該實例。過程要使用 CLP 捕獲數據庫運行狀況快照1. 從 CLP 發出帶有期望參數的 GET HEALTH SNAPSHOT 命令。在以下示例中,將在啟動數據庫管理器之后立即捕獲數據庫管理器級別運行狀況快照。db2 get health snapshot for dbm2. 對于分區數據庫系統,可為特定分區捕獲專門的數據庫快照,或者為所有分區捕獲全局的數據庫快照。要對特定分區(如分區號 2)上的數據庫捕獲運行狀況快照,請發出以下命令:db2 get health snapshot for
22、 db on dbname at dbpartitionnum 2要對所有分區上的所有應用程序捕獲數據庫快照,請發出以下命令:db2 get health snapshot for db on dbname global以下命令捕獲的運行狀況快照帶有附加詳細信息,包括公式、附加信息和運行狀況指示器歷史記錄:db2 get health snapshot for db on dbname show detail3. 對于基于集合狀態的運行狀況指示器,可對所有集合對象捕獲數據庫快照,而不考慮這些對象的狀態。常規 GET HEALTH SNAPSHOT FOR DB 命令返回所有集合對象,這些對象需
23、要針對所有基于集合狀態的運行狀況指示器的警報。要對列示了所有集合對象的數據庫捕獲運行狀況快照,請發出以下命令:db2 get health snapshot for db on dbname with full collection七、 附:IBM DB2常用命令 命令行窗口 1. #打開命令行窗口 2. db2cmd 3. #打開控制中心 4. db2cmd db2cc 5. #打開命令編輯器 6. db2cmd db2ce 操作數
24、據庫命令1. #啟動數據庫實例 2. db2start 3. #停止數據庫實例 4. db2stop 5. 如果你不能停止數據庫由于激活的連接,在運行db2stop前執行db2 force application all就可以了 6. #創建數據庫 7. db2 create db dbname 8. #連接到數據庫 9. db2 co
25、nnect to dbname user username using password 10. #斷開數據庫連接 11. db2 connect reset 12. #列出所有數據庫 13. db2 list db directory 14. #列出所有激活的數據庫 15. db2 list active dat
26、abases 16. #列出所有數據庫配置 17. db2 get db cfg 18. #刪除數據庫 19. db2 drop database dbname #啟動數據庫實例db2start#停止數據庫實例db2stop如果你不能停止數據庫由于激活的連接,在運行db2stop前執行db2 force application all就可以了#創建數據庫db2 create db dbname#連接到數據庫db2 co
27、nnect to dbname user username using password#斷開數據庫連接db2 connect reset#列出所有數據庫db2 list db directory#列出所有激活的數據庫db2 list active databases#列出所有數據庫配置db2 get db cfg#刪除數據庫db2 drop database dbname操作數據表命令 1. #列出所有用戶表 2. db2 list tables 3. #列出所有系統表 4. db2 lis
28、t tables for system 5. #列出所有表 6. db2 list tables for all 7. #列出系統表 8. db2 list tables for system 9. #列出用戶表 10. db2 list tables for user 11. #
29、列出特定用戶表 12. db2 list tables for schema user 13. 14. #創建一個與數據庫中某個表(t2)結構相同的新表(t1) 15. db2 create table t1 like t2 16. 17. #查詢表 18. db2 "select * fr
30、om table name where ." 19. #顯示表結構 20. db2 describe table tablename 21. #修改列 22. db2 alter table tablename alter column columname set data type varchar(24)
31、60;腳本文件操作命令 1. #執行腳本文件 2. db2 -tvf scripts.sql 幫助命令 1. #查看命令幫助 2. db2 ? db2start 3. #查看錯誤碼信息 4. db2 ? 22001 DB2 常用命令 II 1 啟動數據庫 db2start
32、;2 停止數據庫 db2stop 3 連接數據庫 db2 connect to o_yd user db2 using pwd4 讀數據庫管理程序配置 db2 get dbm cfg 5 寫數據庫管理程序配置 db2 update dbm cfg using 參數名 參數值&
33、#160;6 讀數據庫的配置 db2 connect to o_yd user db2 using pwd db2 get db cfg for o_yd 7 寫數據庫的配置 db2 connect to o_yd user d
34、b2 using pwd db2 update db cfg for o_yd using 參數名 參數值 8 關閉所有應用連接 db2 force application all db2 force application ID1,ID2,Idn
35、 MODE ASYNC (db2 list application for db o_yd show detail) 9 備份數據庫 db2 force application all db2 backup db o_yd to d: &
36、#160; (db2 initialize tape on .tape0) (db2 rewind tape on .tape0) db2 backup db o_yd to .tape0 10恢復數據庫 db2 restore&
37、#160;db o_yd from d: to d: db2 restore db o_yd from .tape0 to d: 11綁定存儲過程 db2 connect to o_yd user db2 using pwd
38、;db2 bind c:dfplus.bnd 拷貝存儲過程到服務器上的C:sqllibfunction目錄中 12整理表 db2 connect to o_yd user db2 using pwd db2 reorg table ydd db2
39、160;runstats on table ydd with distribution and indexes all 13導出表數據 db2 export to c:sw.txt of del select * from dftz db2 export to c:sw.ixf of&
40、#160;ixf select * from dftz 14導入表數據 db2 import from c:sw.txt of del insert into ylbx.czyxx db2 import to c:sw.txt of del commitcount 5000
41、160;messages c:dftz.msg insert into dftz db2 import to c:dftz.ixf of ixf commitcount 5000 messages c:dftz.msg insert into dftz db2 import to c:dftz.ix
42、f of ixf commitcount 5000 insert into dftz db2 import to c:dftz.ixf of ixf commitcount 5000 insert_update into dftz db2 import to c:dftz.ixf of ixf
43、;commitcount 5000 replaceinto dftz db2 import to c:dftz.ixf of ixf commitcount 5000 create into dftz(僅IXF) db2 import to c:dftz.ixf of ixf commitcount 5000
44、160;replace_create into dftz(僅IXF) 15執行一個批處理文件 db2 tf 批處理文件名 (文件中每一條命令用 ;結束) 16自動生成批處理文件 建文本文件:temp.sql select
45、160;'runstats on table DB2.' | tabname | ' with distributionand detailed indexes all;' from syscat.tables wheretabschema='DB2' and type='T' db2 tf temp.sql>
46、runstats.sql 17自動生成建表(視圖)語句 在服務器上:C:sqllibmisc目錄中 db2 connect to o_yd user db2 using pwd db2look d o_yd u db2 e p c c:o_yd.
47、txt db2look -d lys -e -a -x -i db2admin -o c:aa.txt 18其他命令 grant dbadm on database to user bb select *
48、60;from czyxx fetch first 1 rows only db2look d lys u db2admin w asd -a e o c:mytable.txt 2 停止數據庫 db2stop 3 連接數據庫 db2 connect to o_yd user db2 using pwd 4 讀數據庫管理程序配置 db2 get dbm cfg 5 寫數據庫管理程序配置 db2 update dbm cfg u
49、sing 參數名 參數值 6 讀數據庫的配置 db2 connect to o_yd user db2 using pwd db2 get db cfg for o_yd 7 寫數據庫的配置 db2 connect to o_yd user db2 using pwd db2 update db cfg for o_yd using 參數名 參數值 8 關閉所有應用連接 db2 force application all db2 force application ID1,ID2,Idn MODE ASYNC (db2 list application for db o_yd show det
50、ail) 9 備份數據庫 db2 force application all db2 backup db o_yd to d: (db2 initialize tape on .tape0) (db2 rewind tape on .tape0) db2 backup db o_yd to .tape0 10 恢復數據庫 db2 restore db o_yd from d: to d: db2 restore db o_yd from .tape0 to d: 11 綁定存儲過程 db2 connect to o_yd user db2 using pwd db2 bind c:dfplus
51、.bnd 拷貝存儲過程到服務器上的C:sqllibfunction目錄中 12 整理表 db2 connect to o_yd user db2 using pwd db2 reorg table ydd db2 runstats on table ydd with distribution and indexes all 13 導出表數據 db2 export to c:sw.txt of del select * from dftz db2 export to c:sw.ixf of ixf select * from dftz 14 導入表數據 db2 import from c:sw.txt of del insert into ylbx.czyxx db2 import to c:sw.txt of del commitcount 5000 messages c:dftz.msg insert into dftz db2 import to c:dftz.ixf of ixf commitcount 5000 messages c:dftz.msg insert into dftz db2 import to c:dftz.ixf of ixf commitcount 5000 insert into dftz
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 五人股協議合同樣本
- 冷庫設備購銷合同標準文本
- 中軟國際勞務合同樣本
- 冷水機組維修合同標準文本
- 不同砧木對藜蒿營養物質的影響及類黃酮合成調控機制初探
- 制作搭建合同標準文本
- 養牛牧業養殖合同范本
- 別墅業主噴漆合同標準文本
- 供應學校豬肉合同樣本
- 代理公司投資合同樣本
- 2025-2030年中國CAE軟件行業市場行情監測及發展前景研判報告
- 術前討論制度課件
- 2025-2030中國工程造價咨詢行業市場深度調研及競爭格局與投資研究報告
- 購物卡采購合同
- 2025年光伏項目勞務分包合同模板
- 2024福建省能源石化集團有限責任公司秋季社會招聘120人筆試參考題庫附帶答案詳解
- 2025年四川省對口招生(農林牧漁類)《農業經營與管理》考試復習題庫(含答案)
- 腦心健康管理師的學習匯報
- 國開電大軟件工程形考作業3參考答案
- 國家開放大學《會計學概論》形考任務1-4參考答案
- B+WASI網關使用手冊-第10章節
評論
0/150
提交評論