程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> DB2數據庫部分日常實用操(4)

DB2數據庫部分日常實用操(4)

編輯:DB2教程

12、Load 操作

在進行load的時候

  1. db2 "load from acmmst.txt of del modifIEd by coldel| replace into acmmst nonrecoverable ” 

由於數據不規范出現錯誤,強行中斷以後,進行操作的時候出現如下錯誤:

  1. SQL0668NOperation not allowed for reason code "3" on table "BTP.ACMMST".  
  2. SQLSTATE=57016 

此時,進行反方向操作即可:

  1. db2 "load from /dev/null of del terminate into acmmst nonrecoverable"。 

如果沒有使用參數nonrecoverable,則會出現DB2數據庫狀態不正確的情況,使用:

db2 list tablesapces show detail 查看狀態,如果不是正常狀態,則脫機狀態進行備份即可。

兩個表文件之間UPDATE的方法:

  1. db2 "update cdmcrd set offset = (select cdmlsl.offset from cdmlsl where cdmlsl.crdno=cdmcrd.crdno) where cdmcrd.crdno in (select cdmlsl.crdno from cdmlsl) 

13、多字段條件查詢和修改

表A中的字段有actno, cnlno,bal,pwd;表B中的字段為Actno,Cnlno,TxnAmt;目的是將A表中的bal修改為B表中的TxnAmt,命令:

  1. db2 "update A set bal=(select txnamt from B where actno=A.actno and cnlno=A.Cnlno) where A.actno||A.cnlno in (select Actno||cnlno from B ); 

14、多條件匹配查詢

查詢某個表中條件是B?AAA的記錄:

  1. db2 "select * from A where actno like 'B_AAA%'". 

查詢數據中存在某些字符的記錄:

  1. db2 "select * from A where actno like '%-AAA%". 

15、數據庫恢復的處理

進行DB2數據庫恢復的時候使用以下的命令:

以下是引用片段:

  1. restore db db1 to /tstdb2/catalog into db newlogpath /tstdb2/db2log buffer 2048   
  2. replace existing redirect parallelism 16;   
  3. set tablespace containers for 1 using (path '/tstdb2/db2tmp');   
  4. set tablespace containers for 2 using   
  5. (device '/dev/rtstcontlv00' 2621440, device '/dev/rtstcontlv01' 2621440,   
  6. device '/dev/rtstcontlv02' 2621440, device '/dev/rtstcontlv03' 2621440 ) ;   
  7. restore db db1 continue;   

恢復完成以後執行命令db2s時報如下的錯誤:

以下是引用片段:

  1. P570:>db2s   
  2. SQL1117N A connection to or activation of database "DB" cannot be made   
  3. because of ROLL-FORWARD PENDING. SQLSTATE=57019   
  4. DB21034E The command was processed as an SQL statement because it was not a   
  5. valid Command Line Processor command. During SQL processing it returned:   
  6. SQL1024N A database connection does not exist. SQLSTATE=08003   

解決辦法如下:

以下是引用片段:

  1. P570:>db2 rollforward db db to end of logs and complete   
  2. Rollforward Status   
  3. Input database alias = db   
  4. Number of nodes have returned status = 1   
  5. Node number = 0   
  6. Rollforward status = not pending   
  7. Next log file to be read =   
  8. Log files processed = -   
  9. Last committed transaction = 2005-11-20-10.59.23.000000   
  10. DB20000I The ROLLFORWARD command completed successfully.  

以上的相關內容就是對DB2數據庫部分日常實用操作的介紹,望你能有所收獲。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved