在Linux操作系統上,每個實例必須對應一個Linux用戶,因此2個實例的轉換可以通過轉換用戶得以簡單
實現,使用su命令。
編制腳本:create_table.bat
db2 drop db express2
set DBPATH=C:
SET DBNAME=express2
SET MEMORY=20
db2 CREATE DATABASE %DBNAME% on %DBPATH% AUTOCONFIGURE USING MEM_PERCENT %MEMORY% APPLY DB
AND DBM
db2 CONNECT TO %DBNAME% USER %1 USING %2
del schema.log triggers.log app_objeects.log
db2 set schema express
db2 -t -v -f schema.ddl -z schema.log
db2 -td@ -v -f triggers.ddl -z triggers.log
db2 -td@ -v -f app_objects.ddl -z app_objects.log
-------------------------------------------------------------------
C:express>create_database.bat xujm jaminwm
C:express>db2 drop db express2
SQL1013N 找不到數據庫別名或數據庫名稱 "EXPRESS2"。 SQLSTATE=42705
C:express>set DBPATH=C:
C:express>SET DBNAME=express2
C:express>SET MEMORY=20
C:express>db2 CREATE DATABASE express2 on C: AUTOCONFIGURE USING MEM_PERCENT 2
APPLY DB AND DBM
SQL1047N 應用程序已經與另一個數據庫相連。
C:express>db2 CONNECT TO express2 USER xujm USING jaminwm
SQL1013N 找不到數據庫別名或數據庫名稱 "EXPRESS2"。 SQLSTATE=42705
C:express>del schema.log triggers.log app_objeects.log
找不到 C:expressschema.log
C:express>db2 set schema express
DB21034E 該命令被當作 SQL 語句來處理,因為它是無效的“命令行處理器”命令。在
SQL 處理期間,它返回:
SQL1024N 不存在數據庫連接。 SQLSTATE=08003
C:express>db2 -t -v -f schema.ddl -z schema.log
DB21005E 訪問 "schema.ddl" 文件時出錯。
C:express>db2 -td@ -v -f triggers.ddl -z triggers.log
DB21005E 訪問 "triggers.ddl" 文件時出錯。
C:express>db2 -td@ -v -f app_objects.ddl -z app_objects.log
DB21005E 訪問 "app_objects.ddl" 文件時出錯。
C:express>create_database.bat xujm jaminwm
C:express>db2 drop db express2
SQL1013N 找不到數據庫別名或數據庫名稱 "EXPRESS2"。 SQLSTATE=42705
C:express>set DBPATH=C:
C:express>SET DBNAME=express2
C:express>SET MEMORY=20
C:express>db2 CREATE DATABASE express2 on C: AUTOCONFIGURE USING MEM_PERCENT 2
APPLY DB AND DBM
數據庫管理器配置的以前和應用的值
描述 參數 以前值 應
用的值
------------------------------------------------------------------------------
------------------
代理程序的堆棧大小 (AGENT_STACK_SZ) = 16
6
應用程序支持層堆大小(4KB) (ASLHEAPSZ) = 15
5
內部通信緩沖區數(4KB) (FCM_NUM_BUFFERS) = AUTOMATIC
UTOMATIC
啟用分區內並行性 (INTRA_PARALLEL) = NO
O
最大查詢並行度 (MAX_QUERYDEGREE) = 1
代理程序池大小 (NUM_POOLAGENTS) = AUTOMATIC(100)
UTOMATIC(100)
池中的初始代理程序數 (NUM_INITAGENTS) = 0
最大請求者 I/O 塊大小(以字節計) (RQRIOBLK) = 32767
2767
排序堆阈值(4KB) (SHEAPTHRES) = 0
數據庫配置的以前和應用的值
描述 參數 以前值 應
用的值
------------------------------------------------------------------------------
------------------
缺省應用程序堆(4KB) (APPLHEAPSZ) = 256
56
目錄高速緩存大小(4KB) (CATALOGCACHE_SZ) = (MAXAPPLS*4)
60
更改的頁阈值 (CHNGPGS_THRESH) = 60
0
數據庫堆(4KB) (DBHEAP) = 600
259
並行度 (DFT_DEGREE) = 1
缺省表空間擴展數據塊大小(頁) (DFT_EXTENT_SZ) = 32
2
缺省預取大小(頁) (DFT_PREFETCH_SZ) = AUTOMATIC
UTOMATIC
缺省查詢優化類 (DFT_QUERYOPT) = 5
鎖定列表的最大存儲量(4KB) (LOCKLIST) = 50
AUTOMATIC
日志緩沖區大小(4KB) (LOGBUFSZ) = 8
98
日志文件大小(4KB) (LOGFILSIZ) = 1000
024
主日志文件的數目 (LOGPRIMARY) = 3
3
輔助日志文件的數目 (LOGSECOND) = 2
最大活動應用程序數 (MAXAPPLS) = AUTOMATIC
UTOMATIC
每個應用程序的鎖定百分比列表 (MAXLOCKS) = 22
UTOMATIC
組落實計數 (MINCOMMIT) = 1
異步頁清除程序的數目 (NUM_IOCLEANERS) = 1
I/O 服務器的數目 (NUM_iOSERVERS) = 3
程序包高速緩存大小(4KB) (PCKCACHESZ) = (MAXAPPLS*8)
UTOMATIC
軟檢查點前回收的日志文件的百分比 (SOFTMAX) = 100
20
排序列表堆(4KB) (SORTHEAP) = 256
UTOMATIC
SQL 語句堆(4KB) (STMTHEAP) = 2048
048
統計信息堆大小(4KB) (STAT_HEAP_SZ) = 4384
384
實用程序堆大小(4KB) (UTIL_HEAP_SZ) = 5000
1041
自調整內存 (SELF_TUNING_MEM) = OFF
N
自動 runstats (AUTO_RUNSTATS) = ON
N
共享排序的排序堆域值(4KB) (SHEAPTHRES_SHR) = 5000
UTOMATIC
緩沖池配置的以前和應用的值
描述 參數 以前值 應
用的值
------------------------------------------------------------------------------
------------------
IBMDEFAULTBP 緩沖池大小 = 250
3125
DB210209I 已成功創建數據庫。請重新啟動實例,以便使配置更改生效。
C:express>db2 CONNECT TO express2 USER xujm USING jaminwm
數據庫連接信息
數據庫服務器 = DB2/NT 9.5.2
SQL 授權標識 = XUJM
本地數據庫別名 = EXPRESS2
C:express>del schema.log triggers.log app_objeects.log
C:express>db2 set schema express
DB20000I SQL 命令成功完成。
C:express>db2 -t -v -f schema.ddl -z schema.log
CREATE TABLE "CUSTOMERS" ( "CUST_ID" INTEGER NOT NULL , "FIRSTNME" VARCHAR(100
NOT NULL , "LASTNAME" VARCHAR(100) NOT NULL , "ADDRESS" VARCHAR(300) WITH DEFA
LT '123 ANY STREET' , "EMAIL" VARCHAR(100) WITH DEFAULT '[email protected]
) IN "USERSPACE1"
DB20000I SQL 命令成功完成。
ALTER TABLE "CUSTOMERS" ADD PRIMARY KEY ("CUST_ID")
DB20000I SQL 命令成功完成。
CREATE TABLE "BOOKS" ( "BOOK_ID" INTEGER NOT NULL , "TITLE" VARCHAR(300) NOT N
LL , "COST" DECIMAL(7,2) , "IMAGE" BLOB(1048576) LOGGED NOT COMPACT ) IN "USERS
ACE1"
DB20000I SQL 命令成功完成。
ALTER TABLE "BOOKS" ADD PRIMARY KEY ("BOOK_ID")
DB20000I SQL 命令成功完成。
CREATE TABLE "SALES" ( "SALES_ID" INTEGER NOT NULL GENERATED ALWAYS AS IDENTIT
( START WITH +1 INCREMENT BY +1 MINVALUE +1 MAXVALUE +2147483647 NO CYCLE CACH
20 NO ORDER ) , "BOOK_ID" INTEGER NOT NULL , "CUST_ID" INTEGER NOT NULL , "QTY
INTEGER NOT NULL , "PRICE" DECIMAL(7,2) NOT NULL , "PURCH_DATE" TIMESTAMP ) IN
"USERSPACE1"
DB20000I SQL 命令成功完成。
ALTER TABLE "SALES" ADD PRIMARY KEY ("SALES_ID")
DB20000I SQL 命令成功完成。
ALTER TABLE "SALES" ALTER COLUMN "SALES_ID" RESTART WITH 60
DB20000I SQL 命令成功完成。
ALTER TABLE "SALES" ADD CONSTRAINT "FK1" FOREIGN KEY ("BOOK_ID") REFERENCES "BO
KS" ("BOOK_ID") ON DELETE NO ACTION ON UPDATE NO ACTION ENFORCED ENABLE QUERY O
TIMIZATION
DB20000I SQL 命令成功完成。
ALTER TABLE "SALES" ADD CONSTRAINT "FK2" FOREIGN KEY ("CUST_ID") REFERENCES "CU
TOMERS" ("CUST_ID") ON DELETE NO ACTION ON UPDATE NO ACTION ENFORCED ENABLE QUE
Y OPTIMIZATION
DB20000I SQL 命令成功完成。
COMMIT WORK
DB20000I SQL 命令成功完成。
CONNECT RESET
DB20000I SQL 命令成功完成。
TERMINATE
DB20000I TERMINATE 命令成功完成。
C:express>db2 -td@ -v -f triggers.ddl -z triggers.log
C:express>db2 -td@ -v -f app_objects.ddl -z app_objects.log