DB2_數(shù)據(jù)庫日志管理_第1頁
DB2_數(shù)據(jù)庫日志管理_第2頁
DB2_數(shù)據(jù)庫日志管理_第3頁
DB2_數(shù)據(jù)庫日志管理_第4頁
DB2_數(shù)據(jù)庫日志管理_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、【精品文檔】如有侵權,請聯(lián)系網(wǎng)站刪除,僅供學習與交流DB2_數(shù)據(jù)庫日志管理.精品文檔.1、load 方法裝入數(shù)據(jù):export to tempfile of del select * from tablename where not 清理條件;load from tempfile of del modified by delprioritychar replace into tablename nonrecoverable;說明: 在不相關的數(shù)據(jù)表export數(shù)據(jù)時,可以采取并發(fā)的形式,以提高效率;tablename指待清理table的名稱;modified by delprioritycha

2、r防止數(shù)據(jù)庫記錄中存在換行符,導致數(shù)據(jù)無法裝入的情況;replace into對現(xiàn)數(shù)據(jù)庫中的內(nèi)容進行替換,即將現(xiàn)行的數(shù)據(jù)記錄清理,替換為數(shù)據(jù)文件內(nèi)容;nonrecoverable無日志方式裝入;2、查找當前的應用:db2 list application grep btpdbs;3、刪除當前正在使用的application:db2 "force application (id1,id2,id3)"id1,id2,id3 是list顯示的應用號;4、查看當前應用號的執(zhí)行狀態(tài):db2 get snapshot for application agentid 299 grep r

3、ow5、查看數(shù)據(jù)庫參數(shù):db2 get db cfg for /當前數(shù)據(jù)庫可以省略6、修改數(shù)據(jù)庫的log數(shù)據(jù):db2 update db cfg using <參數(shù)名> <參數(shù)值>7、db2stop force的用法:在進行bind的時候出現(xiàn)如下錯誤:sql0082can error has occurred which has terminated processing.sql0092nno package was created because of previous errors.sql0091nbinding was ended with "3&quo

4、t; errors and "0" warnings.主要是表文件被加鎖,不能繼續(xù)使用;在進行stop的時候報錯:db2stop8/03/2005 21:46:530 0 sql1025nthe database manager was not stopped because databases are still active.sql1025nthe database manager was not stopped because databases are still active.需要使用如下命令可以解決這個問題: db2stop force08/03/2005 21

5、:47:49 0 0 sql1064ndb2stop processing was successful.sql1064ndb2stop processing was successful.然后啟動數(shù)據(jù)庫db2start,連接數(shù)據(jù)庫db2s后,重新進行bind即可。8、緩沖池參數(shù)修改:db2 alter bufferpool ibmdefaultbp size 10240查看本表的數(shù)據(jù)內(nèi)容如下:db2 "select * from syscat.bufferpools"9、db2 日志處理:db2日志是以文件的形式存放在文件系統(tǒng)中,分為兩種模式:循環(huán)日志和歸檔日志。當創(chuàng)建新

6、數(shù)據(jù)庫時,日志的缺省模式是循環(huán)日志。在這種模式下,只能實現(xiàn)數(shù)據(jù)庫的脫機備份和恢復。如果要實現(xiàn)聯(lián)機備份和恢復,必須設為歸檔日志模式。目前在綜合業(yè)務系統(tǒng)中,設置的均是歸檔日志模式;其它系統(tǒng)(如事后監(jiān)督、經(jīng)營決策、中間業(yè)務等)一般都設置為循環(huán)日志模式。至于采用何種模式,可以通過修改數(shù)據(jù)庫配置參數(shù)(logretain)來實現(xiàn): 歸檔日志模式:db2 update db cfg for using logretain on 注:改為on后,查看數(shù)據(jù)庫配置參數(shù)logretain的值時,實際顯示的是recovery。改變此參數(shù)后,再次連接數(shù)據(jù)庫會顯示數(shù)據(jù)庫處于備份暫掛(backup pending)狀態(tài)。這

