使用db2 load from時導致DB的tablespace置成backup pending狀態
使用db2 load from時導致DB的tablespace置成backup pending狀態 我在往表裡面更新或者插入新的資料有報錯,有報SQL0290N這個錯誤,Table space access is not allowed. SQLSTATE=55039 但是這個時候可以往裡面load資料,我的命令是這樣寫的 $db2 load from /worktmp/temp.del of del replace into SCHEMA.TABLENAME 於是搜了很多東西,有人告訴我使用下面命令看看State的值是什麼 $db2 list tablespaces show detail Tablespace ID = 4 Name = TBS4K Type = Database managed space Contents = Any data State = 0x0020 Detailed explanation: Backup pending Total pages = 8388608 Useable pages = 8388096 Used pages = 340864 Free pages = 8047232 High water mark (pages) = 340864 Page size (bytes) = 4096 Extent size (pages) = 128 Prefetch size (pages) = 384 Number of containers = 4 Minimum recovery time = 2008-10-14-05.51.17.000000 Tablespace ID = 5 Name = TBS4KM Type = Database managed space Contents = Any data State = 0x0000 Detailed explanation: Normal Total pages = 8388608 Useable pages = 8388096 Used pages = 4224 Free pages = 8383872 High water mark (pages) = 4224 Page size (bytes) = 4096 Extent size (pages) = 128 Prefetch size (pages) = 384 Number of containers = 4 Minimum recovery time = 2008-10-23-07.30.01.000000 於是再搜,看看tablespace backup pending是怎麼回事!便找到下面這個,連結: http://www.ibm.com/developerworks/cn/db2/library/techarticles/dm-0407melnyk/index.html#bp 表 2. 受支援的表空間狀態 狀態 十六進位制狀態值 描述 示例 Backup Pending 0x20 在執行指定時間點的(point-in-time)表空間前滾操作之後,或者在執行指定了 COPY NO 選項的 LOAD 操作(針對可恢復的資料庫)之後,表空間處於這種狀態。在使用該表空間之前,必須備份該表空間(或者是整個資料庫)。如果沒有備份這個表空間,那麼只能對其中包含的表進行查詢,而無法更新它們。注意:在啟用資料庫進行前滾恢復之後,還必須立即對該資料庫進行備份。如果 logretain資料庫配置引數被設為 RECOVERY,或者 userexit資料庫配置引數被設為 YES,那麼該資料庫是可恢復的。直到對這樣的資料庫進行了備份,您才可以連線它。備份後, backup_pending資料庫配置引數會被設為 NO。 1. 已知載入的輸入檔案 staff_data.del 具有以下內容: 11,"Melnyk",20,"Sales",10,70000,15000: update db cfg for sample using logretain recovery; backup db sample; connect to sample; load from staff_data.del of del messages load.msg insert into staff copy no; update staff set salary = 69000 where id = 11; 2.update db cfg for sample using logretain recovery; connect to sample; 上面提到“在使用該表空間之前,必須備份該表空間(或者是整個資料庫)” 於是我先把整個資料庫備份了一下,再檢視tablespace狀態時,都是Normal的,再次更新或者往表裡面插入資料時一切正常。 這個時候我想起我下的db2 load的命令,以往都是在最後面加了NONRECOVERABLE這個引數,這次沒有,問題肯定在這裡。 便又順藤摸瓜看到了下面的解釋, 如果要對可恢復資料庫執行一系列裝入操作,那麼與每次呼叫裝入操作時都指定 COPY YES 選項相比,指定每個裝入操作都不可恢復並在裝入序列結束時進行備份的速度更快。可以使用 NONRECOVERABLE 選項來指定將裝入事務標記為不可恢復,這樣,以後不可能透過前滾操作恢復該事務。Rollforward 實用程式將跳過該事務,並將把裝入資料的表標記為“無效”。該實用程式還將忽略該對錶執行的任何後續事務。在前滾操作完成後,只能刪除這樣的表(請參閱圖 2)。如果指定了此選項,在裝入操作完成後就不會將表空間置於備份暫掛狀態,並且在裝入操作執行期間不必建立所裝入資料的副本。 連結: [@more@]
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15031690/viewspace-1024607/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- DB2 Load造成tablespace pendingDB2
- db2 sms tablespace 不支援large tablespaceDB2
- db2 export loadDB2Export
- db2 load dumpfile for exceptionDB2Exception
- DB2 LOAD相關DB2
- DB2 backup與resotre,rollforwardDB2Forward
- db2 清空表導致表出現UnavailableDB2AI
- Goldengate for DB2 8.2的介質為DB2 9.7做init loadGoDB2
- db2 load 自增測試DB2
- 更改主機名後,導致db2啟動不了DB2
- db2備份恢復(backup restore)DB2REST
- db2 online backup 設定DB2
- 提取DB2多分割槽環境當前的狀態DB2
- db2 load 自增 generated always as identityDB2IDE
- 【DB2學習】由於TSM損壞導致歸檔失敗DB2
- DB2資料的匯入(Import) 匯出(Export)(Load)DB2ImportExport
- DB2環境部署-在DB2UDBV8.1中使用裸裝置(raw)DB2
- DB2 db2look的使用方法DB2
- 根目錄空間不足導致開啟Managed Server狀態變成FAILED_NOT_RESTARTABLEServerAIREST
- 直播app原始碼,狀態列和導航欄設定成透明狀態APP原始碼
- Production DB expdp 導致standby歸檔恢復時混亂
- db2常用動態效能檢視DB2
- 請置頂:DB2 Developer Workbench下載地址DB2Developer
- DB2 backup fails with SQL2079N return code 30DB2AISQL
- DB2:ksh: db2: not found.DB2
- ANR2968E Database backup terminated. DB2 sqlcode: -2033. DB2 sqlerrmc: 106DatabaseDB2SQL
- 備庫的切換狀態為SWITCHOVER PENDING時進行dataguard主備庫角色切換
- DB2安全-使用者DB2
- read only tablespace backup restoreREST
- db2解決load後系統空間不足問題DB2
- DB2系列之DB2安裝DB2
- 低效sql導致DB負載很高SQL負載
- db2 list history backup輸出資訊中各個型別的解釋DB2型別
- DB2 時間函式小結 .DB2函式
- 【DB2學習】如何把root 使用者新增到DB2 組DB2
- DB2_狀態監視DB2
- Oracle SYSAUX 表空間使用率100% 導致的DB 故障OracleUX
- vue v-for 列表更新導致 iframe 重新整理而狀態丟失的原因以及恢復狀態的方案Vue