您的位置:首页 > 其它

DB2常用命令总结

2015-07-03 21:08 369 查看
分类:

原文出处:http://blog.chinaunix.net/uid-57485-id-2090822.html

在命令行状态 运行db2cmd后启动来初始化命令行环境。

DB2常用命令(一)

//建立数据库DB2_GCB

CREATE DATABASE DB2_GCB ON G: ALIAS DB2_GCB

USING CODESET GBK TERRITORY CN COLLATE USING SYSTEM DFT_EXTENT_SZ 32

//连接数据库

connect to sample1 user db2admin using 8301206

//建立别名

create alias db2admin.tables for sysstat.tables;

CREATE ALIAS DB2ADMIN.VIEWS FOR SYSCAT.VIEWS

create alias db2admin.columns for syscat.columns;

create alias guest.columns for syscat.columns;

//建立表

create table zjt_tables as

(select * from tables) definition only;

create table zjt_views as

(select * from views) definition only;

//插入记录

insert into zjt_tables select * from tables;

insert into zjt_views select * from views;

//建立视图

create view V_zjt_tables as select tabschema,tabname from zjt_tables;

//建立触发器

CREATE TRIGGER zjt_tables_del

AFTER DELETE ON zjt_tables

REFERENCING OLD AS O

FOR EACH ROW MODE DB2SQL

Insert into zjt_tables1 values(substr(o.tabschema,1,8),substr(o.tabname,1,10))

//建立唯一性索引

CREATE UNIQUE INDEX I_ztables_tabname

ON zjt_tables(tabname);

//查看表

select tabname from tables

where tabname='ZJT_TABLES';

//查看列

select SUBSTR(COLNAME,1,20) as 列名,TYPENAME as 类型,LENGTH as 长度

from columns

where tabname='ZJT_TABLES';

//查看表结构

db2 describe table user1.department

db2 describe select * from user.tables

//查看表的索引

db2 describe indexes for table user1.department

//查看视图

select viewname from views

where viewname='V_ZJT_TABLES';

//查看索引

select indname from indexes

where indname='I_ZTABLES_TABNAME';

//查看存贮过程

SELECT SUBSTR(PROCSCHEMA,1,15),SUBSTR(PROCNAME,1,15)

FROM SYSCAT.PROCEDURES;

//类型转换(cast)

ip datatype:varchar

select cast(ip as integer)+50 from log_comm_failed

//重新连接

connect reset

//中断数据库连接

disconnect db2_gcb

//view application

LIST APPLICATION;

//kill application

FORCE APPLICATION(0);

db2 force applications all (强迫所有应用程序从数据库断开)

//lock table

//独占

lock table test in exclusive mode

//共享

lock table test in share mode

//显示当前用户所有表

list tables

//列出所有的系统表

list tables for system

//显示当前活动数据库

list active databases

//查看命令选项

list command options

//系统数据库目录

LIST DATABASE DIRECTORY

//表空间

list tablespaces

//表空间容器

LIST TABLESPACE CONTAINERS FOR

Example: LIST TABLESPACE CONTAINERS FOR 1

//显示用户数据库的存取权限

GET AUTHORIZATIONS

//启动实例

DB2START

//停止实例

db2stop

//表或视图特权

grant select,delete,insert,update on tables to user

grant all on tables to user WITH GRANT OPTION

//程序包特权

GRANT EXECUTE

ON PACKAGE PACKAGE-name

TO PUBLIC

//模式特权

GRANT CREATEIN ON SCHEMA SCHEMA-name TO USER

//数据库特权

grant connect,createtab,dbadm on database to user

//索引特权

grant control on index index-name to user

//信息帮助 (? XXXnnnnn )

例:? SQL30081

//SQL 帮助(说明 SQL 语句的语法)

help statement

例如,help SELECT

SQLSTATE 帮助(说明 SQL 的状态和类别代码)

? sqlstate 或 ? class-code

//更改与“管理服务器”相关的口令