7、時,需要做一次對數(shù)據(jù)庫的脫機備份(db2 backup db ),才能使數(shù)據(jù)庫狀態(tài)變?yōu)檎?。循環(huán)日志模式:db2 update db cfg for using logretain off10、db2 日志處理必須按照以下正確的步驟進行操作:要求必須使用db2命令prune進行清理,不建議使用rm命令刪除。刪除前應保證應用已停止(即聯(lián)機已下來)。查看當前使用的日志文件目錄及第一活動日志文件用 “db2 get db cfg for ”命令查看日志文件目錄(path to log files)參數(shù),確定數(shù)據(jù)庫當前使用的日志文件目錄。 例如:path to log files = /db2log/

8、,說明db2日志存放目錄是/db2log 用 “db2 get db cfg for ”命令查看第一活動日志文件(first active log file)參數(shù),該參數(shù)對應的日志文件之前的日志文件均為歸檔日志文件,如果確認沒有用,可以刪除。 例如:first active log file = s0015913.log,說明當前第一活動日志文件是s0015913.log。 備份好要刪除的歸檔日志刪除歸檔日志 以應用用戶(如btp)登錄,執(zhí)行:&#36; db2 connect to &#36; db2 prune logfile prior to s?.log注:s?.log

9、為查看到的第一活動日志文件。此命令可以將當前第一活動日志文件之前的歸檔日志文件全部刪除。11、如何清理db2diag.log文件db2diag.log,是用來記錄db2數(shù)據(jù)庫運行中的信息的文件??梢酝ㄟ^此文件,查看記錄的有關db2數(shù)據(jù)庫詳細的錯誤信息。此文件也是不斷增大的,需要定期進行清理??梢酝ㄟ^查看實例的配置參數(shù)diagpath,來確定db2diag.log文件是放在哪個目錄下:db2 get dbm cfg 如果diagnostic data directory path(diagpath) = /home/db2inst1/sqllib/db2dump,則此文件是放在/home/db2

10、inst1/sqllib/db2dump目錄下。當文件系統(tǒng)/home的使用率達到80%90%左右時,應及時刪除db2diag.log文件。 請按以下正確步驟操作:確認應用(如btp)、db2已經(jīng)停止。 將原db2diag.log文件備份到其它文件系統(tǒng)下。刪除db2diag.log文件。刪除后,db2會自動創(chuàng)建一個新的文件。12、load 操作在進行l(wèi)oad的時候db2 "load from acmmst.txt of del modified by coldel replace into acmmst nonrecoverable ”由于數(shù)據(jù)不規(guī)范出現(xiàn)錯誤,強行中斷以后,進行操作的時

11、候出現(xiàn)如下錯誤:sql0668noperation not allowed for reason code "3" on table "btp.acmmst".sqlstate=57016此時,進行反方向操作即可:db2 "load from /dev/null of del terminate into acmmst nonrecoverable"。如果沒有使用參數(shù)nonrecoverable,則會出現(xiàn)數(shù)據(jù)庫狀態(tài)不正確的情況,使用:db2 list tablesapces show detail 查看狀態(tài),如果不是正常狀態(tài),則脫機狀

12、態(tài)進行備份即可。兩個表文件之間update的方法:db2 "update cdmcrd set offset = (select cdmlsl.offset from cdmlsl where cdmlsl.crdno=cdmcrd.crdno) where cdmcrd.crdno in (select cdmlsl.crdno from cdmlsl) 13、多字段條件查詢和修改表a中的字段有actno, cnlno,bal,pwd;表b中的字段為actno,cnlno,txnamt;目的是將a表中的bal修改為b表中的txnamt,命令:db2 "update a s

13、et bal=(select txnamt from b where actno=a.actno and cnlno=lno) where lno in (select actnocnlno from b );14、多條件匹配查詢查詢某個表中條件是b?aaa的記錄:db2 "select * from a where actno like 'b_aaa%'".查詢數(shù)據(jù)中存在某些字符的記錄:db2 "select * from a where actno like '%-aaa%".15、數(shù)據(jù)庫恢復的處理進行數(shù)據(jù)庫恢復的時候使用以下

