db2資料庫的操作以及一些常見問題解決

dongyang1124發表於2018-09-13

前兩天發現自己的db2資料庫資料已經佔用系統盤50多個G資源,導致系統盤滿了,所以寫的這篇文章不會有截圖出現。。。雖然真的是剛接觸的時候
就個人而言僅瞭解9.7版本還有管理工具,雖然很難用,但是10.0以上版本就不存在管理工具,只能用管理命令列工具運算元據庫。。
1、登入資料庫 db2
2、檢視當前資料庫例項詳細列表 list database directory
3、建立資料庫 create db 資料庫名稱
4、刪除資料庫 drop db 資料庫名稱
5、連線資料庫 connect to 資料庫名稱 user 使用者名稱 using 名稱
6、匯出資料庫表(此方法很適合資料量很大的表匯出,超級快)export to D:user.del of del select * from user
這裡寫圖片描述
這裡寫圖片描述
7、還有一點很重要的是可能表欄位很長,我記得有個專案的欄位每個都達到varchar(1024),然後資料庫見不上表,找了好長時間才找到問題就是資料庫表空間不足,直接這樣建立就可以,,,

create database 資料庫名稱 automatic storage yes  using codeset UTF-8 territory US pagesize 32768;

下面是自己找這個解決的一些連線和方案。。。

--首先建立一個頁大小為32k的緩衝池
 CREATE BUFFERPOOL buf1 IMMEDIATE  SIZE 250 NUMBLOCKPAGES 108 BLOCKSIZE 32 PAGESIZE 32 K ;

-然後使用這個緩衝池
    CREATE  LARGE  TABLESPACE ts2 PAGESIZE 32 K  MANAGED BY AUTOMATIC STORAGE EXTENTSIZE 32 OVERHEAD 10.5 PREFETCHSIZE 32 TRANSFERRATE 0.14 BUFFERPOOL  buf1;


修改事務日誌大小
    update db cfg using LOGFILSIZ 10240 --日誌檔案大小
    update db cfg using LOGPRIMARY 100 --主日誌檔案個數
    update db cfg using LOGSECOND 100 --輔助日誌檔案的個數



//新建緩衝池以及臨時表空間
CREATE BUFFORPOOL BUF1 PAGESIZE 32K;
CREATE TEMPORARY TABLESPACE mysystmp1 IN DATABASE PARTITION GROUP IBMTEMPGROUP  PAGESIZE 32K  MANAGED BY SYSTEM USING ('D:\DB2\NODE0000\NEWUMPDB\T0000004') EXTENTSIZE 32 PREFETCHSIZE 32 BUFFERPOOL BUF1 DROPPED TABLE RECOVERY OFF;

詳細可檢視http://blog.csdn.net/m0_37373806/article/details/56843471幫助你在已有資料庫的情況下解決表空間不足問題。
今天想起來整理這些問題,可能會有遺漏,後期補充吧。

相關文章