一生產AIX伺服器上,DB2資料庫需要備份,備份中報SQL2059W錯誤,具體資訊如下:
$ db2 backup db happydb online to /backup include logs
SQL2059W A device full warning was encountered on device "/backup".
Do you want to continue(c), terminate this device only(d), abort the utility(t) ? (c/d/t) t
SQL2001N The utility was interrupted. The output data may be incomplete.
這個錯誤提示一般跟作業系統關係較大,而非DB2資料庫的錯誤。
1、檢查檔案系統是不是大檔案系統,是否有limits限制;
2、檢查目錄所在的空間是否充足;
其一
1、查看活動的卷
# lsvg -o
rootvg
# lsvg -l rootvg
rootvg:
LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT
hd5 boot 1 2 2 closed/syncd N/A
hd6 paging 24 48 2 open/syncd N/A
hd8 jfs2log 1 2 2 open/syncd N/A
hd4 jfs2 1 2 2 open/syncd /
hd2 jfs2 40 80 2 open/syncd /usr
hd9var jfs2 4 8 2 open/syncd /var
hd3 jfs2 8 16 2 open/syncd /tmp
hd1 jfs2 140 280 2 open/syncd /home
hd10opt jfs2 16 32 2 open/syncd /opt
lg_dumplv sysdump 8 8 1 open/syncd N/A
paging00 paging 50 50 1 open/syncd N/A
lv002 jfs2 248 496 2 open/syncd /backup
"/backup"的檔案系統為JFS2,是支援大檔案系統的。對於JFS檔案系統,在大多數執行個體中,多個檔案系統使用大小配置為4 MB 的公用日誌。例如,在初始安裝後,根卷組中的所有檔案系統將邏輯卷 hd8 用作公用 JFS 日誌。預設邏輯卷分區大小是 4 MB,預設日誌大小是一個分區,因此,根卷組通常包含一個 4 MB 的 JFS 日誌。當檔案系統超過 2 GB 或使用單個日誌的檔案系統空間的總量超過 2 GB時,預設日誌大小可能不足。一般來說普通JFS支援的最大檔案為2G;支援大檔案的JFS為64G;JFS2支援的大檔案為1T
2、檢查/etc/security/limits檔案中的參數,特別注意FSIZE的值。如果出現備份時出現SQL2059W錯誤,可以vi修改/etc/security/limits檔案中的FSIZE的值為-1,注意此更改將在系統重新啟動後生效。
default:
fsize = -1
core = 0
cpu = -1
data =-1
rss = 65536
stack = 65536
nofiles =32768 #-1是無限制)
core_hard = 0
root:
nobody:
db2inst2:
core = -1
data = 491519
stack = 32767
rss = -1
fsize = -1
nofiles =10000
其二
1、查看ROOTVG有沒有剩餘可擴充的空間
# lsvg rootvg
VOLUME GROUP: rootvg VG IDENTIFIER: 00c5febb00004c0000000120b573a76a
VG STATE: active PP SIZE: 256 megabyte(s)
VG PERMISSION: read/write TOTAL PPs: 1092 (279552 megabytes)
MAX LVs: 256 FREE PPs: 244 (62464 megabytes)
LVs: 12 USED PPs: 848 (217088 megabytes)
OPEN LVs: 11 QUORUM: 1 (Disabled)
TOTAL PVs: 2 VG DESCRIPTORS: 3
STALE PVs: 0 STALE PPs: 0
ACTIVE PVs: 2 AUTO ON: no
MAX PPs per VG: 32512
MAX PPs per PV: 1016 MAX PVs: 32
LTG size (Dynamic): 256 kilobyte(s) AUTO SYNC: no
HOT SPARE: no BB POLICY: relocatable
2、命令擴充/backup目錄
擴充前
# df -g /backup
Filesystem GB blocks Free %Used Iused %Iused Mounted on
/dev/lv002 40.00 14.85 63% 3856 1% /backup
# chfs -a size=+22G /backup
Filesystem size changed to 130023424
擴充後
# df -g /backup
Filesystem GB blocks Free %Used Iused %Iused Mounted on
/dev/lv002 62.00 36.85 41% 3856 1% /backup
# lsvg -l rootvg
rootvg:
LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT
hd5 boot 1 2 2 closed/syncd N/A
hd6 paging 24 48 2 open/syncd N/A
hd8 jfs2log 1 2 2 open/syncd N/A
hd4 jfs2 1 2 2 open/syncd /
hd2 jfs2 40 80 2 open/syncd /usr
hd9var jfs2 4 8 2 open/syncd /var
hd3 jfs2 8 16 2 open/syncd /tmp
hd1 jfs2 140 280 2 open/syncd /home
hd10opt jfs2 16 32 2 open/syncd /opt
lg_dumplv sysdump 8 8 1 open/syncd N/A
paging00 paging 50 50 1 open/syncd N/A
lv002 jfs2 248 496 2 open/syncd /backup
$ db2 backup db happydb online to /backup include logs
Backup successful. The timestamp for this backup image is : 20130307202616
再次備份,發現已經成功了。
$ cd /backup
$ ls -l
total 81305984
-rw-r----- 1 db2inst2 db2grp 21463318528 Mar 07 20:32
HAPPYDB.0.db2inst2.NODE0000.CATN0000.20130307202616.001
經檢查發現該資料庫的備份檔案比較大,有21G多大。所以引起了上述SQL2059W錯誤。
本文出自 “滴水穿石” 部落格,轉載請與作者聯絡!