環境是AIX 6.1,DB2版本9.7.0.7首先查看db2主進程是否存在ps -ef|grep db2sys若不存在使用db2start開啟Database Backup介質為冷備資料來源,cd 到介質所在目錄下:cd /home/db2inst1/backup使用redirect參數來更改目錄:1.>db2 restore db xxx from . replace existing redirect without rolling forwardSQL1277W A redirected restore operation is being performed. Table space configuration can now be viewed and table spaces that do not use automatic storage can have their containers reconfigured.DB20000I The RESTORE DATABASE command completed successfully.
列出xxx資料庫容器詳細資料:2.>db2pd -db xxx -tablespacesDatabase Partition 0 -- Database xxx -- Active -- Up 0 days 00:00:16 -- Date 2014-05-07-13.06.01.022471
Tablespace Configuration:Address Id Type Content PageSz ExtentSz Auto Prefetch BufID BufIDDisk FSC NumCntrs MaxStripe LastConsecPg Name0x0700000103DED1C0 0 SMS Regular 4096 32 Yes 32 1 1 On 1 0 31 SYSCATSPACE0x0700000103DF06E0 1 SMS SysTmp 4096 32 Yes 32 1 1 On 1 0 31 TEMPSPACE10x0700000103DF3C00 2 SMS Regular 4096 32 Yes 32 1 1 On 1 0 31 USERSPACE10x0700000103DF7360 3 SMS Regular 4096 32 Yes 32 1 1 On 1 0 31 SYSTOOLSPACE0x0700000103DFAAC0 4 SMS UsrTmp 4096 32 Yes 32 1 1 On 1 0 31 SYSTOOLSTMPSPACE0x0700000103DFE220 5 DMS Large 4096 32 No 32 1 1 Off 1 0 31 CDTS0x0700000105280080 6 DMS Large 4096 32 No 64 1 1 Off 1 0 31 TSASNCA0x0700000105281560 7 DMS Large 4096 32 No 64 1 1 Off 1 0 31 TSASNUOW0x0700000105282A40 8 SMS Regular 8192 32 No 32 2 2 Off 1 0 31 CLOBTBS1
Tablespace Statistics:Address Id TotalPgs UsablePgs UsedPgs PndFreePgs FreePgs HWM Max HWM State MinRecTime NQuiescers PathsDropped 0x0700000103DED1C0 0 0 0 0 0 0 0 0 0x02001100 1373014041 0 No 0x0700000103DF06E0 1 0 0 0 0 0 0 0 0x02001100 0 0 No 0x0700000103DF3C00 2 0 0 0 0 0 0 0 0x02001100 1398850212 0 No 0x0700000103DF7360 3 0 0 0 0 0 0 0 0x02001100 1373021563 0 No 0x0700000103DFAAC0 4 0 0 0 0 0 0 0 0x02001100 1301089227 0 No 0x0700000103DFE220 5 50000 49952 0 0 0 0 0 0x02001100 1374892759 0 No 0x0700000105280080 6 38400 38368 0 0 0 0 0 0x02001100 1374890249 0 No 0x0700000105281560 7 12800 12768 0 0 0 0 0 0x02001100 1374890249 0 No 0x0700000105282A40 8 0 0 0 0 0 0 0 0x02001100 1398850032 0 No
Tablespace Autoresize Statistics:Address Id AS AR InitSize IncSize IIP MaxSize LastResize LRF0x0700000103DED1C0 0 No No 0 0 No 0 None No 0x0700000103DF06E0 1 No No 0 0 No 0 None No 0x0700000103DF3C00 2 No No 0 0 No 0 None No 0x0700000103DF7360 3 No No 0 0 No 0 None No 0x0700000103DFAAC0 4 No No 0 0 No 0 None No 0x0700000103DFE220 5 No No 0 0 No 0 None No 0x0700000105280080 6 No No 0 0 No 0 None No 0x0700000105281560 7 No No 0 0 No 0 None No 0x0700000105282A40 8 No No 0 0 No 0 None No
Containers:Address TspId ContainNum Type TotalPgs UseablePgs PathID StripeSet Container 0x0700000103CFFA40 0 0 Path 0 0 - 0 /db2sys/db2inst1/XXX/NODE0000/SQL00003/SQLT0000.00x0700000103CFFC80 1 0 Path 0 0 - 0 /db2sys/db2inst1/XXX/NODE0000/SQL00003/SQLT0001.00x0700000103DF50E0 2 0 Path 0 0 - 0 /db2sys/db2inst1/XXX/NODE0000/SQL00003/SQLT0002.00x0700000103DF8840 3 0 Path 0 0 - 0 /db2sys/db2inst1/XXX/NODE0000/SQL00003/SYSTOOLSPACE0x0700000103DFBFA0 4 0 Path 0 0 - 0 /db2sys/db2inst1/XXX/NODE0000/SQL00003/SYSTOOLSTMPSPACE0x0700000103DFF700 5 0 File 50000 49952 - 0 /db2sys/db2inst1/XXX/NODE0000/SQL00003/CDTABLESPACE.DAT0x0700000103DFF940 6 0 File 38400 38368 - 0 /db2sys/db2inst1/XXX/NODE0000/SQL00003/TSASNCA0x0700000103DFFB80 7 0 File 12800 12768 - 0 /db2sys/db2inst1/XXX/NODE0000/SQL00003/TSASNUOW0x0700000103DFFDC0 8 0 Path 0 0 - 0 /db2sys/db2inst1/XXX/NODE0000/SQL00003/XXXCLOB
在/db2sys目錄下建立xxx資料庫容器儲存路徑:cd /db2sys/db2inst1mkdir xxx3.更改容器及檔案的儲存路徑:db2 "set tablespace containers for 0 using (Path '/db2sys/db2inst1/xxx/NODE0000/SQL00001/SQLT0000.0')"db2 "set tablespace containers for 1 using (Path '/db2sys/db2inst1/xxx/NODE0000/SQL00001/SQLT0001.0')"db2 "set tablespace containers for 2 using (Path '/db2sys/db2inst1/xxx/NODE0000/SQL00001/SQLT0002.0')"db2 "set tablespace containers for 3 using (Path '/db2sys/db2inst1/xxx/NODE0000/SQL00001/SYSTOOLSPACE')"db2 "set tablespace containers for 4 using (Path '/db2sys/db2inst1/xxx/NODE0000/SQL00001/SYSTOOLSTMPSPACE')"db2 "set tablespace containers for 5 using (File '/db2sys/db2inst1/xxx/NODE0000/SQL00001/CDTABLESPACE.DAT' 50000)"db2 "set tablespace containers for 6 using (File '/db2sys/db2inst1/xxx/NODE0000/SQL00001/TSASNCA' 38400)"db2 "set tablespace containers for 7 using (File '/db2sys/db2inst1/xxx/NODE0000/SQL00001/TSASNUOW' 12800)"db2 "set tablespace containers for 8 using (Path '/db2sys/db2inst1/xxx/NODE0000/SQL00001/xxxCLOB')"
ps:其中遇到一個SQL0298N的報錯: SQL0298N Bad container path. SQLSTATE=428B2 容器類型和容器名指定均正確。查到最後查不出辦法,最後使用一個比較笨拙的辦法; 解決方案: 刪除xxx資料庫:
>db2 drop db xxx 重新使用db2 restore 恢複並添加to參數: >db2 restore db xxx from . on /db2sys/db2inst1/xxx replace existing redirect without rolling forward 在重複上面更改容器和資料檔案路徑的命令就OK了。路徑更改完畢之後,restore continue:>db2 restore db xxx continue DB20000I The RESTORE DATABASE command completed successfully.
更改歸檔路徑>db2 update db cfg for xxx using LOGARCHMETH1 disk:/db2sys/db2log/xxx
重啟資料庫使參數生效:>db2 stop>db2 start
Ps:其中db2 connect 的時候遇到SQL0332N>db2 connect to xxxSQL0332N Character conversion from the source code page "1386" to the target code page "819" is not supported. SQLSTATE=57017解決方案:>db2set DB2COMM=tcpip
>db2set DB2CODEPAGE=1386
>db2set DB2COMM=tcpipDB2CODEPAGE=1386>db2 terminate
>db2 connect to cnap
Database Connection Information
Database server = DB2/AIX64 9.7.7 SQL authorization ID = DB2INST1 Local database alias = XXX
Ok ,DB2 就算恢複完成了。