Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1146429
  • 博文数量: 251
  • 博客积分: 8431
  • 博客等级: 中将
  • 技术积分: 2699
  • 用 户 组: 普通用户
  • 注册时间: 2007-07-22 16:24
文章分类

全部博文(251)

文章存档

2016年(2)

2015年(5)

2014年(4)

2013年(10)

2012年(8)

2011年(14)

2010年(20)

2009年(33)

2008年(51)

2007年(104)

分类:

2007-07-31 20:47:09

在命令行状态 运行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


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

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

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

阅读(3374) | 评论(0) | 转发(0) |
0

上一篇:TSM客户端命令

下一篇:DB2命令

给主人留下些什么吧!~~