以下的文章主要向大家講述的是在Linux操作系統下進實現DB2數據庫遷移的導出步驟,我們大家都知道DB2 Universal Database™(DB2 UDB) 有一對非常有用的工具,可以幫助您實現這種跨平台的備份與恢復功能。
db2move 工具利用了 DB2 的數據移動工具export 和 import 或load)來移動數據庫表。然而,由於數據庫的內容遠遠不止於用戶表,因此您需要使用其他方法在不同的數據庫之間遷移其他數據庫對象,例如約束、觸發器、索引、序列、表空間、緩沖池等。
這就是db2look工具出現的原因。使用這個工具,您可以在源數據庫中捕獲到定義這些對象使用的數據定義語言DDL),並在目標數據庫中使用這些數據定義語言重新創建這些對象。
1、環境說明:
DB2數據庫遷移名字叫 sample , SCHEMA也是oatest ,用戶名是 oatest
2、導出步驟:
(1) 建立新目錄,如果是在 linux 下要注意目錄的權限問題,目錄應該可以被 db2inst1 用戶寫訪問
- [db2inst1@devsvr2 db2inst1]$ pwd
- /home/db2inst1
- [db2inst1@devsvr2 db2inst1]$ mkdir oatest0303
- [db2inst1@devsvr2 db2inst1]$ ls
- db2inst1 db2test Desktop oatest0303 sqllib
(2)進入該目錄
- [db2inst1@devsvr2 db2inst1]$ cd oatest0303/
- [db2inst1@devsvr2 oatest0303]$
(3)用數據庫抽取工具 db2look 導出數據庫結構
主要命令
- db2look -d sample -e -z oatest -l -o oatest.sql
- [db2inst1@devsvr2 oatest0303]$ db2look -d sample -e -z oatest -l -o oatest.sql
未指定用戶標識,db2look 試圖使用環境變量 USER
USER 是: DB2INST1
指定的模式為: OATEST
創建表的 DDL
聯合部分的模式名被忽略
輸出被發送到文件: oatest.sql
腳本中包括DB2數據庫遷移建立 bufferpool 以及tablespace的 DDL 語句
(4)用 db2move 工具導出數據庫數據
主要命令
- db2move sample export
- [db2inst1@devsvr2 oatest0303]$ db2move sample export
- ***** DB2MOVE *****
- Action: EXPORT
- Start time: Sun Mar 5 11:00:52 2006
- Connecting to database SAMPLE ... successful! Server: DB2 Common Server V8.2.0
- EXPORT: 0 rows from table "OATEST "."ATTACHFILE"
- EXPORT: 0 rows from table "OATEST "."BASE"
- ……
(5)打包壓縮該目錄 oatest0303/
主要命令:
- tar zcvf oatest0303.tar.gz oatest0303/
- [db2inst1@devsvr2 oatest0303]$ cd ..
- [db2inst1@devsvr2 db2inst1]$ tar zcvf oatest0303.tar.gz oatest0303/
- oatest0303/
- oatest0303/oatest.sql
- oatest0303/EXPORT.out
- oatest0303/db2move.lst
- oatest0303/tab1.msg
- oatest0303/tab1.ixf
- ……
以上的相關內容就是對在Linux平台下進行DB2數據庫遷移導出步驟的介紹,望你能有所收獲。