db2admin setid username password

//创建 SAMPLE 数据库

db2sampl

db2sampl F:(指定安装盘)

//使用操作系统命令

! dir

//转换数据类型 (cast)

SELECT EMPNO, CAST(RESUME AS VARCHAR(370))

FROM EMP_RESUME

WHERE RESUME_FORMAT = 'ascii'

//要运行 DB2 Java 存储过程或 UDF,还需要更新服务器上的 DB2 数据库管理程序配置,以包括在该机器上安装 JDK 的路径

db2 update dbm cfg using JDK11_PATH d:\sqllib\java\jdk

TERMINATE

update dbm cfg using SPM_NAME sample

//检查 DB2 数据库管理程序配置

db2 get dbm cfg

//检索具有特权的所有授权名

SELECT DISTINCT GRANTEE, GRANTEETYPE, 'DATABASE' FROM SYSCAT.DBAUTH

UNION

SELECT DISTINCT GRANTEE, GRANTEETYPE, 'TABLE ' FROM SYSCAT.TABAUTH

UNION

SELECT DISTINCT GRANTEE, GRANTEETYPE, 'PACKAGE ' FROM SYSCAT.PACKAGEAUTH

UNION

SELECT DISTINCT GRANTEE, GRANTEETYPE, 'INDEX ' FROM SYSCAT.INDEXAUTH

UNION

SELECT DISTINCT GRANTEE, GRANTEETYPE, 'COLUMN ' FROM SYSCAT.COLAUTH

UNION

SELECT DISTINCT GRANTEE, GRANTEETYPE, 'SCHEMA ' FROM SYSCAT.SCHEMAAUTH

UNION

SELECT DISTINCT GRANTEE, GRANTEETYPE, 'SERVER ' FROM SYSCAT.PASSTHRUAUTH

ORDER BY GRANTEE, GRANTEETYPE, 3

create table yhdab

(id varchar(10),

password varchar(10),

ywlx varchar(10),

kh varchar(10));

create table ywlbb

(ywlbbh varchar(8),

ywmc varchar(60))

//修改表结构

alter table yhdab ALTER kh SET DATA TYPE varchar(13);

alter table yhdab ALTER ID SET DATA TYPE varchar(13);

alter table lst_bsi alter bsi_money set data type int;

insert into yhdab values

('20000300001','123456','user01','20000300001'),

('20000300002','123456','user02','20000300002');

//业务类型说明

insert into ywlbb values

('user01','业务申请'),

('user02','业务撤消'),

('user03','费用查询'),

('user04','费用自缴'),

('user05','费用预存'),

('user06','密码修改'),

('user07','发票打印'),

('gl01','改用户基本信息'),

('gl02','更改支付信息'),

('gl03','日统计功能'),

('gl04','冲帐功能'),

('gl05','对帐功能'),

('gl06','计费功能'),

('gl07','综合统计')

  二. 目录视图说明

说明 目录视图

检查约束 SYSCAT.CHECKS

列 SYSCAT.COLUMNS

检查约束引用的列 SYSCAT.COLCHECKS

关键字中使用的列 SYSCAT.KEYCOLUSE

数据类型 SYSCAT.DATATYPES

函数参数或函数结果 SYSCAT.FUNCPARMS

参考约束 SYSCAT.REFERENCES

模式 SYSCAT.SCHEMATA

表约束 SYSCAT.TABCONST

表 SYSCAT.TABLES

触发器 SYSCAT.TRIGGERS

用户定义函数 SYSCAT.FUNCTIONS

视图 SYSCAT.VIEWS

  三. 字符串类型

  二进制大对象 (BLOB) 字符串。

  字符大对象 (CLOB) 字符串,它的字符序列可以是单字节字符或多字节字符,或这两者的组合。

  双字节字符大对象 (DBCLOB) 字符串,它的字符序列是双字节字符。

  四. 数据库范式

  第一种规范形式:表中的每一行和每一列均有一个值,永远不会是一组值。

  第二种规范形式:不在关键字中的每一列提供取决于整个关键字的事实。

  第三种规范形式:每个非关键字列提供与其他非关键字列无关并只取决于该关键字的事实。

  第四种规范形式:没有行包含有关一个实体的两个或更多个独立的多值事实。

  五. 数据类型

