版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、母版題樣式DB2數(shù)據(jù)庫管理2022-7-3浪潮軟件21232基本概念監(jiān)控與維護(hù)備份與恢復(fù)目錄4性能優(yōu)化5常見問題處理31基本概念n1.1 DB2數(shù)據(jù)庫對象n1.2 對象層次關(guān)系4lDB2數(shù)據(jù)庫體系系統(tǒng)實(shí)例數(shù)據(jù)庫l數(shù)據(jù)庫對象表、視圖、索引、模式、存儲過程、程序包等緩沖池、日志文件、表空間物理存儲、表空間容器、目錄、文件系統(tǒng)或裸設(shè)備n1.1 DB2數(shù)據(jù)庫對象5基本概念DB2體系結(jié)構(gòu)中的最高一層是系統(tǒng),一個系統(tǒng)表示DB2的一個安裝。在由很多機(jī)器組成的網(wǎng)絡(luò)環(huán)境中,我們有時也稱系統(tǒng)為數(shù)據(jù)庫分區(qū)。一個系統(tǒng)可以包含多個DB2實(shí)例,每個實(shí)例能夠管理一個或多個數(shù)據(jù)庫。從操作系統(tǒng)角度看,DB2的實(shí)例是一組進(jìn)程和一
2、組共享內(nèi)存。實(shí)例為一個數(shù)據(jù)庫的集合,共同運(yùn)行在一個邏輯服務(wù)單元中(同一個端口)。在一臺機(jī)器上可以有多個相互獨(dú)立的實(shí)例,實(shí)例之間彼此獨(dú)立,同時運(yùn)行,不會相互影響。每個實(shí)例可以管理若干個數(shù)據(jù)庫,一個數(shù)據(jù)庫只屬于一個實(shí)例。表空間是介于邏輯表和物理容器之間的邏輯對象,所有的表、索引和其他數(shù)據(jù)都存儲在表空間中,表空間總是關(guān)聯(lián)到相同頁大小的緩沖池視圖是虛擬的表,不需要物理存儲,不包含真實(shí)的用戶物理數(shù)據(jù)6系統(tǒng)、實(shí)例、數(shù)據(jù)庫7n1.2 對象層次關(guān)系DB2中的數(shù)據(jù)庫對象主要分為數(shù)據(jù)庫、表空間、表、索引、視圖、容器(存儲組)。右圖全局概要描述了各個對象在DB2中的關(guān)系。82監(jiān)控與維護(hù)n2.1 監(jiān)控工具n2.2 監(jiān)
3、控要點(diǎn)n2.3 第三方監(jiān)控工具9即時監(jiān)控工具-snapshot-db2pd-db2top事件監(jiān)控工具 Event monitor 新事件監(jiān)控工具(9.7)n2.1 監(jiān)控工具10snapshot需要打開實(shí)例級監(jiān)控器開關(guān),有一定性能損耗-snapshot命令行監(jiān)控-snapshot管理視圖(DB2V9后)管理視圖較容易分析,通常用于查找存在性能問題的動態(tài)sqldb2pd不需要建立與數(shù)據(jù)庫的連接,基本不會對系統(tǒng)造成影響常用參數(shù),以下參數(shù)常組合使用,導(dǎo)出文件進(jìn)行分析-appl 應(yīng)用程序-bufferpool 緩沖池信息-logs 日志信息-tablespaces 表空間信息-locks 鎖信息-age
4、nts 代理信息-dynamic 動態(tài)sql信息-tcbstats 表狀態(tài)信息11db2pd常用方法常用方法用途一用途一 抓取鎖信息,進(jìn)行分析抓取鎖信息,進(jìn)行分析db2pd d dbname app tran agent dyn locks waitdb2pd.out分析db2pd.out第一步第一步-sts列 W表示等待 G代表被授權(quán)獲得鎖 12第二步第二步由第一步輸出中的TranHdl對應(yīng)到應(yīng)用的AppHandl。得到TranHdl 2和6 分別對應(yīng)到應(yīng)用的AppHandl 30和34 第三步第三步獲得應(yīng)用程序的更多信息C-AnchID/C-StmtUID 和L-AnchID/L-Stmt
5、UID 上。“C” 代表當(dāng)前(current),“L” 代表最近(last)的語句 UID13第四步檢查動態(tài)語句緩存的內(nèi)容第四步檢查動態(tài)語句緩存的內(nèi)容經(jīng)分析得出鎖等待的語句為UPDATE EMPLOYEE SET SALARY = SALARY * 0.02擁有鎖的APP的語句為UPDATE EMPLOYEE SET BONUS = SALARY * 0.1 WHERE JOB = MANAGER14用途二用途二 查看表重組進(jìn)度查看表重組進(jìn)度db2pd d dbname reorg 用途四用途四 查看查看HADR同步狀態(tài)同步狀態(tài)15db2topdb2top 監(jiān)視實(shí)用程序快速高效地監(jiān)視復(fù)雜的DB
6、2環(huán)境。它結(jié)合來自所有數(shù)據(jù)庫分區(qū)的 DB2 快照信息,使用基于文本的用戶界面提供正在運(yùn)行的 DB2 系統(tǒng)的動態(tài)實(shí)時視圖。db2top不支持上下滾屏,一般用于了解表空間狀態(tài),緩沖池命中率,app執(zhí)行 sql,了解處于鎖等待狀態(tài)的應(yīng)用。進(jìn)而用db2pd等工具分析示例:db2top d dbname 169.7新的鎖事件監(jiān)控新的鎖事件監(jiān)控Lock timeout events (MON_LOCKTIMEOUT) = hist_and_valuesDeadlock events (MON_DEADLOCK) = hist_and_valuesLock wait events (MON_LOCKWAIT
7、) = hist_and_valuesLock wait event threshold (MON_LW_THRESH) = 10000create event monitor lockevmon for locking write to unformattedevent table (table locks)Call sysproc.EVMON_FORMAT_UE_TO_TABLES(LOCKING,NULL,NULL,NULL,NULL,NULL,RECREATE_FORCE,-1,SELECT* FROM locks ORDER BY event_timestamp)只需用一個事件監(jiān)控器
8、就可捕獲死鎖、鎖超時、鎖等的語句 17日常監(jiān)控日常監(jiān)控l 數(shù)據(jù)庫狀態(tài)l 表空間狀態(tài)、使用率l applications狀態(tài)l 鎖情況l 性能指標(biāo)常用性能指標(biāo)常用性能指標(biāo)l 讀有效性rows_read/rows_selectedl 尋找性能較差的動態(tài)SQLl Buffpool命中率n2.2 監(jiān)控要點(diǎn)18數(shù)據(jù)庫狀態(tài)db2 get snapshot for db on dbname表空間狀態(tài)及占用率db2 get snapshot for tablespaces on dbnamedb2pd d dbname tabdb2top d dbname 出現(xiàn)界面后按t緩沖池命中率db2pd d dbnam
9、e bufdb2top d dbname 出現(xiàn)界面后按b是否有鎖等待db2pd d dbname locks waitdb2top d dbname 出現(xiàn)界面后按U日常監(jiān)控19l 讀有效性rows_read/rows_selecteddb2 get snapshot for db on dbname:Rows read /Rows selected管理視圖查詢管理視圖查詢:select rows_read/rows_selected from sysibmadm.snapdb;對于OLTP,最好小于20對于OLAP,最好小于100 當(dāng)讀有效性值較高時,表示可能在發(fā)生表掃描,可通過索引等手段進(jìn)行
10、優(yōu)化 l 找到性能較差的dynamic SQL語句 通過Sysibmadm.snapdyn_sql視圖,根據(jù)不同字段進(jìn)行排序,找到性能較差的SQL語句排序較多的排序較多的sqlselect num_executions,sort_overflows,total_sort_time,stmt_text from sysibmadm.snapdyn_sql order by sort_overflows desc fetch first 10 rows only;執(zhí)行耗時最長的執(zhí)行耗時最長的sql select num_executions,total_exec_time,stmt_text fr
11、om sysibmadm.snapdyn_sql order by total_exec_time desc fetch first 10 rows only;常用性能指標(biāo)20db2advis建議索引工具建議索引工具 采用db2advis建立合適的索引,使得其能夠走索引查詢,由于索引的范圍和排序,可以直接跳過許其他行,定位到符合我們需要的行。前提條件前提條件創(chuàng)建分析表 db2 tvf &installpath/misc/EXPLAIN.DDL做數(shù)據(jù)庫升級或數(shù)據(jù)遷移后,若版本與原有版本不一致,應(yīng)先drop掉分析表,創(chuàng)建新的分析表常見用法如下:創(chuàng)建db2advis.in文件,保存要分析的sqldb
12、2advis d dbname i db2advis.in可參考建立索引21常用第三方監(jiān)控工具QuestCentral.exen2.3 第三方監(jiān)控工具22常用第三方監(jiān)控工具QuestCentral.exe23APP狀態(tài):UOW EXECUTING:正在執(zhí)行Wait for uow:等待執(zhí)行Wait for lock:鎖等待2.執(zhí)行成本:該sql執(zhí)行成本,數(shù)值越大,成本越高,執(zhí)行越慢。如有多條成本較高的相同SQL,執(zhí)行較慢,可考慮優(yōu)化該SQL。3. 掛起鎖的數(shù)量該數(shù)值表示掛起鎖的數(shù)量,可觀察哪些app掛起鎖較多。4.該APP對應(yīng)的SQL直觀顯示該APP對應(yīng)的SQL,方便抓取運(yùn)行緩慢,鎖等待等狀態(tài)
13、的sql24WAIT FOR LOCK狀態(tài)APP鎖信息監(jiān)控25當(dāng)前持有鎖:顯示當(dāng)前持有鎖的AGENT ID,鎖名稱及級別,對應(yīng)鎖的表等信息當(dāng)前APP鎖等待的APP顯示當(dāng)前APP正在哪個APP執(zhí)行,信息包括被等待的APP的所名稱及級別,持有鎖的AGENT ID,根據(jù)AGENT ID可以得到被等待鎖的APP所對應(yīng)的SQL,考慮進(jìn)行SQL優(yōu)化或表優(yōu)化等相關(guān)操作以上功能為較為常用及實(shí)用的監(jiān)控功能,該工具在管以上功能為較為常用及實(shí)用的監(jiān)控功能,該工具在管理及維護(hù)方便也較為方便安全。理及維護(hù)方便也較為方便安全。263備份與恢復(fù)n3.1 目的n3.2 基本概念n3.3 備份恢復(fù)n3.4 適用場景27數(shù)據(jù)庫備
14、份和恢復(fù)的目的 從故障中恢復(fù)數(shù)據(jù)庫系統(tǒng),有效保護(hù)數(shù)據(jù)。 故障場景 系統(tǒng)崩潰(掉電、硬件故障、OS失敗、數(shù)據(jù)庫實(shí)例失敗等) 事務(wù)失敗(語句失敗、進(jìn)程失敗等) 人為錯誤(誤操作等) 存儲媒介故障(存儲器物理損壞等) 災(zāi)難(自然災(zāi)害等) n3.1 目的28事務(wù)事務(wù) (事務(wù)=工作單元) 事務(wù)是組合在一起的一個或多個 SQL 操作序列,也被稱為一個工作單元,用來保證數(shù)據(jù)的完整性和一致性。 特性如下: A 原子性操作序列不可分割,或全部成功或全部失敗。 C 一致性事務(wù)執(zhí)行前后數(shù)據(jù)庫都處于一致性狀態(tài)。 I 隔離性并發(fā)事務(wù)相互隔離,互不影響。 D 持久性事務(wù)被成功提交后,對數(shù)據(jù)庫的更新被持久化,不會丟失。 n
15、3.2 基本概念29崩潰恢復(fù)崩潰恢復(fù) 從數(shù)據(jù)庫日志控制文件中獲取不一致起點(diǎn)信息,并根據(jù)日志內(nèi)容對所有在不一致起點(diǎn)后成功提交事務(wù)進(jìn)行再應(yīng)用,而對其他未完成的事務(wù)進(jìn)行回滾,從而把數(shù)據(jù)庫帶回可用、一致狀態(tài)。 1.自動 - 數(shù)據(jù)庫參數(shù)AUTORESTART=ON(缺省)2.手動 - 數(shù)據(jù)庫參數(shù)AUTORESTART=OFF。使用db2 restart database30版本恢復(fù)版本恢復(fù)版本恢復(fù)=完全恢復(fù),恢復(fù)數(shù)據(jù)庫所有數(shù)據(jù)和結(jié)構(gòu)。 循環(huán)日志模式下:備份和恢復(fù)都必須離線進(jìn)行。執(zhí)行DB2命令(backup/database)來進(jìn)行全備份和版本恢復(fù)。 歸檔日志模式下:備份可以在線,而恢復(fù)必須離線進(jìn)行。在執(zhí)
16、行DB2命令(restore)進(jìn)行恢復(fù)的時候,需指定without rolling forward選項(xiàng)來清除數(shù)據(jù)庫的ROLLFORWARD PENDING狀態(tài)。31前滾恢復(fù)前滾恢復(fù)前滾恢復(fù)=時間點(diǎn)恢復(fù),恢復(fù)數(shù)據(jù)到一個指定的時間點(diǎn)。 歸檔日志模式下執(zhí)行,有數(shù)據(jù)庫完整備份,必須保留備份后到特定時間點(diǎn)之間所有的日志文件。 數(shù)據(jù)庫前滾恢復(fù)必須離線進(jìn)行。 在執(zhí)行不帶without rolling forward選項(xiàng)的DB2命令restore后,執(zhí)行前滾恢復(fù)命令rollforward 將使數(shù)據(jù)庫恢復(fù)至備份后的某一特定時間點(diǎn)或者日志末尾。32部分恢復(fù)部分恢復(fù) 部分恢復(fù),恢復(fù)數(shù)據(jù)庫一部分?jǐn)?shù)據(jù)和結(jié)構(gòu),工作原理同
17、前滾恢復(fù),區(qū)別是備份和恢復(fù)的對象是表空間 。主要特點(diǎn)主要特點(diǎn) 相對數(shù)據(jù)庫備份,表空間備份和恢復(fù)在時間上占有優(yōu)勢,并且方法靈活。 系統(tǒng)編目表空間的備份和恢復(fù)必須離線進(jìn)行,并且必須前滾至日志的末尾。而其他的表空間都可在線進(jìn)行,并且可以前滾至某個特定時間點(diǎn)。 通過設(shè)定注冊表變量DB2_COLLECT_TS_REC_INFO=ON,前滾命令將跳過不需要的日志來縮短恢復(fù)時間。 即使對象表空間不同,備份和恢復(fù)也不能同時進(jìn)行。執(zhí)行方式執(zhí)行方式 利用DB2命令backup對所有關(guān)聯(lián)表空間進(jìn)行同時備份。 恢復(fù)時,利用DB2命令restore對所有關(guān)聯(lián)表空間進(jìn)行同時恢復(fù),恢復(fù)完成時,表空間處于前滾暫掛狀態(tài)(ROL
18、LFORWARD PENDING)。 利用DB2命令rollforward對表空間進(jìn)行前滾恢復(fù)。 33離線全備 停止應(yīng)用程序 斷開所有數(shù)據(jù)庫連接 執(zhí)行備份命令 檢查備份文件可用性 n3.3 備份恢復(fù)完全備份完全備份34在線全備 前提: 設(shè)置LOGARCHMETH1參數(shù),更改參數(shù)后,必須需要完全離線全備份數(shù)據(jù)庫 執(zhí)行備份命令 檢查備份文件可用性 完全備份完全備份35離線全備恢復(fù) 完全備份恢復(fù)步驟完全備份恢復(fù)步驟36在線全備恢復(fù) 完全備份恢復(fù)步驟完全備份恢復(fù)步驟37增量備份增量備份38增量備份增量備份-修改參數(shù)修改參數(shù)39增量備份增量備份-離線增量備份離線增量備份40離線增量備份離線增量備份恢復(fù)步
19、驟恢復(fù)步驟41增量備份增量備份-在線增量備份在線增量備份42在線增量備份恢復(fù)在線增量備份恢復(fù)43差量備份差量備份-離線差量備份離線差量備份恢復(fù)方式同離線增量備份恢復(fù)44差量備份差量備份-在線差量備份在線差量備份恢復(fù)方式同在線增量備份恢復(fù)45監(jiān)控監(jiān)控 可以使用db2 list utilities show detail命令監(jiān)控執(zhí)行狀況。具體監(jiān)控內(nèi)容如下:1.backup顯示需要處理的字節(jié)數(shù)的初始評估,隨著備份進(jìn)度更新已處理字節(jié)數(shù)。顯示的字節(jié)數(shù)不對應(yīng)備份鏡像大小,也不能作為鏡像大小的評估依據(jù)。2.restore & recovery - 初始字節(jié)數(shù)顯示為UNKNOWN,實(shí)際讀取的字節(jié)數(shù)被更新,對于
20、自動增量恢復(fù),分階段跟蹤進(jìn)度。每個階段都提供增量鏈中的恢復(fù)鏡像,初始狀態(tài)只顯示一個階段。隨著鏡像的恢復(fù),階段數(shù)量和恢復(fù)的字節(jié)被更新。3.crash recovery & rollforward 有FORWARD和BACKWARD兩個階段。在FORWARD階段,讀取日志記錄并應(yīng)用于數(shù)據(jù)庫。而在BACKWARD階段,回滾未成功提交的事務(wù)。這兩個階段都顯示已處理的字節(jié)數(shù)。46檢查檢查1.db2ckbkp用來檢查備份鏡像的完整性及是否可以用于恢復(fù)。也可以用于顯示存儲在備份文件頭部的元數(shù)據(jù)。2.db2ckrst檢查增量備份鏡像的恢復(fù)順序和時間戳,并獲取恢復(fù)操作命令的序列。47適用情況:數(shù)據(jù)庫容器變更V9
21、.1前:1. Restore 語句此語句用來標(biāo)示一個重定向的恢復(fù)操作命令開始,它在普通恢復(fù)的命令上加了 redirect 參數(shù)。RESTORE DATABASE SAMPLE FROM /db2_backup/db2inst1/sample TAKEN AT 20101023180128 INTO SAMPLE REDIRECT;2. set containers 語句當(dāng)目標(biāo)數(shù)據(jù)庫所的物理存儲設(shè)備與原來的數(shù)據(jù)庫不一樣時,就需要下面的命令來指定新的物理容器。SET TABLESPACE CONTAINERS FOR 0 USING ( PATH /db2inst1/SAMPLE ); SET T
22、ABLESPACE CONTAINERS FOR 1 USING ( PATH / db2inst1/temp ); SET TABLESPACE CONTAINERS FOR 2 USING ( DEVICE /dev/rsample_1G 131072 ) 3. restore continue 語句:此語句代表重定向恢復(fù)語句序列完成,系統(tǒng)開始恢復(fù)數(shù)據(jù)庫。RESTORE DATABASE SAMPLE CONTINUE; 重定向恢復(fù)48V9.1后:使用RESTRORE . REDIRECT GENERATE SCRIPT 產(chǎn)生重定向恢復(fù)數(shù)據(jù)庫的腳本db2 restore db SAMPLE
23、 FROM /db2_backup/db2inst1/sample taken at 20101023180128 REDIRECT GENERATE SCRIPT sample.db2修改生成的腳本,常見修改內(nèi)容: 數(shù)據(jù)庫名 數(shù)據(jù)庫目錄 容器信息執(zhí)行修改后的腳本: db2 tvf sample.db249注意事項(xiàng) 如果數(shù)據(jù)庫有自動存儲表空間,則需要在自動生成的腳本內(nèi)將 ON /DBPATH部分去掉注釋并設(shè)置,否則會將自動存儲表空間容器路徑創(chuàng)建到原備份庫的路徑。 因異常情況,導(dǎo)致set container報 SQL0299N Container is already assigned to t
24、he table space解決辦法: 執(zhí)行db2untag -f /dev/lvname操作,去掉容器上表空間標(biāo)識50適用情況 利用表空間備份重建數(shù)據(jù)庫 還原部分表空間,重建數(shù)據(jù)庫db2 restore db test rebuild with tablespace (SYSCATSPACE,USERSPACE1,USERSPACE2) taken at 20120516135136 注意事項(xiàng): 必須包含SYSCATSPACE表空間 使用一組表空間鏡像重建數(shù)據(jù)庫,需要最早及最晚鏡像時間點(diǎn)范圍內(nèi)歸檔日志,保證數(shù)據(jù)庫一致性數(shù)據(jù)庫重建51場景一 生產(chǎn)庫由于誤操作誤刪數(shù)據(jù),需要恢復(fù)誤刪數(shù)據(jù)如生產(chǎn)庫為
25、較不重要業(yè)務(wù)系統(tǒng) ,且數(shù)據(jù)庫較小,可采用離線全備分或在線全備份進(jìn)行全庫恢復(fù),使用歸檔日志進(jìn)行前滾恢復(fù)到誤刪數(shù)據(jù)前時間點(diǎn)。如生產(chǎn)庫為核心業(yè)務(wù)系統(tǒng),且數(shù)據(jù)庫較大。則需要使用數(shù)據(jù)庫備份異機(jī)進(jìn)行恢復(fù),若異機(jī)存儲空間足夠,可考慮全庫恢復(fù);若異機(jī)存儲空間不足,考慮使用數(shù)據(jù)庫重建技術(shù),僅恢復(fù)丟失數(shù)據(jù)表所在表空間。n3.4 適用場景52場景二 將當(dāng)前數(shù)據(jù)庫,在同一臺機(jī)器復(fù)制一份新的同樣的數(shù)據(jù)庫由于同一臺機(jī)器,兩個數(shù)據(jù)庫不能有相同容器,否則會造成容器沖突,恢復(fù)失敗。因此需要使用重定向恢復(fù),修改容器名或容器目錄。場景三 數(shù)據(jù)庫所在存儲損壞如數(shù)據(jù)庫所在存儲損壞,可緊急使用數(shù)據(jù)庫備份進(jìn)行全庫恢復(fù)。有全庫數(shù)據(jù)庫備份:使
26、用全庫數(shù)據(jù)庫備份,在備用機(jī)建立相同容器,可直接完全恢復(fù)。若備用機(jī)無法建立相同容器,則需要使用重定向恢復(fù)修改容器僅有表空間備份:若僅有部分表空間備份,則僅能使用數(shù)據(jù)庫重建,利用表空間備份重建數(shù)據(jù)庫。53參考命令上述備份恢復(fù)方式均可組合使用,下列參考上述備份恢復(fù)方式均可組合使用,下列參考db2 “restore db xsmdb rebuild with tablespace(syscatspace,ec_trade) taken at 20120726170416 into xsmtest logtarget /home/db2inst2 redirect generate script reb
27、uild.db2“該命令為數(shù)據(jù)庫重建,重定向恢復(fù),在線備份恢復(fù)組合使用的示例。以上備份恢復(fù)方式不支持跨平臺數(shù)據(jù)遷移,跨平臺數(shù)據(jù)遷移需要db2look+db2move配合使用544性能優(yōu)化n4.1 存儲原理n4.2 規(guī)劃設(shè)計n4.3 建議參數(shù)n4.4 表優(yōu)化55 存儲RAID級別常用RAID級別:RAID5,RAID10RAID5:最少需要3塊盤,(n-1)/n的總磁盤容量(n為磁盤數(shù)),讀性能較好,由于奇偶校驗(yàn),隨機(jī)寫及連續(xù)寫性能一般,磁盤空間利用率較高。RAID10:最少需要4塊盤,更好的讀寫性能,更好的可靠性,最多可允許N/2塊磁盤故障,(N為磁盤總數(shù)),磁盤空間利用率較低,只能使用一半容
28、量。n4.1 存儲原理56相關(guān)概念條帶條帶條帶(strip)是把連續(xù)的數(shù)據(jù)分割成相同大小的數(shù)據(jù)塊,把每段數(shù)據(jù)分別寫入到陣列中的不同磁盤上的方法。簡單的說,條帶是一種將多個磁盤驅(qū)動器合并為一個卷的方法57當(dāng)使用當(dāng)使用 LVM 或者硬件條帶化時,決定條帶化效果的因素是條帶深度或者硬件條帶化時,決定條帶化效果的因素是條帶深度(stripe depth)和條帶寬度和條帶寬度(stripe width)條帶深度:這個參數(shù)指的是寫在每塊磁盤上的條帶數(shù)據(jù)塊的大小。條帶寬度:是指同時可以并發(fā)讀或?qū)懙臈l帶數(shù)量。這個數(shù)量等于RAID中的物理硬盤數(shù)量。58基于RAID組劃分,RAID組內(nèi)劃分出的邏輯盤,操作系統(tǒng)里實(shí)
29、際認(rèn)到的物理盤。LUN的IO會經(jīng)由條帶,寫入到RAID組各物理磁盤LUNDB2寫容器的過程表空間是由很多容器組成的,我們每次寫容器的時候,寫的單位為一個擴(kuò)展數(shù)據(jù)塊 extent,EXTENTSIZE 指定數(shù)據(jù)庫可以寫到一個容器中的 PAGESIZE 頁面數(shù)量,達(dá)到這個數(shù)量之后將跳到下一個容器。59n4.2 規(guī)劃設(shè)計存儲層:存儲層:根據(jù)系統(tǒng)業(yè)務(wù)性能需求、成本估算、存儲設(shè)備配置合理的RAID級別。如存儲磁盤個數(shù)較多,建議劃分多RAID組,不同RAID組間可IO分離。根據(jù)業(yè)務(wù)需求規(guī)劃數(shù)據(jù)庫表空間,根據(jù)不同表空間,對應(yīng)不同RAID級別及底層存儲。根據(jù)業(yè)務(wù)類型,設(shè)置合適的條帶大小。OLTP類型,可設(shè)置較
30、大的條帶深度,提高并發(fā),一次物理 I/O 可以同時響應(yīng)多個并發(fā)的邏輯 I/O ;OLAP類型,可設(shè)置較小的條帶深度,使一個邏輯 I/O 分布到多個磁盤上,從而實(shí)現(xiàn) I/O 的負(fù)載均衡。60數(shù)據(jù)庫層:數(shù)據(jù)庫層:EXTENTSIZE 大小選擇大小選擇:對于 OLAP 數(shù)據(jù)庫和大部分對表的訪問包括許多查詢或處理大量數(shù)據(jù)的事務(wù) ( 僅限于查詢 ) 的表,或者增長速度很快的表,那么從表中預(yù)取數(shù)據(jù)可以顯著改善性能,應(yīng)使用較大的 extent 。反之,對于較小的頻繁更改、頻繁隨機(jī)讀取的小的配置表,建議使用較小的 extent 。PREFETCHSIZE大小選擇大小選擇DB2V9后,如果把 PREFETCHS
31、IZE 設(shè)置為 AUTOMATIC,添加容器后,數(shù)據(jù)庫會自動調(diào)整 prefetchsize 的大小,所以強(qiáng)烈建議把 PREFETCHSIZE 設(shè)置為 AUTOMATIC 或 1。61優(yōu)化優(yōu)化 RAID 設(shè)備上表空間性能設(shè)備上表空間性能 在一組 RAID 設(shè)備上創(chuàng)建表空間時,應(yīng)該把表空間容器創(chuàng)建在多個 RAID GROUP 上。 根據(jù)業(yè)務(wù)類型不同設(shè)置不同表空間,對應(yīng)不同表空間參數(shù) 為表空間選擇適當(dāng)?shù)臄U(kuò)展數(shù)據(jù)塊 (extent) 大小。 文件系統(tǒng)型容器,關(guān)閉FILE SYSTEM CACHING,避免文件系統(tǒng)緩沖與數(shù)據(jù)庫緩沖池多層緩沖,降低性能。62 LOCKLISK,MAXLOCKS,LOCKT
32、IMEOUTdb2 get snapshot for db on hljyctdNumber of Threshold Violations = 0Locks held currently = 118Lock waits = 2034Time database waited on locks (ms) = 3608810Lock list memory in use (Bytes) = 1572736Deadlocks detected = 0Lock escalations = 0Exclusive lock escalations = 0Agents currently waiting o
33、n locks = 0Lock Timeouts = 0Number of indoubt transactions = 0Lock list memory in use (Bytes)超過locklist大小50%,可增加locklist數(shù)量。如Lock escalations或Exclusive lock escalations0,應(yīng)增加locklist或maxlocks。生產(chǎn)OLTP,locktimeout可設(shè)置10S,OLAP可設(shè)置60S,不建議設(shè)置默認(rèn)值-1,會一直鎖等待。n4.3 建議參數(shù)63 MAXAPPS若應(yīng)用程序返回以下錯誤,表明連接到該數(shù)據(jù)庫的應(yīng)用程序數(shù)達(dá)到最大值SQL10
34、40N The maximum number of applications is already connected to the database可考慮增加maxapps設(shè)置 NUM_IOCLEANERS,CHNGPGS_THRESH NUM_IOCLEANERS異步頁面清除器用于將更改后的頁面從緩沖池寫到磁盤。如果沒有配置頁清除程序,則應(yīng)用程序可能會遇到嚴(yán)重的性能問題。一般禁止設(shè)置為0。CHNGPGS_THRESH緩沖池內(nèi)被更改頁面所占百分比,達(dá)到后將啟動頁面清除器,OLTP可設(shè)置成20-40,更新活動龐大,可設(shè)置較低值。 NUM_IOSERVERS該參數(shù)值就是預(yù)取器的數(shù)量。一般該值等于
35、數(shù)據(jù)庫數(shù)據(jù)所在的磁盤數(shù)目。 MAXFILOP服務(wù)器打開文件的最大數(shù)目db2 get snapshot for db on testdb |grep -i close若Database files closed = 0不為0,需增大該值。64 LOGBUFSZ日志緩沖區(qū),指定將日志記錄寫到磁盤前的緩沖區(qū)數(shù)量get snapshot for database on | grep i “Log pages”Log pages read = 0Log pages written = 12644理想狀態(tài),Log pages read為0,如果該值比較大,考慮增加LOGBUFSZ值 UTIL_HEAP_S
36、Z指定BACKUP,RESTORE和LOAD應(yīng)用程序同時使用的最大內(nèi)存數(shù),可提高速度。 SORTHEAP、SHEAPTHRES_SHR和SHEAPTHRES在DB2 v9.1中,sheapthres_shr參數(shù)是一個軟限制。需要時,排序內(nèi)存堆可使用其他未使用的數(shù)據(jù)庫共享內(nèi)存。對于v9.1,建議用缺省值。(dbm cfg: sheapthres=0 ; db cfg: sheapthres_shr=automatic, sortheap=automatic65 REORG離線重組三個階段:1.build2.replace3.index recreate1. Build使用表空間中空余空間(或指定
37、表空間)臨時生成一個表進(jìn)行表的重組,即使中斷也不會對原有表或索引產(chǎn)生影響2. Replace替換原表階段是無法認(rèn)為手工中斷的,即使在此階段發(fā)出了中斷命令(CTRL+C)也對等此步驟完成后,索引未重創(chuàng)前才中斷,此時會明確告訴用戶索引未創(chuàng)建。3. Index recreate重建索引,可手工中斷,同時明確告訴用戶索引未創(chuàng)建。(SQL1279W Some indexes may not have been recreated.)n4.4 表優(yōu)化66 若表所在表空間剩余容量大于表自身大小,可在原表空間reorg 若表所在表空間剩余容量小于表自身大小,需要指定use space(系統(tǒng)臨時表空間),且系統(tǒng)
38、臨時表空間與表所在表空間頁大小一致,容量大于表自身大小。 在線reorg表比離線reorg慢很多,因?yàn)樵诰€不會創(chuàng)建數(shù)據(jù)副本,分批次重組,每次只有一部分?jǐn)?shù)據(jù) 在線reorg表也叫inplace reorg( 原定reorg),reorg可隨時啟動和停止,為了保證恢復(fù)性,在線reorg會記錄大量的日志,需要在日志空間依賴于移動的行數(shù),表上索引的個數(shù)和索引鍵大小,因此可能是表大小的幾倍 如果在線重組的表很多,那么可能導(dǎo)致I/O cpu資源占用很多,并且可能會消耗所有的活動日志,影響系統(tǒng)正常運(yùn)行67RUNSTATS 建議對一個頻繁進(jìn)行大量更新、插入或者刪除操作的表進(jìn)行 RUNSTATS。 runsta
39、ts 使用distrubution 參數(shù)收集數(shù)據(jù)分布 runstats有allow write access(默認(rèn))和allow read acess 表很大,或表數(shù)據(jù)頻繁變動,可以考慮在某些字段上runstats,而不是整個表 對于靜態(tài)語句,還需要對package重新綁定,以便生成新的訪問計劃685常見問題處理n5.1 常用工具n5.2 常見問題及經(jīng)驗(yàn)分享695.1 常用工具常用工具1)db2cfexp ,db2cfimp 實(shí)例配置信息導(dǎo)入導(dǎo)出2)db2exfmt,db2expln是用來查看已收集并寫入解釋表(explain_instance)的全面解釋數(shù)據(jù)db2 set current explain mode explain執(zhí)行sql db2 set current explain mode no db2exfmt -d hljyctd -g TIC -w -1 -n % -s % -# 0 -o limit_A_test1.out 3)訪問計劃是db2用于執(zhí)行db2語句的路徑和步驟,這是所有可用解釋工具顯示的信息4)syscat.packages是用來存儲數(shù)據(jù)庫中的以程序包的形式的訪問計劃5)db2exfmt是直接處理已收集并存在解釋表中的全面解釋數(shù)據(jù)或解釋快照數(shù)據(jù),輸出是基于文本的報告706)db2advis索引設(shè)計工具
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版設(shè)備購買協(xié)議
- 2025年度疫情防控應(yīng)急物資儲備中心n95口罩采購合同范本3篇
- 二零二五年度貨運(yùn)司機(jī)勞務(wù)派遣合同3篇
- 2025年度大豆綠色種植推廣合作合同范本3篇
- 2025年度綠色有機(jī)西瓜產(chǎn)地直銷合作合同范本3篇
- 2025年度不銹鋼板材國際貿(mào)易結(jié)算及風(fēng)險管理合同3篇
- 2024行政合同爭議調(diào)解程序:如何有效運(yùn)用行政優(yōu)先權(quán)3篇
- 2025年度WPS合同管理平臺定制開發(fā)與實(shí)施合同3篇
- 二零二五年甘肅離崗創(chuàng)業(yè)人員社保接續(xù)與待遇保障合同3篇
- 2025年物流配送與快遞快遞行業(yè)風(fēng)險管理合同范本3篇
- 中國的世界遺產(chǎn)智慧樹知到期末考試答案2024年
- 2023年貴州省銅仁市中考數(shù)學(xué)真題試題含解析
- 世界衛(wèi)生組織生存質(zhì)量測量表(WHOQOL-BREF)
- 《葉圣陶先生二三事》第1第2課時示范公開課教學(xué)PPT課件【統(tǒng)編人教版七年級語文下冊】
- 某送電線路安全健康環(huán)境與文明施工監(jiān)理細(xì)則
- GB/T 28885-2012燃?xì)夥?wù)導(dǎo)則
- PEP-3心理教育量表-評估報告
- 控制性詳細(xì)規(guī)劃編制項(xiàng)目競爭性磋商招標(biāo)文件評標(biāo)辦法、采購需求和技術(shù)參數(shù)
- 《增值稅及附加稅費(fèi)申報表(小規(guī)模納稅人適用)》 及其附列資料-江蘇稅務(wù)
- 中南民族大學(xué)中文成績單
- 危大工程安全管理措施方案
評論
0/150
提交評論