查看: 4783|回复: 0

DB2学习笔记二

[复制链接]
论坛徽章:
10
数据库板块每日发贴之星
日期:2009-06-04 01:01:02祖国60周年纪念徽章
日期:2009-10-09 08:28:002009日食纪念
日期:2009-07-22 09:30:00数据库板块每日发贴之星
日期:2009-06-28 01:01:02数据库板块每日发贴之星
日期:2009-06-15 01:01:02数据库板块每日发贴之星
日期:2009-06-14 01:01:02数据库板块每日发贴之星
日期:2009-06-09 01:01:02数据库板块每日发贴之星
日期:2009-06-07 01:01:02授权会员
日期:2009-06-06 10:43:16数据库板块每日发贴之星
日期:2010-12-01 01:01:01
跳转到指定楼层
1#
发表于 2009-6-19 18:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
select * from sysibm.systablespaces
select * from syscat.packages
select * from sysibm.systables where creator='FENGJIN'

list database directory | pg
db2 => select * \
db2 (cont.) => from t1
X
------
    12
  1 条记录已选择。
db2 => ! dir d:\
驱动器 D 中的卷是 Driver
卷的序列号是 7846-6E59
d:\ 的目录
2009-03-14  11:46    <DIR>          360安全卫士
2009-03-14  16:51    <DIR>          DXP2004
2009-03-14  11:49    <DIR>          Foxmail
2009-05-13  21:24    <DIR>          ORACLE10G
2009-06-16  10:24    <DIR>          TOOLS
2009-06-15  13:00    <DIR>          WoptiUtilities
               0 个文件              0 字节
               6 个目录  7,272,448,000 可用字节
db2 => alter table t1 activate not logged initially
DB20000I  SQL命令成功完成。
db2 => select * from t1
X
------
    12
  1 条记录已选择。
db2 => alter table t1 activate not logged initially with empty table
DB20000I  SQL命令成功完成。
db2 => select * from t1
X
------
  0 条记录已选择。
  
  
db2 => get database configuration for fengjin

db2 => list db directory
系统数据库目录
目录中的条目数 = 1
数据库 1 条目:
数据库别名                      = FENGJIN
数据库名称                               = FENGJIN
本地数据库目录                  = F:
数据库发行版级别                = c.00
注释                            =
目录条目类型                    = 间接
目录数据库分区号                  = 0
备用服务器主机名                =
备用服务器端口号                =



db2 => update dbm cfg using authentication server_encrypt
DB20000I  UPDATE DATABASE MANAGER CONFIGURATION命令成功完成。
db2 =>get dbm cfg

------------------------------------------------------------------------------------------
db2 => quit
DB20000I  QUIT命令成功完成。

db2 => backup database fengjin to 'F:\DB2'
备份成功。此备份映像的时间戳记是:20090517194034

db2 => recover database fengjin
                                 前滚状态
输入数据库别名                      = fengjin
节点数已返回状态                = 1
节点号                                = 0
前滚状态                                    = 未暂挂
下一个要读取的日志文件          =
已处理的日志文件                =  -
上次落实的事务                  = 2009-06-15-22.58.50.000000 Local
DB20000I  RECOVER DATABASE命令成功完成。


要恢复数据库,必须在数据库没有连接的时候进行
F:\IBMDB2\Newinstallation\SQLLIB\BIN>db2
(c) Copyright IBM Corporation 1993,2007
db2 => restore database fengjin from 'f:\DB2'
SQL2539W  警告!正在复原至与备份映像数据库相同的现有数据库。数据库文件将被删除。

想要继续吗?(y/n) y
DB20000I  RESTORE DATABASE命令成功完成。
db2 => connect to fengjin
SQL1117N  因为处于 ROLL-FORWARD PENDING 状态,所以不能连接或激活数据库
"FENGJIN"。  SQLSTATE=57019

db2 => rollforward database fengjin stop
                                 前滚状态
输入数据库别名                      = fengjin
节点数已返回状态                = 1
节点号                                = 0
前滚状态                                    = 未暂挂
下一个要读取的日志文件          =
已处理的日志文件                =  -
上次落实的事务                  = 2009-06-15-22.58.50.000000 Local
DB20000I  ROLLFORWARD命令成功完成。
db2 => connect to fengjin
   数据库连接信息
数据库服务器         = DB2/NT 9.5.0
SQL 授权标识         = FENGJIN
本地数据库别名       = FENGJIN

-----------------------------------------------------------------------------------------------------
在同一台机器上执行恢复用下面的方法:
db2 => restore database fengjin from 'f:\DB2' without rolling forward
SQL2539W  警告!正在复原至与备份映像数据库相同的现有数据库。数据库文件将被删除。

想要继续吗?(y/n) y
DB20000I  RESTORE DATABASE命令成功完成。
db2 => connect to fengjin
   数据库连接信息
数据库服务器         = DB2/NT 9.5.0
SQL 授权标识         = FENGJIN
本地数据库别名       = FENGJIN
db2 =>
不在同一台机器上执行用下面的方法:
db2 "RESTORE DATABASE fengjin FROM /file01/file02 TAKEN AT 20090614170540 TO /file03/INTO fengjin redirect WITHOUT PROMPTING"

...
db2 "SET TABLESPACE CONTAINERS FOR 19 USING (FILE '/xxxx/xxx/xxxx/xxxx/xxxxxx.DBF' 30000)"

...
db2 "RESTORE DATABASE fengjin CONTINUE"

db2 "ROLLFORWARD DATABASE fengjin STOP"
---------------------------------------------------------------------------------------------------------

db2 => list  tablespaces show detail
           当前数据库的表空间
表空间标识                        = 0
名称                       = SYSCATSPACE
类型                                       = 数据库管理空间
内容                                = 所有持久数据。常规表空间。
状态                   = 0x0000
   详细解释:
     正常
总计页数                            = 16384
可用页数                            = 16380
已用页数                            = 11108
可用页数                            = 5272
高水位标记(页)                    = 11108
页大小(以字节计)                  = 4096
扩展数据块大小(页)                = 4
预取大小(页)                      = 4
容器数                                  = 1
表空间标识                        = 1
名称                       = TEMPSPACE1
类型                                       = 系统管理空间
内容                                = 系统临时数据
状态                   = 0x0000
   详细解释:
     正常
总计页数                            = 1
可用页数                            = 1
已用页数                            = 1
可用页数                            = 不适用
高水位标记(页)                    = 不适用
页大小(以字节计)                  = 4096
扩展数据块大小(页)                = 32
预取大小(页)                      = 32
容器数                                  = 1
表空间标识                        = 2
名称                       = USERSPACE1
类型                                       = 数据库管理空间
内容                                = 所有持久数据。大型表空间。
状态                   = 0x0000
   详细解释:
     正常
总计页数                            = 8192
可用页数                            = 8160
已用页数                            = 224
可用页数                            = 7936
高水位标记(页)                    = 224
页大小(以字节计)                  = 4096
扩展数据块大小(页)                = 32
预取大小(页)                      = 32
容器数                                  = 1
最小恢复时间                            = 2009-06-15-06.31.48.000000
表空间标识                        = 3
名称                       = TBSP32K0000
类型                                       = 系统管理空间
内容                                = 所有持久数据。常规表空间。
状态                   = 0x0000
   详细解释:
     正常
总计页数                            = 158
可用页数                            = 158
已用页数                            = 158
可用页数                            = 不适用
高水位标记(页)                    = 不适用
页大小(以字节计)                  = 32768
扩展数据块大小(页)                = 32
预取大小(页)                      = 32
容器数                                  = 1
表空间标识                        = 4
名称                       = TBSP32KTMP0000
类型                                       = 系统管理空间
内容                                = 系统临时数据
状态                   = 0x0000
   详细解释:
     正常
总计页数                            = 1
可用页数                            = 1
已用页数                            = 1
可用页数                            = 不适用
高水位标记(页)                    = 不适用
页大小(以字节计)                  = 32768
扩展数据块大小(页)                = 32
预取大小(页)                      = 32
容器数                                  = 1
表空间标识                        = 5
名称                       = SYSTOOLSPACE
类型                                       = 数据库管理空间
内容                                = 所有持久数据。大型表空间。
状态                   = 0x0000
   详细解释:
     正常
总计页数                            = 8192
可用页数                            = 8188
已用页数                            = 152
可用页数                            = 8036
高水位标记(页)                    = 152
页大小(以字节计)                  = 4096
扩展数据块大小(页)                = 4
预取大小(页)                      = 4
容器数                                  = 1
最小恢复时间                            = 2009-06-15-05.24.56.000000
表空间标识                        = 6
名称                       = TEST
类型                                       = 数据库管理空间
内容                                = 所有持久数据。常规表空间。
状态                   = 0x0000
   详细解释:
     正常
