DB2命令总汇+详解.docx

上传人:b****0 文档编号:18252021 上传时间:2023-08-14 格式:DOCX 页数:59 大小:55.40KB
下载 相关 举报
DB2命令总汇+详解.docx_第1页
第1页 / 共59页
DB2命令总汇+详解.docx_第2页
第2页 / 共59页
DB2命令总汇+详解.docx_第3页
第3页 / 共59页
DB2命令总汇+详解.docx_第4页
第4页 / 共59页
DB2命令总汇+详解.docx_第5页
第5页 / 共59页
DB2命令总汇+详解.docx_第6页
第6页 / 共59页
DB2命令总汇+详解.docx_第7页
第7页 / 共59页
DB2命令总汇+详解.docx_第8页
第8页 / 共59页
DB2命令总汇+详解.docx_第9页
第9页 / 共59页
DB2命令总汇+详解.docx_第10页
第10页 / 共59页
DB2命令总汇+详解.docx_第11页
第11页 / 共59页
DB2命令总汇+详解.docx_第12页
第12页 / 共59页
DB2命令总汇+详解.docx_第13页
第13页 / 共59页
DB2命令总汇+详解.docx_第14页
第14页 / 共59页
DB2命令总汇+详解.docx_第15页
第15页 / 共59页
DB2命令总汇+详解.docx_第16页
第16页 / 共59页
DB2命令总汇+详解.docx_第17页
第17页 / 共59页
DB2命令总汇+详解.docx_第18页
第18页 / 共59页
DB2命令总汇+详解.docx_第19页
第19页 / 共59页
DB2命令总汇+详解.docx_第20页
第20页 / 共59页
亲,该文档总共59页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

DB2命令总汇+详解.docx

《DB2命令总汇+详解.docx》由会员分享,可在线阅读,更多相关《DB2命令总汇+详解.docx(59页珍藏版)》请在冰点文库上搜索。

DB2命令总汇+详解.docx

DB2命令总汇+详解

DB2常用命令汇总之一

db2-tvfmy.sql

db2level显示db2的版本号

显示SQL出错信息

db2"?

sql6031"

db2mtrk

管理DAS

产生:

root运行-dascrt-udasuser1

删除:

root运行-dasdrop

启动:

dasusr1运行-db2adminstart

停止:

dasusr1运行-db2adminstop

db2_kill

ipclean

db2startdbpartitionnum9restart

AIX启动控制中心:

db2cc

DB2用户管理:

 db2useostomanageusers.Youcanusefollowingstepstoaddadb2user:

 1,addauseronos.

 2,grantrightstouser.

   GRANT CREATETAB,CONNECTONDATABASE TOUSERFUJIE;

   grantselect,update,deleteontableemployeetouserjohnwithgrantoption

一,实例

产生

db2icrt-aAuthType(SERVER,CLIENT,SERVER_ENCRYPT)-pPORT_NAME 

表空间PREFETCHSIZE的设置,EXTENTSIZE的关系,缓冲池的监控,页清除程序的多少。

  临时表空间页面大小与其他表空间页面大小的设置,临时表空间与缓冲池的设置。

example:

db2icrtdb2-sese-pd:

/db2-uAdministrator

注意:

在UNIX上产生实例时需要产生一个和实例名称相同的用户名,和fencedid用户。

 如:

db2icrt-sese-udb2fenc2db2inst2将在db2inst2用户中产生实例db2inst2.

缺省创建32位实例,创建64位实例:

db2icrt-sese-w64-udb2fenc2db2inst2 

   

删除

db2idropinstance-name

启动

db2start 

停止

db2stopforce

连接

db2attachtotestdb2

db2detach

列出实例

db2ilist

设置当前实例

setdb2instance=

得到当前实例

db2getinstance

设置实例自动重启动UNIX

db2iauto-on

db2iauto-off

获取实例的配置参数

db2getdbmcfg

修改配置参数

例如:

db2updatedbmcfgusingauthenticationserver_encrypt

    db2stopanddb2start

     

二,声明注册表和环境变量

db2set  注意:

设置完成后需要退出用户,再注册进入才能生效。

列出所有受支持的变量

db2set-lr

列出当前实例所有已定义的变量

db2set

要列出概要文件注册表中所有定义的注册表变量

db2set-all

列出单个变量

db2setregistry_variable_name

更改变量

db2setregistry_variable_name=new_value

变量复位为缺省值

db2set-rregistry_variable_name

db2setDB2CODEPAGE=819

db2setDB2CODEPAGE=1386

db2-tvfmy_sql.sql

三,创建节点配置文件

db2nodes.cfg

UNIX格式:

dbpartitionnum(0-999)hostname[logical-port[netname]]

WIN 格式:

nodenumberhostnamecomputernamelogical_portnetname

四,管理服务器