数据类型 类型 特性 示例或范围

CHAR(15) 定长字符串 最大长度为 254 'Sunny day '

VARCHAR(15) 变长字符 最大长度为 4000 'Sunny day'

SMALLINT 数字 长度为 2 字节精度为 5 位 范围为-32768 至 32767

INTEGER 数字 长度为 4 字节精度为 10 位 范围为-2147483648 至 2147483647

REAL 数字 单精度浮点32 位近似值 范围为-3.402E+38至-1.175E-37或 1.175E-37 至-3.402E+38或零

DOUBLE 数字 双精度浮点64 位近似值 范围为-1.79769E+308 至-2.225E-307或 2.225E-307 至 1.79769E+308或零

DECIMAL(5,2) 数字 精度为 5小数位为 2 范围为 -10**31+1 至 10**31-1

DATE 日期时间 三部分值 1991-10-27

TIME 日期时间 三部分值 13.30.05

TIMESTAMP 日期时间 七部分值 1991-10-27-13.30.05.000000

列函数

列函数对列中的一组值进行运算以得到单个结果值。下列就是一些列函数的示例。

***G

返回某一组中的值除以该组中值的个数的和

COUNT

返回一组行或值中行或值的个数

MAX

返回一组值中的最大值

MIN

返回一组值中的最小值

标量函数

标量函数对值进行某个运算以返回另一个值。下列就是一些由DB2 通用数据库提供的标量函数的示例。

ABS

返回数的绝对值

HEX

返回值的十六进制表示

LENGTH

返回自变量中的字节数(对于图形字符串则返回双字节字符数。)

YEAR

抽取日期时间值的年份部分

DB2数据库的安装



2005-3-3 14:37:05

这是在IBM RS6000 操作系统为AIX安装的,HP9000上雷同

1. 注册为具有超级用户权限的用户(root)

2. 将 标有“DB2通用数据库企业版”的软件光盘插入驱动器

3. 输入如下命令,以创建一个目录来安装该 CD-ROM:

# mkdir -p /cdrom 其中 cdrom 表示 CD-ROM 安装目录。

输入如下命令,来分配 CD-ROM 文件系统:

# smitty storage

4. 选择文件系统

5. 选择添加/更改/显示/删除文件系统

6. 选择 CDROM 文件系统

7. 选择添加 CDROM 文件系统

8. 在弹出窗口中,输入如下项作为安装点:

/cdrom

9. 通过输入以下命令来安装 CD-ROM 文件系统: smit mountf

10. 在文件系统名称字段中输入值。例如,该名称可能是 /dev/cd0。

11. 在安装目录字段中输入值。例如,此值可能是 /cdrom。

12. 将安装为只读系统设置为 Yes。

13. 单击确定。

14. cd /cdrom

15. 输入 ./db2setup 命令以启动 DB2 安装程序。 安装 DB2 V6 窗口打开。

16. 按 Tab 键更改突出显示的选项,按 Enter 键选择或取消选择选项。

(1) 在服务器上安装,一般选择安装以下三个产品:

注意:要显示想要安装的 DB2 产品的部件,选择定制。要在任何时候返回至先前窗口,选择取消。

 DB2 Administration Client

选择定制安装这个产品,

 DB2 UDB enterprise edition

选择定制安装这个产品,

 DB2 Software Developer Kit

如果同时做开发,需要定制安装此产品。

(2) 在“DB2产品信息”和“DB2产品库”只选择中国语言ZH_CN支持。

17. 在16步确认后,将开始安装数据库程序。在安装过程中,还需确认以下问题:

(1) 是否建立DB2管理帐户, 一般选择建立:

按缺省建立db2管理用户db2as(使用缺省的UID,Group Id,安装home路径),在语言支持上,

只选择中国语言ZH_CN支持。

(2) 是否建立DB2的实例, 一般选择建立:

 按缺省建立db2管理用户db2inst1:db2iadm1(使用缺省的UID,Group Id,安装home路径),

在语言支持上,只选择中国语言ZH_CN支持。

 按缺省建立db2用户db2fenc1:db2fenc1(使用缺省的UID,Group Id,安装home路径),

在语言支持上,只选择中国语言ZH_CN支持。

 是否建立sample数据库(为了检查数据库的安装是否正确,一般选择建立sample数据库)

 是否选择DB2的实例进程在操作系统启动时,自动执行初始化

如果在独立服务器上安装使用,可选择autostart,但在aix+hacmp+db2的双机共享环境中,不要选择

autostart,DB2实例进程的启动,由hacmp来控制。

18. 安装结果:

数据库程序安装完成后,DB2的软件程序安装在/usr/lpp目录中,

DB2DIR = /usr/lpp/DB2_06_01

注意:如果安装过程中没有指定建立实例和管理帐户,在安装完成后可以使用命令创建实例(db2icrt)。

或者要创建或添加新的实例、“管理服务器”或其他 DB2 产品和部件,输入如下命令:

/usr/lpp/DB2_06_01/install/DB2setup

19. 验证安装

在安装时若没有选择建立sample数据库,在安装完成后可以通过命令(db2sampl)创建 SAMPLE 数据库,

并通过使用命令行处理器与该数据库相连来验证安装:

(1) 作为具有系统管理 (SYSADM) 权限的用户向系统注册。如:db2inst1

(2) 输入 DB2sampl 命令以便创建 SAMPLE 数据库。

(3) 创建 SAMPLE 数据库时,用数据库别名 SAMPLE 将它自动编目。

(4) 输入 DB2start 命令以启动数据库管理程序。

(5) 输入下列命令来与 SAMPLE 数据库相连,检索在部门 20 中工作的所有雇员的列表,并重设数据库连接:

DB2 connect to sample

DB2 "select * from staff where dept = 20"

DB2 connect reset

注意:在验证安装后,可除去 SAMPLE 数据库以释放磁盘空间。输入 DB2 drop database sample 命令

来卸下 SAMPLE 数据库。



若尚未未安装 DB2 工具,则您可以通过创建 SAMPLE 数据库, 并通过使用命令行处理器与该数据库

相连来验证安装,如下所示:

步骤 1.

作为具有系统管理 (SYSADM) 权限的用户向系统注册。

步骤 2.

输入 db2sampl 命令以便创建 SAMPLE 数据库。

创建 SAMPLE 数据库时, 用数据库别名 SAMPLE 将它自动编目。

步骤 3.

输入 db2start 命令以启动数据库管理程序。

步骤 4.

输入下列命令来与 SAMPLE 数据库相连, 检索在部门 20 中工作的所有雇员的列表,并重设数据库连接:

db2 connect to sample

db2 "select * from staff where dept = 20"

db2 connect reset

如以上命令均正确执行, 则证明DB2 UDB 数据库服务器的安装已经成功完成.

如果出现异常导致DB2关闭,请用下面命令重新启动DB2和SDE。

Spring

重新启动DB2:

用root用户登陆,然后输入以下命令:

spring2005



su - db2inst9

强行关闭DB2:

db2stop force

启动DB2:

db2start

DB2 SHUTDOWN后,有可能在sqllib/db2dump下生成一些.000的内存DUMP文件,可以

将这些文件全部删除,否则会导致HOME下空间不够,在进入该目录后,用下面的命令删

除之:

rm -fr *.000

重新启动SDE:

DB2重新启动后,需要重新启动SDE,用chcc_gis用户登陆:

启动:



cd $SDEHOME/bin

./sdemon -o start -p sde



关闭:

./sdemon -o shutdown -p sde
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: