1. 程式人生 > >DB2新建表空間及匯入匯出資料

DB2新建表空間及匯入匯出資料

DB2新建表空間:

su到相應的資料庫使用者下

db2 connect to 資料庫名
db2(進入模式)

create bufferpool bp32k  all nodes size -1 pagesize  32k(一個表空間對應一條)

......

force application all 

drop tablespace 表空間名
CREATE REGULAR TABLESPACE PUBIDX
    PAGESIZE 8192
    MANAGED BY DATABASE
    USING( FILE '/路徑/檔名' 100 M )
    BUFFERPOOL BP32K
(其中'/路徑/檔名'是自己設定的

,檔名最好與表空間名相同,執行後,在相應的路徑下看檔案是否生成)

注意:

1)需要用db2inst1給使用者賦權:db2 grant connect ,bindadd,createtab on database to user 使用者名稱

2)確定使用者已經加在db2iadm1組裡:usermod -a -G db2iadm1 使用者名稱

3)目錄(即建立表空間的'/路徑/檔名'的裝載表空間檔案的外部目錄)的許可權需要是db2inst1 db2iadm1的

DB2新建臨時表空間:

CREATE TEMPORARY TABLESPACE 臨時表空間名

PAGESIZE 32K

MANAGED BY DATABASE

USING(FILE'/路徑/檔名' 128000)

EXTENTSIZE 80 bufferpool bp32k 

DB2匯入:

匯入表結構的SQL檔案:db2 -tvf ****.sql

匯入dmp表資料:import from ****.dmp of ixf/del insert into 資料庫名.表名 (確定DMP檔案是ixf格式還是def格式)

DB2匯出:

表結構: db2look -d 資料庫名 -a -e -x -o ****.sql

表資料:export to 表名.dmp  of ixf select * from 表名(匯出單個表資料)

                db2move 資料庫名export -u db2inst1 -p 密碼

刪除使用者下的所有表:

select  'DROP TABLE ' || tabname ||' ;'  from syscat.tables where tabschema='SCHAME大寫的'