DB2手工创建数据库,很简单的。



创建例子数据库:


  1. 生成数据库存放目录,和 归档目录


      mkdir -p /demo/sample


      mkdir -p /demo/samplearc


 2. 生成sample数据库


     db2sampl -dbpath /demo/sample


 3. 指定数据库归档目录


     --  DISK: 指磁盘  TSM:指IBM TSM  VENDOR: 指第三方存储设备


      db2 update db cfg for SAMPLE  using LOGARCHMETH1 DISK: /demo/samplearc




其它数据库创建:



1. 查找数据库默认创建路径


  # ./db2 get dbm cfg|grep "DFTDBPATH"


 Default database path (DFTDBPATH) = /home/db2inst1


当然也可在创建时手工指定


   //create database mydb on d:\data




2. 创建数据库



   简单例子:



     create database xcldb using codeset gbk territory cn;






  代码页整理次序参数:



   所有db2字符类型(char varchar clob dbclob)都有一个相关联的字符代码页

   即对照表,将这些数据转为数据库中存储的二进制数据库.

    中文代码页为1386 codeset为GBK, Territory为CN



   产生文件:



   会创建3个默认表空间,日志,配置信息,历史文件

    SYSCATSPACE 数据字典

    TEMPSPACE1 临时表空间

    USERSPACE1 存储所有用户对象(表,索引)的地方.

   dbv9之前默认为sms表空间,之后,除临时表空间外其它默认为dms表空间






复杂些的例子:



  create database xcldb



  DFT_EXTENT_SZ 4



  CATALOG TABLESPACE MANAGED BY DATABASE USING



  (FILE 'C:\DATA\CATALOG.DAT' 2000,FILE 'D:\DATA\CATALOG.DAT' 2000)



  EXTENTSIZE 8



  PREFETCHSIZE 16



  TEMPORARY TABLESPACE MANAGED BY SYSTEM USING



  ('C:\TEMPTS','D:\TEMPTS')



  USER TABLESPACE MANAGED BY DATABASE USING



  (FILE 'C:\XCLDB\USERTS.DATA' 1200)



  EXTENTSIZE 24



  PREFETCHSIZE 48



 



  --DFT_EXTENT_SZ 4 默认扩展数据块大小是4个页面



  --CATALOG TABLESPACE MANAGED BY DATABASE USING 编目空间将由数据库管理 



  --('C:\TEMPTS','D:\TEMPTS') 临时表空间将跨两个文件.



  --(FILE 'C:\TS\USERTS.DATA' 1200)   这个空间只有一个容器.由1200个页面组成



  --EXTENTSIZE 24 user表空间的EXTENTSIZE是24个页面



  --PREFETCHSIZE 48 查询时,预读取48个页面