SQL0294N The container is already in use. SQLSTATE=42730

具體過程如下:

  • 首先我創建了一個裸設備

mklv -t raw -y 'my_dbdat4_lv' datavg 100

創建lv時會同時生成2個設備,一個爲字符設備(c開頭的爲字符設備rmy_dbdat4_lv),一個爲塊設備(b開頭的爲塊設備)。

cd /dev

ls -lrt

brw-rw----        1      system            37, 1 Oct 10 08:40 my_dbdat4_lv

crw-rw----        1      system            37, 1 Oct 10 08:40 rmy_dbdat4_lv

我數據庫使用的是字符設備

chown -R db2inst1:db2adm rmy_dbdat4_lv

  • 在使用字符設備創建表空間的時候,報錯SQL0294N The container is already in use. SQLSTATE=42730

建bufferpool和表空間語句如下:

建bufferpool:db2 CREATE BUFFERPOOL BP_4K SIZE 1280 PAGESIZE 4K
建表空間:db2 "CREATE TABLESPACE DMS_DAT4K  PAGESIZE 4096 MANAGED BY DATABASE  USING (DEVICE '/dev/rmy_dbdat4_lv' 10000000) BUFFERPOOL BP_4K"

報錯後在網上搜了一些解決方案,都是使用使用 db2untag 實用程序來從容器除去 DB2 容器標記

1、直接對塊設備db2untag -f /dev/my_dbdat4_lv          

但是db2untag命令不能成功運行,系統認爲db2untag不是目錄

2、因爲我使用的是字符設備創建表空間,我試了一下db2untag -f /dev/rmy_dbdat4_lv

結果db2untag成功了,再去創建表空間也成功了   

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章