DB2資料恢複一例 SQL0928N
環境是AIX 6.1,DB2版本9.7.0.7
首先查看db2主進程是否存在
ps -ef|grep db2sys
若不存在使用db2start開啟資料庫
備份介質為冷備資料來源,
cd 到介質所在目錄下:
cd /home/db2inst1/backup
使用redirect參數來更改目錄:
1.>db2 restore db xxx from . replace existing redirect without rolling forward
SQL1277W 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 -tablespaces
Database 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 Name
0x0700000103DED1C0 0 SMS Regular 4096 32 Yes 32 1 1 On 1 0 31 SYSCATSPACE
0x0700000103DF06E0 1 SMS SysTmp 4096 32 Yes 32 1 1 On 1 0 31 TEMPSPACE1
0x0700000103DF3C00 2 SMS Regular 4096 32 Yes 32 1 1 On 1 0 31 USERSPACE1
0x0700000103DF7360 3 SMS Regular 4096 32 Yes 32 1 1 On 1 0 31 SYSTOOLSPACE
0x0700000103DFAAC0 4 SMS UsrTmp 4096 32 Yes 32 1 1 On 1 0 31 SYSTOOLSTMPSPACE
0x0700000103DFE220 5 DMS Large 4096 32 No 32 1 1 Off 1 0 31 CDTS
0x0700000105280080 6 DMS Large 4096 32 No 64 1 1 Off 1 0 31 TSASNCA
0x0700000105281560 7 DMS Large 4096 32 No 64 1 1 Off 1 0 31 TSASNUOW
0x0700000105282A40 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 LRF
0x0700000103DED1C0 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.0
0x0700000103CFFC80 1 0 Path 0 0 - 0 /db2sys/db2inst1/XXX/NODE0000/SQL00003/SQLT0001.0
0x0700000103DF50E0 2 0 Path 0 0 - 0 /db2sys/db2inst1/XXX/NODE0000/SQL00003/SQLT0002.0
0x0700000103DF8840 3 0 Path 0 0 - 0 /db2sys/db2inst1/XXX/NODE0000/SQL00003/SYSTOOLSPACE
0x0700000103DFBFA0 4 0 Path 0 0 - 0 /db2sys/db2inst1/XXX/NODE0000/SQL00003/SYSTOOLSTMPSPACE
0x0700000103DFF700 5 0 File 50000 49952 - 0 /db2sys/db2inst1/XXX/NODE0000/SQL00003/CDTABLESPACE.DAT
0x0700000103DFF940 6 0 File 38400 38368 - 0 /db2sys/db2inst1/XXX/NODE0000/SQL00003/TSASNCA
0x0700000103DFFB80 7 0 File 12800 12768 - 0 /db2sys/db2inst1/XXX/NODE0000/SQL00003/TSASNUOW
0x0700000103DFFDC0 8 0 Path 0 0 - 0 /db2sys/db2inst1/XXX/NODE0000/SQL00003/XXXCLOB
在/db2sys目錄下建立xxx資料庫容器儲存路徑:
cd /db2sys/db2inst1
mkdir xxx
3.更改容器及檔案的儲存路徑:
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 xxx
SQL0332N 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=tcpip
DB2CODEPAGE=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 就算恢複完成了。
本文永久更新連結地址: