国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

DB2表空間backup-pending及表pengding狀態如何處理

IT那活兒 / 3346人閱讀
DB2表空間backup-pending及表pengding狀態如何處理

點擊上方“IT那活兒”,關注后了解更多內容,不管IT什么活兒,干就完了!!!


表空間backup-pending

Load命令中有一個copy選項,可以理解為備份的意思。
Copy支持三種方式:
  • copy on 

  • copy yes 

  • nonrecoverable

Copy on是默認方式,會將表所屬的表空間處于backup-pending狀態,就是為了要提示DBA對表空間進行備份,不然出了問題就沒有辦法進行恢復,目標可以讀,但是不能增刪改。Load命令一旦執行了,表空間立即就會處于backup-pending狀態,就算是終止load操作,也沒有辦法脫離這個狀態。
下面模擬一下load引起的表空間backup-pending情形
[db2i97@localhost ~]$ db2 connect to sample
創建表空間ts1:
[db2i97@localhost ~]$ db2 "create tablespace ts1"
創建表t3:
[db2i97@localhost ~]$ db2 "create table t3 (id int,name char(20)) in ts1"
創建存放歸檔的目錄:
[db2i97@localhost ~]$ mkdir /home/db2i97/archlog
開啟歸檔模式:
[db2i97@localhost ~]$ db2 update db cfg for sample using LOGARCHMETH1 disk:/home/db2i97/archlog
將sample庫全備:
[db2i97@localhost ~]$ db2 backup db sample to /dev/null
準備測試數據:
將這幾條數據導入t3表:
[db2i97@localhost ~]$ db2 "load from t3.del of del insert into t3"
再去查看這張表:
發現可以正常查看。
嘗試修改其中的一條數據:
[db2i97@localhost ~]$ db2 "update t3 set name=newcc where id=3"
再查看表空間狀態:
[db2i97@localhost ~]$ db2 list tablespaces show detail
 Tablespace ID                        = 7
 Name                                 = TS1
 Type                                 = Database managed space
 Contents                             = All permanent data. Large table space.
 State = 0x0020
可以看到ts1表空間處于0x0020狀態。
在線將這個表空間備份:
[db2i97@localhost ~]$ db2 backup db sample tablespace ts1 online to /dev/null
再次查看ts1表空間的狀態:
Tablespace ID = 7
 Name = TS1
 Type = Database managed space
 Contents = All permanent data. Large table space.
 State = 0x0000

   Detailed explanation:
     Normal
恢復正常。
再次嘗試修改表數據:
[db2i97@localhost ~]$ db2 "update t3 set name=newcc where id=3"
DB20000I The SQL command completed successfully.
修改成功。
為了避免這一現象,建議在load數據后面加上nonrecoverable 參數:
[db2i97@localhost ~]$ db2 "load from t3.del of del insert into t3 nonrecoverable"
再次查看表空間狀態:
[db2i97@localhost ~]$ db2 list tablespaces show detail
 Tablespace ID                        = 7
 Name                                 = TS1
 Type                                 = Database managed space
 Contents                             = All permanent data. Large table space.
 State = 0x0000

load pending

如果在提交數據之前,表上的正在執行的load操作被終止了,那么就會出現load pending狀態,如果要使這個表恢復正常,需要調用load terminate、load restart 或 load replace操作。
下面模擬一個load pending情形
創建一個大小為256頁的表空間,再創建一張表:
[root@localhost ~]# mkdir /data1
[root@localhost ~]# chown db2i97:db2i97 /data1
[db2i97@localhost ~]$ db2 "create tablespace ts3 pagesize 8k managed by database using (file /data1/ts2 256) bufferpool bp8k"
[db2i97@localhost ~]$ db2 "create table t1 (id int, name char(50), desc char(150)) in ts1"


編寫一個存儲腳本sp_insert.sql:


[db2i97@localhost ~]$ vi sp_insert.sql
CREATE PROCEDURE sp_insert (IN count int)
   LANGUAGE SQL