14、的命令: restore db db1 to /tstdb2/catalog into db newlogpath /tstdb2/db2log buffer 2048replace existing redirect parallelism 16;set tablespace containers for 1 using (path '/tstdb2/db2tmp');set tablespace containers for 2 using(device '/dev/rtstcontlv00' 2621440, device '/dev/rtstco

15、ntlv01' 2621440,device '/dev/rtstcontlv02' 2621440, device '/dev/rtstcontlv03' 2621440 ) ;restore db db1 continue; 恢復完成以后執(zhí)行命令db2s時報如下的錯誤:p570:>db2ssql1117n a connection to or activation of database "db" cannot be madebecause of roll-forward pending. sqlstate=57019db2

16、1034e the command was processed as an sql statement because it was not avalid command line processor command. during sql processing it returned:sql1024n a database connection does not exist. sqlstate=08003 解決辦法如下:p570:>db2 rollforward db db to end of logs and completerollforward statusinput datab

17、ase alias = dbnumber of nodes have returned status = 1node number = 0rollforward status = not pendingnext log file to be read =log files processed = -last committed transaction = 2005-11-20-10.59.23.000000db20000i the rollforward command completed successfully. db2日志管理(完成)-歸檔日志db2 update db cfg for

18、dbtest using logretain recovery userexit ondb2 update db cfg for dbtest using logarchmeth1 DISK:D:/DB2/Arch_logdb2 update db cfg for dbtest using logarchmeth2 DISK:D:/DB2/Arch_log2db2 update db cfg for dbtest using LOGPRIMARY 100 LOGSECOND 50 LOGFILSZ 65535 ;(此時單個日志文件的大小為:65535 *4K ,可用日志的個數(shù)為: 100+50

19、 )-循環(huán)日志/*Logretaim=Recovery -(Logretaim/userexit兩個值任選一個)userexit=Yes*/db2 update db cfg for edw using logarchmeth1 off logarchmeth2 offdb2 update db cfg for edw using logretain NO userexit NOdb2 update db cfg for edw using LOGPRIMARY 100 LOGSECOND 50 LOGFILSIZ 65535 ;(此時單個日志文件的大小為:65535 *4K ,可用日志的個數(shù)

20、為: 100+50 )-重啟數(shù)據(jù)庫才生效 (或者斷開所有鏈接)set instance=db2inst4db2stop forcedb2startdb2 activate db edw-更改聯(lián)機日志的路徑(更改后logpath的值發(fā)生改變)db2 update db cfg for edw using newlogpath /dw/edwdata/db2log一.日志概述任何數(shù)據(jù)庫管理系統(tǒng)都必須擁有確保數(shù)據(jù)一致性和可恢復性的機制。關系數(shù)據(jù)庫系統(tǒng)為確保那些非常重要的特性所使用的眾多機制之一是事務性日志記錄。在本文中,我們將定義和討論事務性日志記錄的類型,及如何分配日志文件、如何存儲它們。數(shù)據(jù)庫存

21、儲了供應用程序訪問和處理的數(shù)據(jù)。那些應用程序會插入、讀取、更新或刪除數(shù)據(jù)。每一個這樣的活動都是在一個事務中執(zhí)行的,該事務被 定義成“應用程序過程中一個可恢復的操作序列”。除非已經(jīng)提交了事務(也稱作“工作單元”),否則它不會影響數(shù)據(jù)庫。 將數(shù)據(jù)庫操作組合到事務中只是確保數(shù)據(jù)一致性解決方案的一半。另一半是稱作預寫式日志記錄(write-ahead logging)的數(shù)據(jù)庫管理器實現(xiàn)。不管事務是否被提交,只要它們發(fā)生,就會記錄這些事務。在將任何數(shù)據(jù)從緩沖池寫到數(shù)據(jù)庫結(jié)構(gòu)之前,事務會從日志緩沖區(qū)(log buffer)寫到 日志文件(事務性日志記錄)。用于記錄事務的文件叫做 事務日志 。二.日志分類D

22、B2 UDB 有兩種可用的日志記錄類型 循環(huán)(circular)日志記錄和 歸檔(archive)日志記錄。其中歸檔日志又分為聯(lián)機歸檔日志和脫機歸檔日志。 2.1循環(huán)日志記錄循環(huán)日志記錄是數(shù)據(jù)庫使用的缺省日志記錄策略。在此策略中,一旦日志目錄中最后一個主日志文件被寫滿了,就會將新的事務寫到第一個日志文件中,從而覆蓋現(xiàn)有的日志數(shù)據(jù)。這些新事務會繼續(xù)依次覆蓋每個舊日志文件。這種日志記錄方法確保了所有已提交事務的數(shù)據(jù)一致性,這樣就可以執(zhí)行應急恢復。循環(huán)日志記錄通常在數(shù)據(jù)倉庫環(huán)境中使用,在該環(huán)境中,恢復數(shù)據(jù)庫需要的只是恢復數(shù)據(jù)庫映象的問題。該策略不應該用在線事務處理(on-line transacti

23、on processing,OLTP)環(huán)境,因為它不可能進行前滾恢復。2.2歸檔日志記錄與循環(huán)日志記錄相比,當最后一個日志文件寫滿時,歸檔日志記錄過程會創(chuàng)建一個新的日志文件,這樣將來的事務就不會覆蓋現(xiàn)有的日志文件。當初始化數(shù)據(jù)庫時,系統(tǒng)會在活動日志目錄中分配一定數(shù)量、指定大小的主日志文件。這個數(shù)量由數(shù)據(jù)庫配置參數(shù)控制。當主日志文件都寫滿時,就會“根據(jù)需要”創(chuàng)建輔助日志文件,直到創(chuàng)建了最大數(shù)量的輔助日志文件為止。一旦達到了這個數(shù)量,如果需要附加的日志空間,就會發(fā)出一個錯誤,指出沒有更多的可用日志文件,所有數(shù)據(jù)庫活動停止。 利用歸檔日志記錄,就可能采取聯(lián)機(在線)數(shù)據(jù)庫備份,在執(zhí)行這一操作期間,會

24、繼續(xù)記錄數(shù)據(jù)庫活動。如果數(shù)據(jù)庫崩潰或發(fā)生故障,就會使用全備份映象,然后執(zhí)行使用歸檔日志的前滾操作,通過前滾到日志結(jié)尾,將數(shù)據(jù)庫恢復到時間點狀態(tài)或最近的一致狀態(tài),從而恢復數(shù)據(jù)庫。有兩種歸檔日志:聯(lián)機歸檔日志: 活動日志中所有改動對正常處理已不需要,即該日志中所記錄的事務都已提交并寫入數(shù)據(jù)庫文件時,該活動日志轉(zhuǎn)換為聯(lián)機歸檔日志。稱之為聯(lián)機,是由于它們與活動日志存放在同一個目錄下。 脫機歸檔日志: 將聯(lián)機歸檔日志從活動日志目錄下Copy到另外的地方存檔,就稱為脫機歸檔日志。這些日志可能在數(shù)據(jù)庫前滾恢復的時候仍然需要。三日志相關參數(shù)我們只有弄清楚了日志相關的參數(shù)之后,才能正確修改配置參數(shù),得到我們想要

25、的日志管理模式,現(xiàn)對各參數(shù)介紹如下:3.1 LOGRETAIN缺省情況下,logretaim的值為OFF,此時采用循環(huán)日志記錄方式,將期修改為ON/ RECOVERY時,采用歸檔日志記錄方式,從而允許數(shù)據(jù)庫管理器使用前滾恢復方法,可以進行在線備份。該參數(shù)使歸檔日志保留在數(shù)據(jù)庫日志路徑目錄中。當啟用了 logretain配置參數(shù)時,就不需要啟用 userexit 。這兩個參數(shù)中的任何一個都足以允許前滾恢復方法。 以下是 logretain的有效值: No(缺省值) 表示不保留日志。 Recovery 表示保留日志,且可以用于前滾恢復。此外,如果您使用數(shù)據(jù)復制,CAPTURE 程序可以將日志中所記

26、錄的更新寫到更改表。 Capture 表示只保留日志,這樣 Capture 程序可以將更新寫到更改表。如果沒有裁剪這些日志,那么它們可以用于正向恢復。注:通常僅當為了數(shù)據(jù)復制而設置數(shù)據(jù)庫時,才使用 Capture 設置。 如果 logretain設置成“Recovery”或者 userexit設置成“Yes”,將保留活動日志文件,而且這些文件將變成聯(lián)機歸檔日志文件,以便在前滾恢復中使用。這稱為日志保留記錄。 在將 logretain設置成“Recovery”和或?qū)?userexit設置成“Yes”之后,必須對數(shù)據(jù)庫進行完全備份。這一狀態(tài)由 backup_pending標志參數(shù)表示。 如果 再l