<配置助手,控制中心,开发中心>通过DAS来进行工作

创建DAS

db2admincreate(windows)

dascrt-u 需要root权限

启动和停止

db2adminstart

db2adminstop

列出

db2admin

配置DAS

db2getadmincfg

db2updateadmincfgusing

db2resetadmincfg

最好stop再start

五,配置多个逻辑节点

可以用两个方法来配置多个逻辑节点:

*在db2nodes.cfg文件中配置逻辑节点(数据库分区).然后,可使用db2start启动所有逻辑和远程节点.

   对于windowsnt,若系统中没有数据库,则必须使用db2ncrt来添加节点,否则,若一个或多个数据库,

   则应使用db2startaddnode命令.在nt中,不能手工编辑db2nodes.cfg文件.

  db2ncrt/n:

1/u:

administrator,yhnu0987/m:

fujie/p:

1/h:

fujie

  db2startaddnodenodenum1hostnameguosdport1computerGUOSDuserdb2adminpassworddb2admin

*在另一个处理器上重新启动一个逻辑节点,其他逻辑数据库分区(节点)已在该处理器上运行.这允许覆盖

 在db2nodes.cfg中为逻辑数据库分区指定的主机名和端口号.

 

在WIN中添加逻辑节点

 db2ncrt/n:

1/u:

Administrator,/i:

db2/m:

FUJIE/p:

1

  

#删除逻辑节点

db2ndrop

有数据库的时候使用db2stopdropnodenum

#改变逻辑节点

db2nchg

DB2常用命令汇总之二

六,创建数据库

创建数据库时,完成如下任务:

*设置数据库所需的所有系统目录表

*分配数据库恢复日志

*创建数据库配置文件,设置缺省值

*将数据库实用程序与数据库绑定

初始数据库分区组的定义

当最初创建数据库时,会为所有在db2nodes.cfg文件中指定的分区创建数据库分区.可以用

adddbpartitionnum和dropdbpartitionnumverify命令来添加或除去其他分区.

定义了三个数据库分区组:

        *用于容纳syscatspace表空间的ibmcatgroup,保存系统目录表

        *用于容纳tempspaces1表空间的ibmtempgroup,保存系统临时表

*用于容纳userspace1表空间的ibmdefaultgroup,缺省保存用户表和索引

(创建新的数据库后最好重新启动db2clp)

EXAMPLE:

CREATEDATABASEPERSONL

  CATALOGTABLESPACE

    MANAGEDBYSYSTEMUSING(path'D:

/PCATALOG','E:

/PCATALOG')

    EXTENTSIZE16PREFETCHSIZE32

  USERTABLESPACE

    MANAGEDBYDATABASEUSING(FILE'D:

/DB2DATA/PERSION1'5000,

                               FILE'D:

/DB2DATA/PERSION2'5000)

    EXTENSIZE32PREFETCHSIZE64

  TEMPORARYTABLESPACE

    MANAGEDBYSYSTEMUSING(path'F:

/DB2TEMP/PERSONL')

  WITH"PERSONNELDBFORDSCHIEFERCO"

createdatabasesccrmusingcodesetGBKterritoryCN

#删除数据库

  DROPDATABASE

  

#数据库目录的定义

 *本地数据库目录(节点的目录中的文件SQLDBDIR)

    本地数据库目录文件存在于定义了数据库的每条路径(或WIN中的"驱动器")

    对于可以从该位置存取得每个数据库此目录都包含一个条目.包含信息:

     数据库名称,数据库别名,数据库注释,数据库的根目录的名称,其他系统信息.

 *系统数据库目录(实例中的目录中的文件SQLDBDIR)

    对于数据库管理器的每个实例,都存在一个系统数据库目录文件,该文件对于针对

    此实例编目的每个数据库都包含一个条目.使用CREATEDATABASE时隐式的编目数据库

    每个数据库包含一条信息:

数据库名,数据库别名,数据库注释,本地数据库目录的位置,

     指示该数据库是间接的指示符,表示它与系统数据库目录文件驻留在相同的机器上.

查看本地或系统数据库目录文件

  LISTDATABASEDIRECTORYON

  LISTDATABASEDIRECTORY

   

 *节点目录

    数据库管理器在编目第一个数据库分区时会创建节点目录.要编目数据库分区,

    使用CATALOGNODE命令.要显示本地节点目录的内容,使用LISTNODEDIRECTORY

    .在每个数据库客户机上都创建并维护节点目录.对于具有客户机可以存取得一个

    或多个数据库的每个远程工作站,该目录都包含一个条目.db2客户机使用该节点目录中

    的通信端点信息.

    catalogtcpipnodemy_node_nameremote10.10.10.10server54321

uncatalognodemy_node_name

    catalogdatabaseDBasmy_data_aliasatnodemy_node_name

#"轻量级目录访问协议"(LDAP)目录服务

   目录服务是一个关于分布式环境中的多个系统和服务的资源信息的资源库;它

   提供对这些资源的客户机和服务器存取.客户机和服务器将使用目录服务来找出

   如何存取其他资源.

   LDAP是业界标准的存取目录服务的方法.每个数据库服务器实例都会将它的存在情况发布给LDAP,

   并在创建数据库时向LDAP目录提供数据库信息.当客户机与数据库连接后,可从LDAP目录检索

   服务器的目录信息.不再要求每个客户机将目录信息以本地方式存储在每台机器上.

#创建数据库分区组

   可以使用CREATEDATABASEPARTITIONGROUP语句创建数据库分区组.此语句指定表空间

   容器和表数据将驻留其上的一组数据库分区.

     *为数据库分区组创建分区映象.

     *生成分区映象标识

     *将记录插入下列目录表:

      SYSCAT.DBPARTITONGROUPS,SYSCAT.PARTITIONMAPS,SYSCAT.DBPARTITIONGROUPDEF

  CREATEDATABASEPARTITIONGROUPONDBPARTITIONNUMS(,

  

#创建表空间

表空间建立数据库系统使用的物理存储设备与用来存储数据的逻辑容器或表的关系

CREATETABLESPACE

   MANAGEDBYSYSTEM

   USING('')

    

CREATETABLESPACE

   MANAGEDBYDATABASE

   USING(FILE''

          DEVICE

*指定分区组

CREATETABLESPACEPLANSINODDNODEGROUP

   MANAGEDBYDATABASE

   USING(DEVICE'/dev/HDISK0'10000,DEVICE'/dev/n1hd01'40000)onnode1

       (DEVICE'/dev/HDISK0'10000,DEVICE'/dev/n1hd03'40000)onnode3

       (DEVICE'/dev/HDISK0'10000,DEVICE'/dev/n1hd05'40000)onnode5 

CREATE REGULAR TABLESPACECUSTTBSINDATABASEPARTITIONGROUPCUSTOMER 

PAGESIZE4K MANAGEDBYDATABASE USING 

(FILE'D:

/testdbtbs/custtbs0_1'5120)ONDBPARTITIONNUM(0) 

USING 

(FILE'D:

/testdbtbs/custtbs1_1'5120)ONDBPARTITIONNUM

(1) 

EXTENTSIZE16OVERHEAD10.5PREFETCHSIZE16

  

  在多分区数据库中创建单分区组.

  CREATEDATABASEPARTITIONGROUPsingle_tbs_grpONDBPARTITIONNUM(0)

  在单分区组中创建单分区表空间.

  CREATETABLESPACEsingle_part_tbsINDATABASEPARTITIONGROUPsingle_tbs_grp

  MANAGEDBYDATABASEUSING(FILE'd:

/testdbtbs/single_part_tbs_1'5120)

   

 在UNIX中使用字符设备.

  

*创建特定类型的表空间

 创建系统临时表空间

 CREATESYSTEMTEMPORARYTABLESPACEtmp_tbsp

  MANAGEDBYSYSTEM 

  USING('d:

/tmp_tbsp','e:

/tmp_tbsp')

   

  在分区数据库中创建系统临时表空间只能在IBMTEMPGROUP中产生

  CREATE SYSTEMTEMPORARY TABLESPACETEMPSYS_TBSP1

   INDATABASEPARTITIONGROUPIBMTEMPGROUP 

   PAGESIZE4K MANAGEDBYSYSTEM  

   USING('D:

/testdbtbs/sys_temp_0')ONDBPARTITIONNUM(0) 

   USING('d:

/testdbtbs/sys_temp_1')ONDBPARTITIONNUM

(1) 

   EXTENTSIZE16OVERHEAD10.5PREFETCHSIZE16 

 创建用户临时表空间

  CREATEUSERTEMPORARYTABLESPACEusr_tbsp

   MANAGEDBYDATABASE

   USING(FILE'd:

/db2data/user_tZbsp'5000,

          FILE'e:

/db2data/user_tbsp'5000)

    

   在分区数据库中创建用户临时表空间可在除IBMTEMPGROUP中的其他分区组中产生.

  CREATE USERTEMPORARY TABLESPACEUSER_TEMP_TBSP

   INDATABASEPARTITIONGROUPUSER_TEMP_TBSGRP 

   PAGESIZE4K MANAGEDBYSYSTEM  

   USING('D:

/testdbtbs/user_temp_0')ONDBPARTITIONNUM(0) 

   USING('d:

/testdbtbs/user_temp_1')ONDBPARTITIONNUM

(1)        

   

 *指定物理设备

 在WINDOWS上,指定物理硬盘驱动器,使用//./PhysicalDriveN (N-0,1,2..)

             指定逻辑驱动器使用//./N:

(N是系统中的逻辑盘符)

 在UNIX中指定字符设备.

  

  #SMS 当对象增大时,文件每次扩展一页。

若需要提高插入性能,可以考虑启用多页分配,如MDC表。

运行db2empfa.对于多分区数据库必须对每个分区运行此使用程序,一旦启用就不能禁止。

  #DMS  

单分区表空间大小,4kb-64gb;8kb-128gb;16kb-256gb;32kb-512gb

           在缺省情况下,每个容器都保留一个数据块作为开销,表空间的最小大小是5个数据块。

三个保留给开销使用。

两个用于用户表数据。

 #在多个节点上产生表空间

CREATETABLESPACETS1MANAGEDBYDATABASEUSING

(device'/dev/rcont$N'20000)

CREATETABLESPACETS2MANAGEDBYDATABASEUSING

(file'/DB2/containers/TS2/container$N+100'10000)

CREATETABLESPACETS3MANAGEDBYSYSTEMUSING

('/TS3/cont$N%2','/TS3/cont$N%2+2')

 #增加表空间的空间

   ALTERTABLESPACERESOURCE

      ADD(DEVICE'/dev/rhd9'10000,

           DEVICE'/dev/rhd10'10000)

  #改变表空间状态

   DB2ALTERTABLESPACESWITCHONLINE

  #删除表空间

   DROPTABLESPACE

   可以先增加一个系统临时表空间,然后删除老的.

  #获取表空间使用信息

   getsnapshotfortablespacesonsample

  #获取表空间的CONTAINER

   LISTTABLESPACECONTAINERSFOR0(TABLESPACE_ID)SHOWDETAIL

   

#创建和填充表

 列出表:

 listtables-列出当前用户的表 

 listtablesforall-列出数据库中所定义的所有表 

 listtablesforschemaschemaname-列出具有指定模式的表 

 describetabletablename-显示指定表的结构

 产生表和主键

 CREATETABLEDEPARTMENT

(DEPTNOCHAR(3)NOTNULL,

DEPTNAMEVARCHAR(29)NOTNULL,

MGRNOCHAR(6),

ADMRDEPTCHAR(3)NOTNULL,

LOCATIONCHAR(16),

PRIMARYKEY(DEPTNO))

 INRESOURCE

 产生外键

 CREATETABLEEMPLOYEE

(EMPNOCHAR(3)NOTNULLPRIMARYKEY,

FIRSTNMEVARCHAR(12)NOTNULL,

LASTNAMEVARCHAR(15)NOTNULL,

WORKDEPTCHAR(3),

PHONENOCHAR(4),

PHOTOBLOB(10m)NOTNULL,

FOREIGNKEYDEPT(WORKDEPT)

REFERENCESDEPARTMENTONDELETENOACTION)

 INRESOURCE

       ONDELETENOACTION表示如果该部门有任何雇员则该部门不能被删除.

 定义表检查约束

     在创建或改变表时,通过将检查约束定义与表关联来对该表创建表检查约束.

     当INSERT或UPDATE语句修改该表中的数据时,就自动激活此约束.表检查约束对

     DELETE或SELECT没有影响.检查约束不能与类型表相关.

      约束名不能与在同一个CREATETABLE语句内指定的任何其他约束相同.若不

      指定约束名,系统会自动生成18个字符的唯一标识符.

     表检查约束用于实现键唯一性或引用完整性约束所未涵盖的数据完整性规则.

     如:

CREATETABLEEMP_ACT

(EMPNOCHAR(6)NOTNULL,

PROJNOCHAR(6)NOTNULL,

ACTNOSMALLINTNOTNULL,

EMPTIMEDECIMAL(5,2),

EMSTDATEDATE,

EMENDATEDATE,

CONSTRAINTACTDATESCHECK(EMSTDATE<=EMENDATE))

INRESOURCE

    约束EMSTDATE必须小于EMENDATE

  定义信息性约束

      信息性约束是一个规则,可由SQL编译器使用,但数据库管理器不会强制使用它.

      SQL编译器包括一个重写查询阶段,它将SQL语句变换为可能是优化的格式并改进

      所需数据的存取路径.目的是改进查询性能.

  对新表定义生成列

      生成列在基本表中定义,在这些列中,存储的值是使用表达式计算得出的,而不是

通过插入或更新操作指定.可以改善查询性能,特别是计算很复杂或在查询时要进行

多次表达式求值.

CREATETABLEt1(c1INT,

c2DOUBLE,

c3DOUBLEGENERATEDALWAYSAS(c1+c2)

c4GENERATEDALWAYSAS

(CASEWHENc1>c2THEN1ELSENULLEND))

   创建用户定义临时表

临时表不出现在系统目录中,不能共享此表

DECLAREGL

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2