在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:/express/schema.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