重置DB2表空間靜默狀態(tài)的方法
DB2表空間靜默狀態(tài)應(yīng)該如何重置呢?這是很多人都提到的問(wèn)題,下面就為您詳細(xì)介紹重置DB2表空間靜默狀態(tài)的方法,供您參考。
正確的重置DB2表空間靜默狀態(tài)的方法:
導(dǎo)致上述問(wèn)題的原因是由于進(jìn)行重置操作的用戶不正確。靜默命令的 RESET 選項(xiàng)只有由原來(lái)發(fā)出靜默命令的用戶執(zhí)行才能真正生效,即使使用其他執(zhí)行 RESET 成功,也無(wú)法除去原用戶對(duì)表空間設(shè)置的靜默狀態(tài)。因此正確除去DB2表空間靜默狀態(tài)的步驟為:
a) 查找靜默表空間的用戶:
借助 db2dart 工具產(chǎn)生的報(bào)告,我們可以查詢到原始發(fā)出 QUIESCE 命令的用戶。具體執(zhí)行步驟如下:
b) 停止 DB2 實(shí)例:
db2stop force
c) 產(chǎn)生 DB2DART 的報(bào)告:
db2dart <數(shù)據(jù)庫(kù)別名> /DTSF
d) 從報(bào)告中查找發(fā)靜默命令的用戶:
根據(jù)命令執(zhí)行結(jié)果的提示,找到 DB2DART 產(chǎn)生的報(bào)告文件,打開(kāi)該文件,對(duì)于靜默的表空間,可以在文件中找到類(lèi)似如下信息:
- Information for Tablespace ID: 2
- -------------------------------------
- Tablespace name: USERSPACE1
- Table space flags (HEX): 0101
- Table space type: System Managed Space (SMS)
- Page size: 4096
- Extent size: 32
- Prefetch size: 32
- Version: 9
- Tablespace state: 2
- Number of quiescers: 1
- 1) Userid of quiescer: DB2INST1
- Quiesce state: 2
- Tbspace ID of quiesced object: 2
- Table ID of quiesced object: 3
- EDU ID: 0
- Agent ID: 0
- ......
從而可以確定最早發(fā)出靜默命令的用戶為:DB2INST1。
e) 以正確的用戶登陸進(jìn)行重置操作:
使用查找到的 DB2INST1 用戶登陸后,執(zhí)行重置命令:
db2 quiesce tablespaces for table db2inst1.staff reset
命令成功后連接數(shù)據(jù)庫(kù)
f) 驗(yàn)證表空間狀態(tài):
- db2 list tablespaces
- ......
- Tablespace ID = 2
- Name = USERSPACE1
- Type = System managed space
- Contents = Any data
- State = 0x0000
- Detailed explanation:
- Normal
- ......
上述輸出表明重置的靜默命令執(zhí)行成功,表空間狀態(tài)已正常,其中的表均可被正常訪問(wèn)至此完成了除去DB2表空間靜默狀態(tài),使表空間狀態(tài)恢復(fù)正常的操作。
【編輯推薦】