實現DB2數據庫遷移之導入步驟在Linux下
今天是要和大家一起討論的是在Linux操作平臺下正確實現DB2數據庫遷移之導入的實際操作步驟,如果你對DB2數據庫遷移之導入的實際操作步驟,心存好奇的話,以下的文章將會揭開它的神秘面紗。
(1)解壓
主要命令:
- tar zxfv oatest0303.tar.gz
- [db2inst1@devsvr2 db2inst1]$ tar zxfv oatest0303.tar.gz
- oatest0303/
- oatest0303/oatest.sql
- oatest0303/EXPORT.out
- oatest0303/db2move.lst
- ……
(2)建立新數據庫 db2 create db sample
主要命令:
- db2 create db sample
- [db2inst1@devsvr2 db2inst1]$ db2 create db sample
DB20000I CREATE DATABASE 命令成功完成。
(3)執行 oatest.sql 腳本建立數據庫
主要命令:
- db2 -tvf oatest.sql
- [db2inst1@devsvr2 db2inst1]$ cd oatest0303
- [db2inst1@devsvr2 oatest0303]$ db2 -tvf oatest.sql
- ……
(4)執行 db2move在Linux平臺下進行DB2數據庫遷移之導入步驟之導入數據
主要命令:
- db2move sample load
- [db2inst1@devsvr2 oatest0303]$ db2move sample load
- ……
- * LOAD: table "OATEST "."UM_USER"
- -Rows read: 1529
- -Loaded: 1529
- -Rejected: 0
- -Deleted: 0
- -Committed: 1529
- Disconnecting from database ... successful!
- End time: Sun Mar 5 10:24:22 2006
(5)檢查一致性
主要命令:
- db2 set integrity for oatest.UM_USER immediate checked
- [db2inst1@devsvr2 oatest0303]$ db2 connect to sample
數據庫連接信息
數據庫服務器 = DB2/LINUX 8.2.0
SQL 授權標識 = DB2INST1
本地數據庫別名 = SAMPLE
- [db2inst1@devsvr2 oatest0303]$ db2 "select count(*) from
- oatest.um_user"
- 1
SQL0668N 由于表 "OATEST.UM_USER" 上的原因碼 "1",所以不允許操作。
- SQLSTATE=57016
- [db2inst1@devsvr2 oatest0303]$ db2 set integrity for oatest.UM_USER
- immediate checked
DB20000I SQL 命令成功完成。
- [db2inst1@devsvr2 oatest0303]$ db2 "select count(*) from
- oatest.um_user"
- 1
- 1529
1 條記錄已選擇。
利用 sql 語句得到要檢查的表的執行語句#p#
主要命令:
- db2 "select 'db2 set integrity for oatest.'||TABNAME||' immediatechecked' from syscat.tables where TABSCHEMA='OATEST' and STATUS='C'"
- [db2inst1@devsvr2 oatest0303]$ db2 "select 'db2 set
- integrity for oatest.'||TABNAME||' immediate checked'
- from syscat.tables where TABSCHEMA='OATEST' and STATUS='C'"
- 1
- db2 set integrity for oatest.CAL_AUTH immediate checked
- ……
- db2 set integrity for oatest.UM_USER immediate checked
81 條記錄已選擇。
執行這 81 條語句,在Linux平臺下進行DB2數據庫遷移之導入步驟之語句有可能報錯
主要命令:
- db2 set integrity for oatest. CAL_AUTH immediate checked
- [db2inst1@devsvr2 oatest0303]$ db2 set integrity
- for oatest.CAL_AUTH immediate checked
DB20000I SQL 命令成功完成。
- [db2inst1@devsvr2 oatest0303]$ db2 set integrity
- for oatest.UM_USER immediate checked
DB20000I SQL 命令成功完成。
…………
如果報錯,再反復執行這些語句直到下面的語句結果返回 0 條記錄
- [db2inst1@devsvr2 oatest0303]$ db2 "select 'db2 set integrity
- for oatest.'||TABNAME||' immediate checked' from syscat.tables
- where TABSCHEMA='OATEST' and STATUS='C'"
- 1
0 條記錄已選擇。
(6)在操作系統中建立用戶
- [root@devsvr2 root]# useradd oatest
- [root@devsvr2 root]# passwd oatest
- Changing password for user oatest.
- New password:
- BAD PASSWORD: it is too short
- Retype new password:
- passwd: all authentication tokens updated successfully.
(7)給 oatest 用戶授權
主要命令:
- db2 GRANTDBADM,CREATETAB,BINDADD,CONNECT,CREATE_NOT_FENCED_ROUTINE,
- IMPLICIT_SCHEMA,LOAD,CREAT
- E_EXTERNAL_ROUTINE,QUIESCE_CONNECTON DATABASE TO USER OATEST
- db2 GRANT CREATEIN,DROPIN,ALTERIN ON SCHEMA OATEST TO USER OATEST
- [db2inst1@devsvr2 db2inst1]$ db2 connect to sample
數據庫連接信息
數據庫服務器 = DB2/LINUX 8.2.0
SQL 授權標識 = DB2INST1
本地數據庫別名 = SAMPLE
- [db2inst1@devsvr2 db2inst1]$ db2 GRANT DBADM,CREATETAB,BINDADD,CONNECT,CREATE_NOT_FENCED_ROUTINE,
- IMPLICIT_SCHEMA,LOAD,CREATE_EXTERNAL_ROUTINE,
- QUIESCE_CONNECT ON DATABASE TO USER OATEST;
DB20000I SQL 命令成功完成。
- [db2inst1@devsvr2 db2inst1]$ db2 GRANT CREATEIN,
- DROPIN,ALTERIN ON SCHEMA OATEST TO USER OATEST
DB20000I SQL 命令成功完成。
- [db2inst1@devsvr2 db2inst1]$ db2 connect to sample user oatest using oatest
數據庫連接信息
數據庫服務器 = DB2/LINUX 8.2.0
SQL 授權標識 =OATSET
本地數據庫別名 = SAMPLE
- [db2inst1@devsvr2 db2inst1]$ db2 "select count(*) from um_user"
- 1
- 1529
1 條記錄已選擇。以上的相關內容就是對在Linux平臺下進行DB2數據庫遷移之導入步驟的介紹,望你能有所收獲。