27、ogretain設置成“No”并且 userexit也設置成“No”,就不能對數(shù)據(jù)庫執(zhí)行前滾恢復,而且可恢復性僅限于最新的數(shù)據(jù)庫備份。在這種情況下,數(shù)據(jù)庫管理器會刪除 logpath目錄中的所有日志文件(包括聯(lián)機歸檔日志文件),分配新的活動日志文件,并且回復到循環(huán)日志記錄。 當 logretain設置成“Capture”時,在 Capture 程序完成時,它會調(diào)用 PRUNE LOGFILE 命令來刪除日志文件。雖然如果不裁剪日志,這些日志就可以用于正向恢復,但如果您想要確??梢詫?shù)據(jù)庫執(zhí)行前滾恢復,就不應該將 logretain設置成“Capture”。 當 logretain配置參數(shù)設置成

28、“RECOVERY”時,日志文件將保留在活動日志路徑中。活動日志路徑由數(shù)據(jù)庫配置文件中的“日志文件路徑(Path to Log Files)( logpath)”或“更改的日志文件路徑(Changed Path to Log Files)( newlogpath)”值確定。3.2 USEREXIT該參數(shù)使數(shù)據(jù)庫管理器調(diào)用用戶出口程序來歸檔和檢索日志。啟用了用戶出口之后,就允許前滾恢復。當啟用了 userexit配置參數(shù)時,就不需要啟用 logretain。這兩個參數(shù)中的任何一個都足以允許前滾恢復方法。 使用該參數(shù)表示覆蓋了循環(huán)日志記錄(缺省值)。 userexit包含有 logretain的功

29、能,反之卻不成立。 當使用 userexit 配置參數(shù)或 logretain配置參數(shù)以允許前滾恢復時,活動日志路徑非常重要。當啟用了 userexit配置參數(shù)時,會調(diào)用用戶出口來歸檔日志文件,并將它們移到活動日志路徑以外的位置。 以下是該參數(shù)的有效值:No(缺省值) Yes 如果啟用了該參數(shù),無論 logretain參數(shù)如何設置,都會執(zhí)行日志保留記錄。該參數(shù)還表示用戶出口程序應該用于歸檔和檢索日志文件。當數(shù)據(jù)庫管理器關閉日志文件時,會歸檔日志文件。當 ROLLFORWARD 實用程序需要使用日志文件來恢復數(shù)據(jù)庫時,就會檢索它們。 在啟用了參數(shù) logretain和或 userexit時,必須對

30、數(shù)據(jù)庫進行完全備份。這一狀態(tài)由 backup_pending標志參數(shù)表示。 如果取消選擇這兩個參數(shù),就不能對數(shù)據(jù)庫進行前滾恢復,因為將不再保留日志。在這種情況下,數(shù)據(jù)庫管理器會刪除 logpath目錄中的所有日志文件(包括聯(lián)機歸檔日志文件),分配新的活動日志文件,并且回復到循環(huán)日志記錄。3.3 LOGPRIMARY 該參數(shù)指定要創(chuàng)建的主日志的數(shù)量。無論主日志是空的還是滿的,所需的磁盤空間量都是相同的。因此,如果您配置的日志數(shù)量比需要的多,那么您就不必要地多使用了磁盤空間。如果您配置的日志太少了,就會遇到“日志滿”情況。當選擇要配置的日志數(shù)量時,必須考慮您生成的每個日志的大小,以及您的應用程序是

31、否能處理“日志滿”情況。對于 V8.1,這個限制是 256 GB。即,日志文件的數(shù)量(LOGPRIMARY LOGSECOND)乘以以字節(jié)為單位的每個日志文件的大小(LOGFILSIZ * 4096)必須小于256 GB。3.4 LOGSECOND該參數(shù)指定為恢復日志文件(僅當需要時)而創(chuàng)建和使用的輔助日志文件的數(shù)量。請注意,日志文件的總數(shù)由以下等式限制:logprimary logsecond< 256(DB2 UDB V8.1) 當主日志文件滿了時,就會按需要每次分配一個輔助日志文件(大小為 logfilsiz),最多達到由該參數(shù)控制的最大數(shù)量。如果所需的輔助日志文件的數(shù)量比該參數(shù)允

32、許的數(shù)量大,就會將一個錯誤代碼返回到應用程序,并且會停止對數(shù)據(jù)庫的操作。 3.5 LOGFILSZ該參數(shù)確定了每個已配置日志的頁數(shù)量。一頁的大小是 4 KB。每個主日志的大?。摂?shù)量)對數(shù)據(jù)庫性能有直接影響。當將數(shù)據(jù)庫配置成保留日志,每當寫滿一個日志時,就會發(fā)出一個分配和初始化一個新日志的請求。增加日志大小會減少為分配和初始化新日志所需的請求數(shù)量。但是,請注意,日志大小越大,格式化每個新日志所花費的時間就越多。格式化新日志對于連接到數(shù)據(jù)庫的應用程序是透明的,而且也不會影響數(shù)據(jù)庫性能。3.6 LOGBUFSZ該參數(shù)允許您指定數(shù)據(jù)庫共享內(nèi)存的數(shù)量,在將日志記錄寫到磁盤之前,用該共享內(nèi)存作為這些記錄

33、的緩沖區(qū)。當發(fā)生以下情況之一時,會將日志記錄寫到磁盤:事務提交/日志緩沖區(qū)滿了/引起寫操作的其它一些內(nèi)部數(shù)據(jù)庫管理器事件。 緩沖日志記錄將導致使日志文件 I/O 更有效,因為將日志記錄寫到磁盤的頻率將更低,而每次寫入磁盤的日志記錄則更多。3.7 MINCOMMIT該參數(shù)允許您延遲將日志記錄寫到磁盤,直到已經(jīng)執(zhí)行了所規(guī)定的最小數(shù)量的提交。當您有多個針對數(shù)據(jù)庫的應用程序正在運行,并且應用程序在非常短的時間段里請求了許多提交,那么該延遲可以幫助減少與寫日志記錄相關的數(shù)據(jù)庫管理器開銷,從而提高性能。這種提交分組只有在該參數(shù)的值大于 1 且連接到數(shù)據(jù)庫的應用程序數(shù)量大于該參數(shù)的值時才會發(fā)生。當執(zhí)行提交分

34、組時,應用程序提交請求將被掛起,直到以下兩種情況有一種先發(fā)生:時間過去一秒或者提交請求的數(shù)量等于該參數(shù)的值。3.8 NEWLOGPATH數(shù)據(jù)庫日志最初創(chuàng)建在名為 SQLOGDIR 的目錄中,該目錄是數(shù)據(jù)庫目錄的子目錄??梢酝ㄟ^將該配置參數(shù)的值更改成指向另一個目錄或設備來更改放置活動日志和將來歸檔日志的位置。如果將數(shù)據(jù)庫配置成進行前滾恢復,那么就不會將當前存儲在數(shù)據(jù)庫日志路徑目錄中的歸檔日志移到新的位置。因為您可以更改日志路徑位置,所以前滾恢復所需的日志可能會在不同的目錄中或在不同的設備上存在。在前滾過程中可以更改此配置參數(shù)以允許您訪問多個位置中的日志。在數(shù)據(jù)庫處于一致狀態(tài)之前,將不會更改對 n

35、ewlogpath的值。信息性數(shù)據(jù)庫配置參數(shù) database_consistent表示數(shù)據(jù)庫的狀態(tài)。 注:數(shù)據(jù)庫管理器每次寫一個事務日志??梢允腔顒訝顟B(tài)的事務的總大小受數(shù)據(jù)庫配置參數(shù)限制: 日志空間 >= LOGFILSIZ * LOGPRIMARY * 4096 字節(jié) <= LOGFILSIZ * (LOGPRIMARY + LOGSECOND) * 4096 字節(jié) <= 32 GB(對于 V7.2)或 <= 256 GB(對于 V8.1) 3.9 日志存儲位置 缺省情況下,日志文件存儲在以下目錄中:在 Windows 上:<instance name>

36、/NODE0000/SQL000××/SQLOGDIR 在 UNIX 上:<instance home directory>/<instance name>/NODE0000/SQL000××/SQLOGDIR 在上述目錄路徑中,對于所創(chuàng)建的每個數(shù)據(jù)庫,會有一個 SQLxxxxx(“xxxxx”是以 0 開頭的數(shù)字)目錄。如果在 DB2 實例中有多個物理數(shù)據(jù)庫,就很難知道哪個 SQLxxxxx 目錄屬于哪個數(shù)據(jù)庫。要解決這個問題,只要輸入以下 DB2 命令:db2 list db directory on c/d就可以看出數(shù)據(jù)庫對

37、應的編號,eg:db2 list db directory on d可以看到dbtest數(shù)據(jù)庫的一些信息如下:數(shù)據(jù)庫別名 = DBTEST數(shù)據(jù)庫名稱 = DBTEST數(shù)據(jù)庫目錄 = SQL00002數(shù)據(jù)庫發(fā)行版級別 = a.00注釋 =目錄條目類型 = 本地目錄數(shù)據(jù)庫分區(qū)號 = 0數(shù)據(jù)庫分區(qū)號 = 0或者用命令db2 get db cfg for dbtest日志文件路徑 = D:/DB2/NODE0000/SQL00002/SQLOGDIR/四.歸檔日志的設置在DB2版本8.2以前,采用用戶出口程序的方式進行日志歸檔操作,從DB2版本8.2開始,DB2集成了日志管理功能,目前支持采用如下三種

38、方式歸檔日志: DISK:將歸檔日志存放到磁盤上 TSM:將歸檔日志存放到TSM服務器 BAR APIs:第三方廠商提供的產(chǎn)品 DB2在版本8.2中增加了如下配置參數(shù): 第一個日志歸檔方法 (LOGARCHMETH1) = LOGRETAIN logarchmeth1 的選項 (LOGARCHOPT1) = 第二個日志歸檔方法 (LOGARCHMETH2) = OFF logarchmeth2 的選項 (LOGARCHOPT2) = 故障轉(zhuǎn)移日志歸檔路徑 (FAILARCHPATH) = 錯誤時重試日志歸檔次數(shù) (NUMARCHRETRY) = 5 日志歸檔重試延遲(秒) (ARCHRETRY

39、DELAY) = 20 供應商選項 (VENDOROPT) = 下面是關于這些參數(shù)的說明:日志歸檔方法 1(logarchmeth1)和日志歸檔方法 2(logarchmeth2)這些參數(shù)使數(shù)據(jù)庫管理器將日志文件歸檔至活動日志路徑之外的位置。如果指定這兩個參數(shù),每個日志文件均歸檔兩次。這意味著您將擁有兩個位于不同位置的歸檔日志文件副本。這些參數(shù)的有效值包括介質(zhì)類型,且在某些情況下,包括目標字段。 使用冒號(:)來分隔值。有效的值為:OFF 指定不使用日志歸檔方法。如果 logarchmeth1 和logarchmeth2 都設置為 OFF,則認為數(shù)據(jù)庫正在使用循環(huán)日志記錄,且不可前滾恢復。這是

40、缺省值。LOGRETAIN 此值僅可用于 logarchmeth1,且等價于將 logretain配置參數(shù)設置為 RECOVERY。如果指定此值,將自動更新logretain 配置參數(shù)。USEREXIT 此值僅對 logarchmeth1 有效,且等價于將userexit 配置參數(shù)設置為 ON。如果指定此值,將自動更新userexit 配置參數(shù)。DISK 此值后必須緊跟冒號(:),然后是全限定現(xiàn)有路徑名,日志文件將在其中歸檔。例如,如果將 logarchmeth1 設置為 DISK: D:/DB2/Arch_log,則將歸檔日志文件放入名為 D:/DB2/Arch_log 的目錄。注意: 如果

41、正在歸檔至磁帶,可以使用 db2tapemgr 實用程序來存儲和檢索日志文件。TSM(Tivoli storage management) 如果指定不帶任何附加配置參數(shù),此值指示應該使用缺省管理類,將日志文件歸檔在本地 TSM 服務器上。如果此值后緊跟冒號(:)和 TSM 管理類,則使用指定的管理類來歸檔日志文件。VENDOR 指定將使用供應商庫來歸檔日志文件。此值后必須緊跟冒號(:)和庫的名稱。庫中提供的 API 必須使用備份并復原供應商產(chǎn)品的 API。 注意:如果將 logarchmeth1 或 logarchmeth2 設置為 OFF 以外的值,則必須配置數(shù)據(jù)庫以進行前滾恢復。 如果更新

42、 userexit或 logretain 配置參數(shù),將自動更新 logarchmeth1,反之亦然。然而,如果您正在使用 userexit 或 logretain,必須將 logarchmeth2 設置為 OFF。日志歸檔選項 1(logarchopt1)、日志歸檔選項 2(logarchopt2):指定傳遞至 TSM 服務器或供應商 API 的字符串。對于 TSM,此字段用于允許數(shù)據(jù)庫檢索在不同 TSM 節(jié)點或通過不同 TSM用戶生成的日志。字符串必須以如下格式提供: "-fromnode=nodename -fromowner=ownername"其中 nodename

43、 是最初歸檔日志文件的 TSM 節(jié)點的名稱,ownername 是最初歸檔日志文件的 TSM 用戶的名稱。每個日志歸檔選項字段對應于一個日志歸檔方法:logarchopt1與 logarchmeth1 配合使用,logarchopt2 與 logarchmeth2 配合使用。故障轉(zhuǎn)移歸檔路徑(failarchpath)如果指定的日志歸檔方法失敗,則為歸檔日志文件指定備用目錄。在失敗的日志歸檔方法再次可用之前,此目錄是日志文件的臨時存儲區(qū),此時日志文件將從此目錄中移至日志歸檔方法。通過將日志文件移動至該臨時位置,可以避免日志目錄發(fā)生已滿情況。此參數(shù)必須是一個全限定現(xiàn)有目錄。出錯時的歸檔重試次數(shù)(

44、numarchretry)指定在日志文件歸檔到 failarchpath 配置參數(shù)指定的路徑之前,使用指定的歸檔方法歸檔日志文件的嘗試次數(shù)。如果設置了 failarchpath 配置參數(shù),則只能使用該參數(shù)。缺省值為 5。歸檔重試延遲(archretrydelay) 指定在上一次嘗試失敗之后,歸檔日志文件嘗試之間等待的時間量(以秒計)。缺省值為 20。 供應商選項(VENDOROPT) 指定使用第三方廠商進行備份、恢復、歸檔日志時需要的額外參數(shù)配置。參考第三方廠商存儲軟件的說明配置。 下面我們以一個簡單的例子配置來說明如何將日志歸檔到磁盤。 1、修改數(shù)據(jù)庫dbtest的配置參數(shù)(請在更新之前確保使用的目錄已經(jīng)建立,而且DB2實例用戶有合適的權限):db2 update db cfg for dbtest using logarchmeth1 DISK:D:/DB2/Arch_log注意:如果先前你沒有設置為歸檔

溫馨提示

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

評論

0/150

提交評論