文章詳情頁(yè)
DB2數(shù)據(jù)庫(kù)歸檔日志的管理方案簡(jiǎn)介
瀏覽:34日期:2023-11-11 08:36:57
需求描述:由于使用了LOGRETAIN=ON數(shù)據(jù)庫(kù)配置,所以數(shù)據(jù)庫(kù)日志文件將不會(huì)被數(shù)據(jù)庫(kù)從活動(dòng)日志目錄中自動(dòng)刪除或循環(huán)利用,活動(dòng)日志目錄中的日志文件將會(huì)越來越多,所以需要對(duì)該目錄下的日志文件進(jìn)行歸檔。問題分析將LOGRETAIN設(shè)置為ON后,數(shù)據(jù)庫(kù)將支持前滾恢復(fù)。此時(shí),系統(tǒng)中將會(huì)存在三種類型的日志文件:活動(dòng)日志:該日志包含尚未提交或回滾的事務(wù)單元的相關(guān)信息,以及已提交但尚未寫入數(shù)據(jù)庫(kù)文件的事務(wù)的信息。聯(lián)機(jī)存檔日志:活動(dòng)日志中所有改動(dòng)對(duì)正常處理已不需要,即該日志中所記錄的事務(wù)都已提交并寫入數(shù)據(jù)庫(kù)文件時(shí),該活動(dòng)日志轉(zhuǎn)換為聯(lián)機(jī)存檔日志。稱之為聯(lián)機(jī),是由于它們與活動(dòng)日志存放在同一個(gè)目錄下。脫機(jī)存檔日志:將聯(lián)機(jī)存檔日志從活動(dòng)日志目錄下Copy到另外的地方存檔,就稱為脫機(jī)存檔日志。這些日志可能在數(shù)據(jù)庫(kù)前滾恢復(fù)的時(shí)候仍然需要。治理數(shù)據(jù)庫(kù)日志的工作可以手工完成(即將聯(lián)機(jī)存檔日志手工拷貝到某個(gè)archive目錄),也可由編寫USEREXIT程序自動(dòng)維護(hù)。由于DB2對(duì)所有平臺(tái)都提供了相應(yīng)的USEREXIT示例程序,而且非常易于修改和使用,所以IBM建議用戶使用USEREXIT程序來治理日志文件。使用USEREXIT程序的方法要使用User exit program自動(dòng)化log文件的archiving和retrieval過程:1. 設(shè)置database cfg參數(shù)logarchmeth1 為USEREXIT。connect to sampleupdate db cfg using logarchmeth1 USEREXITconnect reset2. 創(chuàng)建user exit programs。該程序必須是一個(gè)名為db2uext2的可執(zhí)行文件。DB2在各種平臺(tái)上都提供了User Exit的示例程序,用戶可以通過直接修改該樣本文件來實(shí)現(xiàn)自己的user exit程序。在UNIX(R) based的系統(tǒng)中,該程序存放在sqllib/samples/c目錄下.There are four sample user exit programs for UNIX based systems:• db2uext2.ctsmThis sample uses Tivoli(R) Storage Manager to archive and retrieve database log files.• db2uext2.ctapeThis sample uses tape media to archive and retrieve database log files .• db2uext2.cdiskThis sample uses the operating system COPY command and disk media to archive andretrieve database log files.• db2uxt2.cxbsaThis sample works with the XBSA Draft 0.8 published by the X/Open group.It can be used to archive and retrieve database log files. This sample isonly supported on AIX.•在Windows(R) 系統(tǒng)中,該文件存放在sqllib/samples/c目錄下。There are two sample user exit programs for Windows operating systems:• db2uext2.ctsmThis sample uses Tivoli Storage Manager to archive and retrieve database log files.• db2uext2.cdiskThis sample uses the operating system COPY command and disk media to archiveand retrieve database log files.3. 配置該示例程序,指定要將日志文件Archive到哪個(gè)系統(tǒng)目錄中(在windows平臺(tái)下,程序中默認(rèn)為c:mylogs)。#define ARCHIVE_PATH "c:mylogs"#define RETRIEVE_PATH "c:mylogs"#define AUDIT_ERROR_PATH "c:mylogs"4. 編譯該C文件。cl db2uext2.c5. 拷貝db2uext2.exe到/SQLLIB/BIN目錄下。6. 在db2cmd中鍵入archive log for db sample user db2admin using duan1980命令強(qiáng)制執(zhí)行l(wèi)og日志歸檔任務(wù)。查看c:mylogs目錄下有無日志文件歸檔,驗(yàn)證是否成功。
標(biāo)簽:
DB2
數(shù)據(jù)庫(kù)
排行榜