总计页数                            = 4096
可用页数                            = 4088
已用页数                            = 24
可用页数                            = 4064
高水位标记(页)                    = 24
页大小(以字节计)                  = 8192
扩展数据块大小(页)                = 8
预取大小(页)                      = 8
容器数                                  = 1
最小恢复时间                            = 2009-06-15-09.10.38.000000
表空间标识                        = 7
名称                       = TEMP
类型                                       = 系统管理空间
内容                                = 用户临时数据
状态                   = 0x0000
   详细解释:
     正常
总计页数                            = 1
可用页数                            = 1
已用页数                            = 1
可用页数                            = 不适用
高水位标记(页)                    = 不适用
页大小(以字节计)                  = 8192
扩展数据块大小(页)                = 8
预取大小(页)                      = 8
容器数                                  = 1
最小恢复时间                            = 2009-06-15-14.58.50.000000

----------------------------------------------------------------------------------------------
db2 => get dbm cfg
          数据库管理器配置
     节点类型                                            = 带有本地和远程客户机
的企业服务器版
数据库管理器配置发行版级别                              = 0x0c00
最大打开文件数                            (MAXTOTFILOP) = 16000
CPU 速度(毫秒/指令)                       (CPUSPEED) = 4.251098e-007
通信带宽(MB/秒)                     (COMM_BANDWIDTH) = 1.000000e+002
最大并发活动数据库数                            (NUMDB) = 8
联合数据库系统支持                          (FEDERATED) = NO
事务处理器监视器名                        (TP_MON_NAME) =
缺省对方付费帐户                      (DFT_ACCOUNT_STR) =
Java Development Kit 安装路径(JDK_PATH)               = F:\IBMDB2\Newinstall
tion\SQLLIB\java\jdk
诊断错误捕获级别                            (DIAGLEVEL) = 3
通知级别                                  (NOTIFYLEVEL) = 3
诊断数据目录路径                             (DIAGPATH) =
缺省数据库监视开关
   缓冲池                              (DFT_MON_BUFPOOL) = ON
   锁定                                   (DFT_MON_LOCK) = ON
   排序                                   (DFT_MON_SORT) = ON
   语句                                   (DFT_MON_STMT) = ON
   表                                    (DFT_MON_TABLE) = ON
   时间戳记                          (DFT_MON_TIMESTAMP) = ON
   工作单元                                (DFT_MON_UOW) = ON
监视实例和数据库的运行状况                 (HEALTH_MON) = ON
SYSADM 组名                              (SYSADM_GROUP) =
SYSCTRL 组名                            (SYSCTRL_GROUP) =
SYSMAINT 组名                          (SYSMAINT_GROUP) =
SYSMON 组名                              (SYSMON_GROUP) =
客户机用户标识-密码插件                (CLNT_PW_PLUGIN) =
客户机 Kerberos 插件                  (CLNT_KRB_PLUGIN) = IBMkrb5
组插件                                   (GROUP_PLUGIN) =
本地授权的 GSS 插件                   (LOCAL_GSSPLUGIN) =
服务器插件方式                        (SRV_PLUGIN_MODE) = UNFENCED
GSS 插件的服务器列表            (SRVCON_GSSPLUGIN_LIST) =
服务器用户标识-密码插件              (SRVCON_PW_PLUGIN) =
服务器连接认证                            (SRVCON_AUTH) = NOT_SPECIFIED
集群管理器                                (CLUSTER_MGR) =
数据库管理器认证                       (AUTHENTICATION) = SERVER_ENCRYPT
没有权限就允许编目                     (CATALOG_NOAUTH) = NO
信赖所有客户机                         (TRUST_ALLCLNTS) = YES
可信的客户机认证                       (TRUST_CLNTAUTH) = CLIENT
绕过联合认证                               (FED_NOAUTH) = NO
缺省数据库路径                              (DFTDBPATH) = F:
数据库监视器堆大小(4KB)                 (MON_HEAP_SZ) = AUTOMATIC
“Java 虚拟机”堆大小(4KB)             (JAVA_HEAP_SZ) = 2048
审计缓冲区大小(4KB)                    (AUDIT_BUF_SZ) = 0
实例共享内存(4KB)的大小             (INSTANCE_MEMORY) = AUTOMATIC
备份缓冲区缺省大小(4KB)                   (BACKBUFSZ) = 1024
复原缓冲区缺省大小(4KB)                   (RESTBUFSZ) = 1024
代理程序的堆栈大小                     (AGENT_STACK_SZ) = 16
最小已落实专用内存(4KB)                (MIN_PRIV_MEM) = 32
专用内存阈值(4KB)                   (PRIV_MEM_THRESH) = 20000
排序堆阈值(4KB)                          (SHEAPTHRES) = 0
目录高速缓存支持                            (DIR_CACHE) = YES
应用程序支持层堆大小(4KB)                 (ASLHEAPSZ) = 15
最大请求者 I/O 块大小(以字节计)            (RQRIOBLK) = 32767
查询堆大小(4KB)                       (QUERY_HEAP_SZ) = 1000
已调速实用程序对工作负载的影响        (UTIL_IMPACT_LIM) = 10
代理程序的优先级                             (AGENTPRI) = SYSTEM
代理程序池大小                         (NUM_POOLAGENTS) = AUTOMATIC
池中的初始代理程序数                   (NUM_INITAGENTS) = 0
最大协调代理程序数                    (MAX_COORDAGENTS) = AUTOMATIC
最大客户机连接数                      (MAX_CONNECTIONS) = AUTOMATIC
保留受防护的进程                           (KEEPFENCED) = YES
合用受防护的进程的数目                    (FENCED_POOL) = AUTOMATIC
受防护的进程的初始数目                 (NUM_INITFENCED) = 0
索引重新创建时间和重做索引构建               (INDEXREC) = RESTART
事务管理器数据库名称                      (TM_DATABASE) = 1ST_CONN
事务再同步时间间隔(秒)              (RESYNC_INTERVAL) = 180
SPM 名称                                     (SPM_NAME) = SJTU_060
SPM 日志大小                          (SPM_LOG_FILE_SZ) = 256
SPM 再同步代理程序限制                 (SPM_MAX_RESYNC) = 20
SPM 日志路径                             (SPM_LOG_PATH) =
NetBIOS 工作站名                                (NNAME) =
TCP/IP 服务名称                              (SVCENAME) = db2c_fengjin
发现方式                                     (DISCOVER) = SEARCH
发现服务器实例                          (DISCOVER_INST) = ENABLE
最大查询并行度                        (MAX_QUERYDEGREE) = ANY
启用分区内并行性                       (INTRA_PARALLEL) = NO
每个查询的最大异步 TQ 数              (FEDERATED_ASYNC) = 0
内部通信缓冲区数(4KB)               (FCM_NUM_BUFFERS) = AUTOMATIC
内部通信信道数                       (FCM_NUM_CHANNELS) = AUTOMATIC
节点连接耗用时间(秒)                    (CONN_ELAPSE) = 10
最大节点连接重试次数                  (MAX_CONNRETRIES) = 5
节点间的最大时差(分钟)                (MAX_TIME_DIFF) = 60
db2start/db2stop 超时(分钟)         (START_STOP_TIME) = 10
db2 => get dbm cfg show detail
SQL1427N  实例连接不存在。
db2 => get dbm cfg show diagpath
SQL0104N  在 "SHOW" 后面找到异常标记 "diagpath"。预期标记可能包括:"DETAIL"。
SQLSTATE=42601

--------------------------------------------------------------------------------------------

F:\IBMDB2\Newinstallation\SQLLIB\BIN>db2set -all
[e] DB2PATH=F:\IBMDB2\Newinstallation\SQLLIB
DB2ACCOUNTNAME=SJTU-060BE085B6\fengjin
DB2INSTOWNER=SJTU-060BE085B6
DB2PORTRANGE=60000:60003
DB2INSTPROF=C:\DOCUMENTS AND SETTINGS\ALL USERS\APPLICATION DATA\IBM\DB2\FEN
GJIN
DB2COMM=TCPIP
[g] DB2_EXTSECURITY=YES
[g] DB2SYSTEM=SJTU-060BE085B6
[g] DB2PATH=F:\IBMDB2\Newinstallation\SQLLIB
[g] DB2INSTDEF=DB2
[g] DB2ADMINSERVER=DB2DAS00

找到这个 DB2INSTPROF=C:\DOCUMENTS AND SETTINGS\ALL USERS\APPLICATION DATA\IBM\DB2\FEN
GJIN
找到了 db2diag.log  在 C:\Documents and Settings\All Users\Application Data\IBM\DB2\fengjin\DB2 下面
-------------------------------------------------------------------------------------------------------

F:\IBMDB2\Newinstallation\SQLLIB\BIN>db2stop
2009-05-17 21:21:43     0   0   SQL1025N  未停止数据库,因为数据库仍是活动的。
SQL1025N  未停止数据库,因为数据库仍是活动的。
F:\IBMDB2\Newinstallation\SQLLIB\BIN>db2stop force
2009-05-17 21:21:52     0   0   SQL1064N  DB2STOP 处理成功。
SQL1064N  DB2STOP 处理成功。
F:\IBMDB2\Newinstallation\SQLLIB\BIN>db2start
2009-05-17 21:22:04     0   0   SQL5043N  对一个或多个通信协议的支持未能成功启动
。但是,成功启动了核心数据库管理器功能。
SQL1063N  DB2START 处理成功。
F:\IBMDB2\Newinstallation\SQLLIB\BIN>db2
(c) Copyright IBM Corporation 1993,2007
DB2 客户机 9.5.0 的命令行处理器
--------------------------------------------------------------------------------------------------------
查看配置文件用如下命令:
db2 => get dbm cfg
更新配置文件:
db2 => update dbm cfg using diagpath 'F:\DB2'
DB20000I  UPDATE DATABASE MANAGER CONFIGURATION命令成功完成。

Database configuration file是在database被创建时生成的,一般名称为SQLDBCON,所在位置为
F:\DB2\NODE0000\SQL00001
配置文件SQLDBCON 无后缀名,且是二进制的

------------------------------------------------------------------------------------------------------
查看备份的有效性,在DB2的CLP环境中可以进行复制和粘贴,不错
F:\IBMDB2\Newinstallation\SQLLIB\BIN>db2ckbkp f:\DB2\FENGJIN.0.DB2.NODE0000.CATN
0000.20090517202317.001
[1] Buffers processed:  ##########
Image Verification Complete - successful.

db2_ _ 打头的命令执行 最好在不在  db2=>  的环境下执行,而是要用 quit 退出db2=> 后执行

-----------------------------------------------------------------------------------------------------
windows下增加的存储路径:
db2 => alter database fengjin add storage on 'f:\DB2'
DB20000I  SQL命令成功完成。
db2 =>

---------------------------------------------------------------------------------------------------------
db2 => list database directory on f
f 上的本地数据库目录
目录中的条目数 = 1
数据库 1 条目:
数据库别名                      = FENGJIN
数据库名称                               = FENGJIN
数据库目录                      = SQL00001
数据库发行版级别                = c.00
注释                            =
目录条目类型                    = 本地
目录数据库分区号                  = 0
数据库分区号                             = 0
-------------------------------------------------------------------------------------------------------
数据库内部目录结构:
F:\DB2\NODE0000\SQL00001>dir/w
驱动器 F 中的卷是 Learning
卷的序列号是 88DD-6D7D
F:\DB2\NODE0000\SQL00001 的目录
[.]              [..]             [DB2AUTOBACKUPS] [DB2EVENT]
db2rhist.asc     db2rhist.bak     DB2TSCHG.HIS     SQLBP.1
SQLBP.2          SQLDBCON         SQLDBCONF        SQLINSLK
SQLOGCTL.LFH.1   SQLOGCTL.LFH.2   [SQLOGDIR]       SQLOGMIR.LFH
SQLSGF.1         SQLSGF.2         SQLSPCS.1        SQLSPCS.2
SQLTMPLK         [TBSP32K0000]    [TBSP32KTMP0000]
              16 个文件      4,585,193 字节
               7 个目录 12,919,349,248 可用字节
---------------------------------------------------------------------------------------------------------
断开连接:
db2 => disconnect fengjin
DB20000I  SQL DISCONNECT命令成功完成。

---------------------------------------------------------------------------------------------------------
我们先要得到表空间名称和表空间 ID 的对应关系:
db2 => SELECT TBSPACE, TBSPACEID FROM SYSCAT.TABLESPACES
TBSPACE
                                                 TBSPACEID
------------------------------------------------------------------------------
------------------------------------------------ -----------
SYSCATSPACE
                                                           0
TEMPSPACE1
                                                           1
USERSPACE1
                                                           2
TBSP32K0000
                                                           3
TBSP32KTMP0000
                                                           4
SYSTOOLSPACE
                                                           5
TEST
                                                           6
TEMP
                                                           7
  8 条记录已选择。

通过上面语句的查询结果可以得出 USERSPACE1 的 表空间 ID 为 2,然后再通过下面的命令得出 USERSPACE1 中 表名称和表ID的对应关系:
db2 => SELECT TABNAME, TABLEID FROM SYSCAT.TABLES WHERE TBSPACEID =2
TABNAME
                                                 TABLEID
--------------------------------------------------------------------------
------------------------------------------------ -------
T1
                                                       4
T1_VIEW
                                                       5
  2 条记录已选择。
在表空间TBSP32K0000     F:\DB2\NODE0000\SQL00001\TBSP32K0000 目录下可以找到相应的文件:
SQL00004.DAT  SQL00004.INX   SQL00005.DAT  SQL00005.INX
1)  如果文件的扩展名为 .DAT,则说明该文件中包含的是 EMP_PHOTO 表中的常规(REGULAR)数据,
    也就是除了LONG VARCHAR、LONG VARGRAPHIC、CLOB,BLOB 以及 DBCLOB之外的数据,每个数据行中这类数据的大小不能超过一个数据页;
2)  如果文件的扩展名为 .INX,则说明该文件中包含的是 EMP_PHOTO 表上建立的索引数据。


----------------------------------------------------------------------------------------------------------------------
用户可以通过数据库管理器配置参数 DIAGLEVEL 来调整被记录信息的详细程度,也可以通过数据库管理器配置参数 DIAGPATH 来改变该文件的位置。
db2 => update dbm cfg using diaglevel 4
DB20000I  UPDATE DATABASE MANAGER CONFIGURATION命令成功完成。
-----------------------------------------------------------------------------------------------------------------------
查看模式中的所有编目视图:
db2 => list tables for schema test
表/视图     
                                                      模式
      类型  创建时间
------------------------------- --------------- ----- ---------

  0 条记录已选择。
  
还有:
db2 => list tables for schema fengjin
db2 => list tables for schema sysibm
db2 => list tables for schema syscat
-----------------------------------------------------------------------------------------------------------------------
识别拥有特权的授权 ID:

select distinct substr(grantee,1,16) as grantee, granteetype, 'Database'
  from syscat.dbauth
union
select distinct substr(grantee,1,16) as grantee, granteetype, '表空间'
  from syscat.tbspaceauth
union
select distinct substr(grantee,1,16) as grantee, granteetype, 'Schema'
  from syscat.schemaauth
union
select distinct substr(grantee,1,16) as grantee, granteetype, 'Table'
  from syscat.tabauth
union
select distinct substr(grantee,1,16) as grantee, granteetype, 'Index'
  from syscat.indexauth
union
select distinct substr(grantee,1,16) as grantee, granteetype, 'Column'
  from syscat.colauth
union
select distinct substr(grantee,1,16) as grantee, granteetype, 'Package'
  from syscat.packageauth
union
select distinct substr(grantee,1,16) as grantee, granteetype, 'Routine'
  from syscat.routineauth
union
select distinct substr(grantee,1,16) as grantee, granteetype, 'Server'
  from syscat.passthruauth
  order by grantee, granteetype

FENGJIN          U Index
FENGJIN          U Package
FENGJIN          U Schema
FENGJIN          U Table
FENGJIN          U 表空间
PUBLIC           G Database
PUBLIC           G Package
PUBLIC           G Routine
PUBLIC           G Schema
PUBLIC           G Table
PUBLIC           G 表空间
SYSTEM           U Database
SYSTEM           U Index
SYSTEM           U Package
SYSTEM           U Routine
SYSTEM           U Schema
SYSTEM           U Table
SYSTEM           U 表空间

---------------------------------------------------------------------------------------------------------
约束:
db2 => create table t(x int not null)
DB20000I  SQL命令成功完成。
db2 => insert into t values(12)
DB20000I  SQL命令成功完成。
db2 => select * from t
X
-----------
         12
  1 条记录已选择。
db2 => alter table t add constraint t_pk primary key(x)
DB20000I  SQL命令成功完成。

一、查询表主键。
describe indexes for table <instancename>.<tablename>
例:
describe indexes for table db2inst1.aaa

二、删除表主键。
alter table <instancename>.<tablename> drop primary key
例:
alter table db2inst1.aaa drop primary key
三、建立表主键。
alter table <instancename>.<tablename> add CONSTRAINT <primarykeyname> PRIMARY KEY (<columnname>)
例:
alter table db2inst1.aaa add constraint aaa_pk primary key(id)
------------------------------------------------------------------------------------------------------------------


[ 本帖最后由 fengjin821 于 2009-6-20 14:29 编辑 ]

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表