BEGIN
      DECLARE i INTEGER DEFAULT 0;
      while i      do
        insert into t1 values( i, abcdefghixxxxxxxxxx || char(i), bbbbbbbbbbbbbbbbbbbb|| char(i) );
        set i=i+1;
      end while;
END

@
執行存儲過程插入數據,然后將數據導出到t1.del:
[db2i97@localhost ~]$ db2 -td@ -f sp_insert.sql
DB20000I The SQL command completed successfully.
[db2i97@localhost ~]$ db2 "call sp_insert(6500)"
  Return Status = 0
[db2i97@localhost ~]$ db2 "export to t1.del of del select * from t1"
SQL3104N The Export utility is beginning to export data to file "t1.del".
SQL3105N The Export utility has finished exporting "6500" rows.
Number of rows exported: 6500


重建一個大小為232頁的表空間,將t1.del數據加載,由于無法分配新頁,引起load出現異常。

通過load query命令信息顯示,t1表處于load pending狀態:
[db2i97@localhost ~]$db2 "create tablespace ts1 pagesize 8k managed by database using (file /data1/ts1 232) bufferpool bp8k"
[db2i97@localhost ~]$ db2 "
create table t1 (id int, name char(50), desc char(50) ) in ts1"
[db2i97@localhost ~]$db2 "
load from t1.del of del insert into t1"
[db2i97@localhost ~]$db2 load query table t1
查看狀態為PENDING的表:
db2 "SELECT TABSCHEMA, TABNAME, LOAD_STATUS FROM 
SYSIBMADM.ADMINTABINFO where load_status = PENDING"
db2 "call sysproc.admin_cmd(Load from /dev/null of del terminate into db2i97.t1)"
PENDING狀態解除。

 


END




本文作者:曹志鋮

本文來源:IT那活兒(上海新炬王翦團隊)

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/129510.html

相關文章

  • 七面阿里:現在分享一下阿里最全面試116題:阿里天貓、螞蟻金服、阿里巴巴面試題含答案

    摘要:面試,是跳槽后第一個需要面對的問題而且不同公司面試的著重點不同但是卻有一個共同點基礎是必考的。對自動災難恢復有要求的表。 貌似這一點適應的行業最廣,但是我可以很肯定的說:當你從事Java一年后,重新找工作時,才會真實的感受到這句話。 工作第一年,往往是什么都充滿新鮮感,什么都學習,沖勁十足的一年;WEB行業知識更新特別快,今天一個框架的新版本,明天又是另一個新框架,有時往往根據項目的需...

    animabear 評論0 收藏0
  • 七面阿里:現在分享一下阿里最全面試116題:阿里天貓、螞蟻金服、阿里巴巴面試題含答案

    摘要:面試,是跳槽后第一個需要面對的問題而且不同公司面試的著重點不同但是卻有一個共同點基礎是必考的。對自動災難恢復有要求的表。 貌似這一點適應的行業最廣,但是我可以很肯定的說:當你從事Java一年后,重新找工作時,才會真實的感受到這句話。 工作第一年,往往是什么都充滿新鮮感,什么都學習,沖勁十足的一年;WEB行業知識更新特別快,今天一個框架的新版本,明天又是另一個新框架,有時往往根據項目的需...

    fjcgreat 評論0 收藏0
  • 網易云 MySQL實例遷移的技術實現

    摘要:本文將介紹網易云基礎服務蜂巢實例遷移功能的實現,并探討如何高效完成實例遷移任務。網易云基礎服務蜂巢提供了負載監控閾值選項,在業務負載超過該閾值時,會暫停遷移操作,直到負載重新低于閾值。 歡迎訪問網易云社區,了解更多網易技術產品運營經驗。 我們把數據庫里部分或全部 Schema和數據遷移到另一個實例的行為稱為實例遷移,將導出數據的實例稱為源實例,導入數據的實例稱為目標實例。 根據遷移數...

    Olivia 評論0 收藏0

發表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<