DB2基础知识

DB2基础知识
DB2基础知识

目录

第一部分:DB2基础知识 (2)

一、复习 (2)

二、数据库基础-DB2 (2)

1.访问软件 (2)

2.安装检查 (2)

3.正式安装 (3)

4.安装后检查 (3)

三、相关windows命令 (3)

四、数据库db2使用 (4)

1.实例相关操作 (4)

2.创建示例数据库: (4)

3.如何连接数据库 (4)

五、模式的相关操作 (6)

六、数据库语句操作 (6)

1.操作数据库基本步骤 (6)

2.查看命令帮助 (6)

3.建立表 (6)

4.插入数据 (7)

5.查看表结构 (8)

6.修改主记录 (8)

7.删除记录 (9)

8.查询记录 (9)

七、数据库备份与恢复 (11)

1.命令行方式导出 (11)

2.GUI方式导出 (11)

作业: (12)

第二部分:JDBC编程技术 (13)

一、准备环境 (13)

二、测试连接 (13)

1.找不到符号 (13)

2.未报告的异常 (13)

3.建立lib目录 (13)

4.复制db2的jdbc驱动至lib (13)

5.更改名称 (14)

6.使用jdbc步骤 (14)

7.查询数据 (14)

8.插入数据 (14)

9.连接数据库的两种方式 (15)

10.手工指定 (15)

11.事务处理 (15)

第三部分:综合练习 (16)

1.DAO模式 (16)

2.MVC模式 (17)

3.分析需要做什么?CRUD (17)

4.怎么去设计 (17)

5.如何实现 (17)

第一部分:DB2基础知识

一、复习

jre

jdk

jvm

path

classpath

JAVA_HOME

二、数据库基础-DB2

1.访问软件

ftp://172.18.60.14

temp

123

2.安装检查

db2cmd:检查是否已经安装过db2?

db2start:如果安装了,是否能启动?

3.正式安装

安装路径:

D:\IBM\SQLLIB

用户名:db2admin

密码:123

4.安装后检查

4.1程序项

所有程序里面,查看是否有IBM DB2 右下角是否db2的启动图标

4.2服务组件

services.msc

4.3服务设置

右键服务,进行设置登录为本地用户启动类型,全部更改为手动

4.4实例启动与停止

instance:

db2start

db2stop

远程连接管理服务:

一般开发时不需要启动。

db2admin start

db2admin stop

三、相关windows命令

cmd

cd

rd

mkdir

del

dir

rename

copy

tree

lusrmgr.msc

mspaint

services.msc

regedit

notepad

cls

path

set

control

type

exit

help

四、数据库db2使用

1.实例相关操作

db2ilist 查看所有实例

db2icrt erp创建实例

db2 get instance 查看当前实例

db2idrop 删除实例

2.创建示例数据库:

db2fs批处理出现第一步,可点击创建示例数据库

db2sampl.exe

3.如何连接数据库

3.1命令行两种方式

db2cmd:每个命令之前必须要写db2

db2cmd->db2,每个命令执行之前无须写db2,退出时使用quit

3.2连接数据库

使用用户名与密码

db2 connect to sample user db2admin using 123

如果连接本地数据库可不写用户名与密码,默认以当前操作系统登录用户db2 connect to sample

list tables:查看当前连接数据库有哪些表,

使用?查看命令集,及相关帮助

db2cc:db2控制中心,所有的操作都可以在此界面中操作

db2ca:配置助手,包括建立数据库,查看数据库,远程连接等

3.3断开数据库

db2 terminate

db2 connect reset

3.4创建新的数据库

create database MyDb:在默认安装路径的盘符中建立数据库文件create database MyDb on d:在指定盘符中建立数据库文件

数据库文件在:D:\DB2\NODE0000

3.5查看当前所有数据库

db2 ?list,

db2 list db directory

3.6使用QuestCentral第三方工具连接数据库

QuestCentral.exe,

ftp://172.18.60.14/软件室培训学习计划/SOFTWARE/Quest Software/

3.6建立远程数据库

1.命令行方式

catalogsystem,instance

连接至哪个数据库

2.图形方式

QuestCentral

db2ca

tcp/ip

主机名:172.18.60.69

服务名称:空

端口号:50000

数据库名称:idbnj(远程数据库名称)

数据库别名:njdvlp_r

操作系统:AIX

实例名:DB2

服务器认证

用户标识:javauser

密码:javauser

3.7连接远程数据库

db2 connect to njdvlp_r user javauser using javauser

列出所有模式为db的数据库表

db2 list tabls for schema db

db2 select schemaname from syscat.schemata

五、模式的相关操作

1.查看模式

连接到相关数据库

db2 connect to mydb

db2 select schemaname,owner from syscat.schemata

2.创建模式schema

显示创建:db2 create schema db authorizations ownername:默认的拥有都为登录用户隐式创建: db2 create table tblUser(strnamevarchar(100)):默认的拥有为sysibm

db2 create table tblAddress(strnamevarchar(100)):默认的拥有为sysibm

3.显示当前使用schema

db2 select current schema from sysibm.dual

4.设置默认模式名

set current schema db

set schema db

六、数据库语句操作

1.操作数据库基本步骤

db2start

db2 connect to 数据库

db2 terminate/db2 connect reset

2.查看命令帮助

db2 ?查看所有的命令

db2 ? db2-command 关于指定命令的帮助

db2 ? OPTIONS 关于所有命令选项的帮助

db2 ? HELP - 关于阅读帮助屏幕的帮助

3.建立表

3.1建立tblGrade年级表

create table db.tblGrade

(

intIdint not null generated by default

as identity primary key,

strNamevarchar(50) not null

)

3.2删除表

drop table

3.3每一行结束符号

db2 -td@

3.4创建表tblStudent学生表

create table db.tblStudent

(

intIdint not null generated by

default as identity primary key,

strNamevarchar(50),

intAgeint default 18,

strAddressvarchar(100),

strSex char(1),

gradeIdint

)

3.5创建表tblCourse课程表

create table db.tblCourse

(

intIdint not null generated by

default as identity primary key,

strNamevarchar(50),

bookNamevarchar(50)

)

3.6创建表tblScore分数表

create table db.tblScore

(

intIdint not null generated by

default as identity primary key,

studentIdint not null,

courseIdint not null,

num float default 0

)

4.插入数据

插入数据检验,是针对一行,不是某一列grade:

insert into db.tblGrade values(1,'一年级')@

insert into db.tblGrade(strName) values('二年级')@ insert into db.tblGrade(strName) values('三年级')@ insert into db.tblGrade(strName) values('四年级')@ insert into db.tblGrade(strName) values('五年级')@

student:

insert into db.tblStudent(strName,intAge,strAddress,strSex,gradeid)

values('张三',18,'南京','T',1)@

insert into db.tblStudent(strName,intAge,strAddress,strSex,gradeid)

values('李四',28,'北京','T',1)@

insert into db.tblStudent(strName,intAge,strAddress,strSex,gradeid)

values('王王',38,'上海','F',1)@

insert into db.tblStudent(strName,intAge,strAddress,strSex,gradeid)

values('吴六',16,'南京','T',1)@

insert into db.tblStudent(strName,intAge,strAddress,strSex,gradeid)

values('冯七',19,'天津','F',1)@

course:

insert into db.tblCourse(strName,bookName) values('Java基础','java大学生教程')@ insert into db.tblCourse(strName,bookName) values('C#基础','C#权限指南')@

insert into db.tblCourse(strName,bookName) values('Servlet精通','Jsp Servlet权威')@ insert into db.tblCourse(strName,bookName) values('SVN操作指南','svn入门')@ score:

insert into db.tblScore(studentId,courseId,num) values(1,1,80)@

insert into db.tblScore(studentId,courseId,num) values(1,2,90)@

insert into db.tblScore(studentId,courseId,num) values(1,3,85)@

insert into db.tblScore(studentId,courseId,num) values(2,1,85)@

insert into db.tblScore(studentId,courseId,num) values(2,2,60)@

insert into db.tblScore(studentId,courseId,num) values(2,3,58)@

insert into db.tblScore(studentId,courseId,num) values(3,1,70)@

insert into db.tblScore(studentId,courseId,num) values(3,2,90)@

insert into db.tblScore(studentId,courseId,num) values(3,3,80)@

5.查看表结构

db2 describe table db.tblStudent

db2 describe table db.tblStudent show detail

6.修改主记录

select * from db.tblStudent

update db.tblStudent set strAddress='北京',intAge=29 where intId=1 按主键Id更新update db.tblStudent set intAge=intAge+1 where intAge<20 按条件更新

7.删除记录

删除针对整行记录,不能删除某列

insert into db.tblGrade(strName) values('八年级')@

delete from db.tblGrade where intId=6 按主键Id删除

insert into db.tblGrade(strName) values('八年级')@

insert into db.tblGrade(strName) values('八年级')@

insert into db.tblGrade(strName) values('八年级')@

insert into db.tblGrade(strName) values('八年级')@

delete from db.tblgrade where strname='八年级'@ 按条件删除

8.查询记录

8.1:select * from db.tblgrade@ :查询表的所有记录,所有列

8.2:select strName from db.tblgrade @ 查询表部分列,所有记录

8.2:select strName from db.tblgrade where strName='一年级' @ 查询部分列,部分记录8.3:select strName as 年级名称from db.tblGrade@ 指定列的别名,使用as

8.4:where中的条件包括:

>,<,=,<>,in,not in ,between and ,and ,or,like

select * from db.tblgrade where intId>3

8.5:排序order by desc: 降序,Asc:升序

select * from db.tblstudent order by intAgeAsc@ 学生表按年龄升序

select * from db.tblstudent where intAge>20 order by intAgeAsc@ 学生表按年龄升序8.6: 聚合函数

sum,max,min,avg,count

select max(intAge) from db.tblstudent@

select min(intAge) from db.tblstudent@

selectavg(intAge) from db.tblstudent@

select count(*) from db.tblstudent where strSex='F'@

select count(*) from db.tblstudent where strSex='T'@

8.7:子查询

select * from db.tblstudent where intAge=(select max(intAge) from db.tblstudent)@

8.8:union 把两个结果集结合到一起显示

select 'F' as strSex,count(*) as pers from db.tblstudent where strSex='F'

union

select 'T' as strSex,count(*) as pers from db.tblstudent where strSex='T'

8.9分组group by

selectstrSex,count(*) as pers from db.tblstudent group by strSex@

8.10having

selectstrSex,count(*) as pers from db.tblstudent group by strSex having count(*)>2 @

8.11where ,group by ,having ,order by等几种关系

where:对记录进行过滤

group by 对过滤后的结果进行分组having对分组后的数据进行限制或过滤order by 是对过滤分组后的最终结果进行排序

where>group by having>>order by

select strSex,count(*) from db.tblstudent

whereintAge>17 group by strSex

order by strSex

8.12多表查询

查询出学生的所在年级中文名称,

selectdb.tblstudent.*,db.tblgrade.strName from db.tblstudent,db.tblgrade wheredb.tblstudent.gradeid=db.tblgrade.intid

表的别名:

select a.*,b.strName as 年级名称from db.tblstudent as a,db.tblgrade as b wherea.gradeid=b.intid

内连接:

inner join :只有两表记录匹配都会出现在结果集中

select a.*,b.strName as 年级名称

fromdb.tblstudent as a

inner join db.tblgrade as b on a.gradeid=b.intid

外连接:可分为:

左连接:

left join on

select a.*,b.strName as 年级名称

fromdb.tblstudent as a

left join db.tblgrade as b on a.gradeid=b.intid

右连接:

right join on

select a.*,b.strName as 年级名称

fromdb.tblstudent as a

right outer join db.tblgrade as b on a.gradeid=b.intid

全连接:

select a.*,b.strName as 年级名称

fromdb.tblstudent as a

full outer join db.tblgrade as b on a.gradeid=b.intid

注意:左连接与右连接相互互换

七、数据库备份与恢复

单表:

导出:export

1.命令行方式导出

e:

mkdirtranTmp

cdtranTmp

执行如下语句:

db2 export to student.xls of del messages msg.txt select * from db.tblstudent

db2 export to student.ixf of ixf messages msg.txt select * from db.tblstudent

2.GUI方式导出

db2cc

导入:import

db2 import from studentGui.xls of del messages msg.txt insert into db.tblStudent

db2 import from student.ixf of ixf messages msg.txt REPLACE_CREATE into db.tblStudent2

整个库备份与恢复:

db2move:

export:

mkdirmydb

cdmydb

db2set db2codepage=1386

db2movemydb export -u db2admin -p 123 -sndb -aw

-sn:模式名db的数据进行导出

-aw, 如果没有指定aw ,那么产生警告的表将不会出现在db2move.lst中

db2movemydb export -u db2admin -p 123

import:

create database mydbNew

db2movemydbNew import -u db2admin -p 123 -aw

授权:

连接上数据后:

db2 grant dbadm on database to user db2admin

作业:

1.完成课堂上讲课练习

2.完成如下查询:

2.1求每一班有多少学生?显示如下字段:年级名称,人数

2.2课程平均分大于94.5的记录?显示如下字段:课程名称,书籍名称,平均分

select c.strName as 课程名称,c.bookName as 书籍名称,avg(s.num) as 平均分fromdb.tblScore s

inner join db.tblCourse c on s.courseId=c.intId

group by c.strName,c.bookName

select a.*,b.*,c.*

fromtblA a

inner join tblB b on a.xxx=b.yyyy

inner join tblC c on b.zzzz=c.uuu

inner join tblD d on b.zzzz=c.uuu

2.3显示学生表中所有字段,字段名称使用中文

2.4显示学生表中如下字段:性别,人数

2.5显示学生表与年级表中如下字段:姓名,地址,年级名称

3.复习java基础中的面向对象开发的概念:class,interface,extends,implements,override,overload

4.预习JDBC编程部分,包括:

4.1jdbc连接几种类型

4.2jdbc常用接口所在包

4.3尝试使用jdbc技术把今天学生表中的tblstudent记录显示出来。

第二部分:JDBC编程技术

一、准备环境

e:\javaTest

cdjavaTest

mkdir 2012

cd 2012

notepad++ JdbcTest.java

Java类名:每个单词首字母大写的,一般为名词,

方法一般:第一个单词首字母小写的,后面单词首字母大写,一般为动词或动名词

java

set JAVA_HOME=D:\javawork\Java\jdk1.6.0_16

set path=%path%;%JAVA_HOME%\bin;

二、测试连接

1.找不到符号

2.未报告的异常java.sql.SQLException;必须对其进行捕捉或声明以便抛出

3.建立lib目录

mkdir lib

4.复制db2的jdbc驱动至lib

D:\IBM\SQLLIB\java\db2java.zip

5.更改名称

把db2java.zip名称更改为:db2java.jar

6.使用jdbc步骤

6.1加载驱动

6.2建立连接

6.3创建statement

6.4得到ResultSet

6.5关闭ResultSet

6.6关闭statement

6.7关闭连接

7.查询数据

while(rst.next()){

两种方法:

7.1以字段序号得到值

rst.getString(),得到字符串型的字段值

rst.getInt(),得到整型数字字段值

rst.getDobule(),得到双精度字段值

rst.getLong(),得到长整型的字段值

rst.getBigDecimal()得到高精度字段值

7.2以字段列名得到字段值

}

8.插入数据

8.1使用PreparedStatement

出现无法插入数据的解决方法:

add,SQLException:[IBM][CLI Driver][DB2/NT] SQL0551N "DB2ADMIN" 不具有对对象"DB.TBLSTUDENT" 执行操作"INSERT" 的必需权限或特权。SQLSTATE=42501

解决方法:

db2cmd

db2 connect to mydb

db2 grant dbadm on database to user db2admin

8.2使用Statement

con.craeteStatemen();

stmt.executeQuery(strSQL);执行一个select查询语句

executeUpdate()执行一个非select查询语句, 执行给定SQL 语句,该语句可能为INSERT、UPDATE 或DELETE 语句,或者不返回任何内容的SQL 语句(如SQL DDL 语句)。

8.3preparedStatement与statement的区别与联系

1)preparedStatement继承自statement

2)preparedStatement使用预编译,数据在第一次执行进行语法检查,与编译操作,之后同样的语句不会再进行

节约时间,提高效率,使用统一参数设置接口,防止sql注入漏洞。使用起来稍麻烦

3)statement使用起来简单一下,但是不安全,对一些语句肯定不需要交互或一次执行的语句可以采用

9.连接数据库的两种方式

9.1本地映射方式

Class.forName("COM.ibm.db2.jdbc.app.DB2Driver");

Connection con=DriverManager.getConnection("jdbc:db2:mydb","db2admin","123");

java -cp .;./lib/db2java.jar JdbcTest

9.2以远程连接方式

Class.forName("com.ibm.db2.jcc.DB2Driver");

Connection

con=DriverManager.getConnection("jdbc:db2//localhost:50000/mydb","db2admin","123"); java -cp .;./lib/db2jcc.jar;./lib/db2jcc_license_cu.jar JdbcTest

10.手工指定

classpath:设置相关驱动的路径

可以手工指定搜索的驱动

java -cp .;./lib/db2java.jar JdbcTest

11.事务处理

ACID:

原子性(Atomicity)

一致性(Consistency)

隔离性(Isolation)

持久性(Durability):永远保存不会因为停电而

con.setAutoCommit(false);默认为true

https://www.360docs.net/doc/805991252.html,mmit();

con.rollback();

第三部分:综合练习

采用面向对象思想,使用jdbc技术,实现用户资料管理(实体类名:UserVO,数据表:tblUser, 字段列表:intIdint not null generate by default as identity primary key

strSnvarchar(10) not null,用户编号

strNamevarchar(50) not null, 用户名称

strAddressvarchar(100), 地址

strSex char(1) ,性别T:男,F:女

intAgeint default 18,年龄

bdSalarydeciaml(7,2),工资

)

实用用户的资料添加、更新、删除[按用户id]、查询[按用户编号或姓名查询]的模块开发. 用户数据存储格式可以通过数据库或文件方式存储,可通过配置选项进行设置.

1.DAO模式

Data Access Object(DAO)

实体类:

UserVO:

访问接口:

UserDao:

定义几个操作方法:

add()

update()

delete()

query()

一般实现:

UserDaoImpl:

提供的具体的访问数据实现,对面外面使用面向接口编程

2.MVC模式

Model:javabean

View:Jsp

Control:Servlet,

javabean+jsp+servlet实现mvc三层架构.

3.分析需要做什么?CRUD

添加:根据用户输入资料添加用户信息

更新:根据输入资料更新用户信息,如果没有输入值,则以原数据为准删除:先列出所有记录,根据记录中的Id来输入,并删除本Id的数据查询:输入用户工号或用户姓名查询符合条件的所有用户资料

4.怎么去设计

采用MVC和DAO模式结合,三层架构模式

Model:UserVO

View:控制台输出

Control:普通的JavaBean

5.如何实现

5.1先规划项目的目录存储结构

规划项目物理目录结构:

建立一个项目文件夹,叫:MyUserPrj

doc

bin

main

src

model

view

control

dao

service

config

lib

规划项目逻辑结构,包:

https://www.360docs.net/doc/805991252.html,er.model

5.2先实现数据访问

6.1先建立数据表

create table db.tblUser

(

intIdint not null generated by

default as identity primary key,

strSnvarchar(10),

strNamevarchar(50),

intAgeint default 18,

strAddressvarchar(100),

strSex char(1),

bdSalary decimal(7,2)

)

6.2设计一个菜单界面

请输入[0-4]选择以下菜单项:

1.添加用户资料

2.更新用户资料

3.删除用户资料

4.查询用户资料

0.退出用户管理

6.3实现菜单的响应

BufferedReaderbr=new BufferedReader(new InputStreamReader(System.in));

6.4实现用户资料添加方法

6.5实现用户资料更新方法

6.6实现用户资料删除方法

6.7实现用户资料查询方法

作业:

1.完成今天上课的练习;

2.完成综合练习中的用户资料管理中的

[更新]

[删除]

[查询]中实现用户输入工号或姓名,按输入的值进行查询显示

3.可以对数据验证作一些检查

比如:

性别必须输入为T或F

年龄必须须18-60之间

薪水必须大于1200

4.实现用户工号以6位流水号

比如:数据库现在最大的号为:012169,

下一个编号则为:012170,

再一个编号则为:012171

更新功能中的SQL语句:String strSQL="update db.tblUser set strSn='"+this.strSn+"',strAddress='"+strAddress+"'";

DB2开发基础

DB2开发基础 在进行DB2应用开发之前,了解DB2应用程序的结构,掌握相关概念,设置开发环境是很必要的。本章主要介绍这几个方面的内容。 1.1 DB2应用程序开发概述 1.1.1 程序结构 DB2应用程序包括以下几个部分: 1. 声明和初始化变量 2. 连接到数据库 3. 执行一个或者多个事务 4. 与数据库断开连接 5.结束程序 一个事务是一组数据库操作,在提交给数据库之前,必须确认完全成功执行。在嵌入式SQL应用程序中,当应用程序成功地连接到一个数据库时,一个事务就自动开始了,结束于执行一条COMMIT语句或者ROLLBACK语句。同时,下一条SQL语句开始一个新的事务。 每一个应用程序的开始必须包括: ● 数据库管理器用来与宿主程序交互的所有变量和数据结构的声明 ● 设置SQL通信区(SQLCA),提供错误处理的SQL语句

注意:用JAVA写的DB2应用程序在SQL语句出错时抛出一个SQLException 异常,需要在catch块里处理,而不是使用SQLCA。 每个应用程序的主体包括访问和管理数据的SQL语句。这些语句组成事务,事务必须包括下列语句: ● CONNECT语句,其建立一个与数据库服务器的连接 ● 一条或多条: ▲数据操纵语句(例如,SELECT语句) ▲数据定义语句(例如,CREATE语句) ▲数据控制语句(例如,GRANT语句) ● COMMIT或者ROLLBACK语句结束事务 应用程序的结束通常包括释放程序与数据库服务器的连接和释放其他资源的SQL语句。 1.1.2 开发方法选择 可使用几种不同的程序设计接口来存取 DB2 数据库。您可以: ● 将静态和动态 SQL 语句嵌入应用程序。 ● 在应用程序中编写“DB2 调用层接口”(DB2 CLI) 的函数调用,以调用动态 SQL 语句。 ● 开发调用“Java 数据库链接”应用程序设计接口 (JDBC API) 的 Java 应用程序和小程序。

db2数据库使用

一、db2 基础 基本语法 注释:“--”(两个减号) 字符串连接:“||” 如set msg=’aaaa’||’bbbb’,则msg为’aaaabbbb’ 字符串的引用:'’(一定用单引号),如果需要输入单引号,输入两个单引号即可。 语句结束:“;” 语法来源:PASCLE 转义字符: 如果你想查询字符串中包含'%’或'_’ ,就得使用转义字符(Escape Characters)。比如,要想查询book_title中包含字符 串’99%’的纪录: SELECT * FROM books WHERE book_title like '%99!%%’escape '!’ 后面的escape '!’是定一个转义字符'!’, 指明紧跟着转义字符’!'后的%不再是统配符。 DB2命令参数选项 Db2 list command options 可以查看 -a 显示 SQLCA OFF -c 自动落实 ON -e 显示 SQLCODE/SQLSTATE OFF -f 读取输入文件 OFF -l 将命令记录到历史文件中 OFF -n 除去换行字符 OFF -o 显示输出 ON -p 显示交互式输入提示 ON -r 将输出保存到报告文件 OFF -s 在命令出错时停止执行 OFF -t 设置语句终止字符 OFF -v 回送当前命令 OFF -w 显示 FETCH/SELECT 警告信息 ON -x 不打印列标题 OFF -z 将所有输出保存到输出文件 OFF 这些选项的具体功能及其缺省设置为: .a 显示 SQLCA 的数据,缺省为 OFF。 .c 是否自动落实 SQL 命令,缺省为 ON。

DB2常用SQL语句集

DB2常用SQL语句集 1、查看表结构: describe table tablename describe select * from tablename 2、列出系统数据库目录的内容: list database directory 3、查看数据库配置文件的内容: get database configuration for DBNAME 4、启动数据库: restart database DBNAME 5、关闭表的日志 alter table TBLNAME active not logged inially 6、重命名表 rename TBLNAME1 to TBLNAME2 7、取当前时间 select current time stamp from sysibm.sysdummy1 8、创建别名 create alias ALIASNAME for PRONAME(table、view、alias、nickname) 9、查询前几条记录 select * from TBLNAME fetch first N rows 10、联接数据库 db2 connect to DB user db2 using PWD 11、绑定存储过程命令 db2 bind BND.bnd 12、整理优化表 db2 reorgchk on table TBLNAME db2 reorg table TBLNAME db2 runstats on table TBNAME with distribution and indexes all 13、导出表 db2 export to TBL.txt of del select * from TBLNAME db2 export to TBL.ixf of ixf select * from TBLNAME 以指定分隔符‘|’下载数据: db2 "export to cmmcode.txt of del modified by coldel| select * from cmmcode”14、导入表 db2 import from TBL.txt of del insert into TBLNAME db2 import from TBL.txt of del commitcount 5000 insert into TBLNAME db2 import from TBL.ixf of ixf commitcount 5000 insert into TBLNAME db2 import from TBL.ixf of ixf commitcount 5000 insert_update into TBLNAME db2 import from TBL.ixf of ixf commitcount 5000 replace into TBLNAME db2 import from TBL.ixf of ixf commitcount 5000 create into TBLNAME (仅IXF) db2 import from TBL.ixf of ixf commitcount 5000 replace_create into TBLNAME (仅 IXF) 以指定分隔符“|”加载:

DB2_数据库日志管理

1、load 方法装入数据: export to tempfile of del select * from tablename where not 清理条件; load from tempfile of del modified by delprioritychar replace into tablename nonrecoverable; 说明: 在不相关的数据表export数据时,可以采取并发的形式,以提高效率; tablename指待清理table的名称; modified by delprioritychar防止数据库记录中存在换行符,导致数据无法装入的情况; replace into对现数据库中的内容进行替换,即将现行的数据记录清理,替换为数据文件内容; nonrecoverable无日志方式装入; 2、查找当前的应用: db2 list application grep btpdbs; 3、删除当前正在使用的application: db2 "force application (id1,id2,id3)" id1,id2,id3 是list显示的应用号; 4、查看当前应用号的执行状态: db2 get snapshot for application agentid 299 grep row 5、查看数据库参数: db2 get db cfg for //当前数据库可以省略 6、修改数据库的log数据: db2 update db cfg using <参数名> <参数值> 7、db2stop force的用法: 在进行bind的时候出现如下错误: sql0082can error has occurred which has terminated processing. sql0092nno package was created because of previous errors. sql0091nbinding was ended with "3" errors and "0" warnings. 主要是表文件被加锁,不能继续使用; 在进行stop的时候报错:db2stop 8/03/2005 21:46:530 0 sql1025nthe database manager was not stopped because databases are still active.

db2培训笔记

1、Tablespace ●表空间分为dms与sms 设定后不可以修改,库中必定存在 syscatspace/systmpspace 两个sms类型的表空间。可创建userspace/usertmpspace(用户临时表空间用于临时表) ●Systmpspace: 在小根据使用情况自动分配动态伸缩,仅在需要时才分配磁盘空 间,并在使用后进行回收,pagesize=4 ●Syscatspace: 在数据库中创建的任何对象都以在系统编目表空间中增加记录的方式 体现 ●Dms、sms、container Dms可以为对应多个container,不能为目录,而Sms只能提定一个目录且不能增加。 表空间是数据存储的逻辑位置定义,容器则是数据存储的物理位置定义 2、Instance ●在一个实例中数据库是完全独立的,各自有系统编目表(放在SysCatspace中) ●若为当前会话设置 DB2INSTANCE 环境变量,则其值为当前实例。要设置 DB2INSTANCE 环境变量,输入: set db2instance= ●若没有为当前会话设置DB2INSTANCE 环境变量,则DB2 UDB 使用系统环境变量 中DB2INSTANCE 环境变量的设置 ●如果根本没有设置 DB2INSTANCE 环境变量,则 DB2 UDB 使用注册表变量 DB2INSTDEF。要在注册表的全局级别设置 DB2INSTDEF 注册表变量,输入: db2set db2instdef= -g ●查询当前实例 db2 get instance ●实例命令(db2ilist db2icrt db2drop db2stop db2start) ●attach to nodename user username using password (在客户端登陆到实例上) ●当更新实例级别或数据库级别的参数后,有些可以立即生效,有些需要重新启动实例 才可生效。immediate 显式指明更改立即生效,deferred 显式指明更改在重起实例后生效。 3、在AIX中创建实例时必须有一个相同的用户名存上 4、关于在AIX小机上建库注意事现 ●需查询\etc\servise 中的开放端口与服务名称与dbm cfg 中的SVCENAME保持一致 database manager config file 数据库管理配置文件 db2 update dbm cfg using SVCENAME netstat –a|grep db2c_instname,看看监听是否起来 db2 get dbm cfg ●更改相关的注册表变量(在sqllib 下) Db2set db2codepage=1386 Db2set db2country=86 Db2set db2comm=tcpip Db2 terminate ●创建/usr/opt/db2_08_01/instance/db2icrt -u db2inst1 ●显示一个注册表变量的级别db2set rvn –all 显示一个实例级别概要文件设置的注册表值db2set -i (-g)

DB2存储过程--基础详解

DB2存储过程-基础详解 2010-12-20 来源:网络 简介 DB2 SQL Procedural Language(SQL PL)是SQL Persistent Stored Module 语言标准的一个子集。该标准结合了SQL 访问数据的方便性和编程语言的流控制。通过SQL PL 当前的语句集合和语言特性,可以用SQL 开发综合的、高级的程序,例如函数、存储过程和触发器。这样便可以将业务逻辑封装到易于维护的数据库对象中,从而提高数据库应用程序的性能。 SQL PL 支持本地和全局变量,包括声明和赋值,还支持条件语句和迭代语句、控制语句的转移、错误管理语句以及返回结果集的方法。这些话题将在本教程中讨论。 变量声明 SQL 过程允许使用本地变量赋予和获取SQL 值,以支持所有SQL 逻辑。在SQL 过程中,在代码中使用本地变量之前要先进行声明。 清单 1 中的图演示了变量声明的语法: 清单 1. 变量声明的语法 .-,-----------------. V | |--DECLARE----SQL-variable-name-+-------------------------------> .-DEFAULT NULL------. >--+-data-type--+-------------------+-+-------------------------| | '-DEFAULT--constant-' | SQL-variable-name 定义本地变量的名称。该名称不能与其他变量或参数名称相同,也不能与列名相同。 图 1 显示了受支持的DB2 数据类型:

sqc基础库使用手册

SqcLib库接口定义 新的sqc基础库采用c++封装,开发人员只需要从基础类Db2Tools派生自己的业务类。然后重载基础类的busiLogic方法,就可以完成自己业务逻辑处理。具体的处理流程为: 1、在基础类Db2Tools的run方法中完成对具体应用参数的解析。 2、run方法调用busiLogic方法,完成具体的业务逻辑 3、busiLogic方法中调用基础类的常用数据库访问方法,完成对数据库的操作。 4、在基础类的数据库访问方法中,除完成指定的数据库操作外,同时完成日志输出和相关事务控制。[日志的输出目录为profile文件中定义的AGENTTRACEDIR目录,如果没有定义,取默认路径] 1函数列表 1.1数据库类(Db2Tools) 该类有两个主要功能: 1、实现数据库访问 2、完成对具体业务逻辑调用和事务控制 ●connDb 函数原形:int connDb(const char *m_para_conn) 用途:连接数据库 参数:m_para_conn:数据库名dbname 返回:1.输入的数据库参数不对 2.密码参数环境变量设置错误 3.数据库连接失败 0.数据库连接成功 ●busiLogic 函数原形:int busiLogic(void) 用途:业务逻辑入口 参数: 返回: ●run 函数原形:int run(int argc,char *argv[]) 用途:实例开始入口 参数:argc:参数个数

Argv:参数数组 (通常取main函数入口参数) 返回:0:成功,其它:失败 ●db2RunstatTab 函数原形:int db2RunstatTab(char *tabname,char *file,int line) 用途:对表做runstats 参数:tabname:输入需要runstats的表名,schema.tabname或者tabname(schema默认为用户名) 返回:-1:失败 0:成功 ●db2Insert 函数原形:int db2Insert(char *sqlstr,char *tabname,char *file,int line) 用途:提交insert语句 参数: sqlstr:insert sql语句 file: line: 返回:-1:失败 0:成功 ●db2Update 函数原形:int db2Update(char *sqlstr,char *tabname,char *file,int line) 用途:提交update语句 参数: sqlstr:update sql语句 file: line: 返回:-1:失败 0:成功 ●db2Delete 函数原形:int db2Delete(char *sqlstr,char *tabname,char *file,int line) 用途:提交delete语句 参数: sqlstr:delete sql语句 file: line: 返回:-1.失败 0.成功 ●db2DropTab 函数原形:int db2DropTab(char *tabname,char *file,int line) 用途:删除表 参数: tabname:需要删除的表名,schema.tabname file:

db2培训资料

第一章DB2 UDB 概况 1.1、DB2 UDB的产品家族 UDB(Universal Database )的前身为DB2,是IBM公司开发的关系型数据库管理系统。从其诞生之日开始,DB2就定位于要为各种规模的企业提供稳定、高效的数据管理支持。可以说,DB2是当前适用范围最广泛的数据库产品。我们对DB2产品的划分通常分为两种方法:一种方法是按其所能支持的硬件和操作系统平台进行划分,另一种方法是按其所能支持的用户规模的不同进行划分。 DB2产品几乎覆盖了当前所有流行的硬件和操作系统平台。在大型机操作系统上,有DB2 for OS/390、DB2 for MVS/ESA、DB2 for VSE 和DB2 for VM等多种产品;在由IBM公司设计的小型机AS/400上,DB2已经嵌入在操作系统OS/400之中,成为其不可分割的一部分。DB2对UNIX操作系统的支持同样十分广泛,可以在AIX、HP-UX、Solaris、SCO-UNIX、SINIX 等多种系统上找到其相应的版本。另外,在PC操作系统上,DB2可以对Window 9x、Windows NT以及OS/2等多种操作系统提供支持。UDB 6.1还增加了对Linux操作系统的支持。以上我们所提到的只是DB2服务器所能运行的平台,DB2的客户端所能支持的平台更为广泛,除了以上提到的所有平台之外,DB2的客户端还能运行在Dos、Windows 3.x、Mac OS以及SGI公司的IRIS系统之上。 UDB产品除了能够对各种硬件和操作系统平台进行支持之外,为了适应不同用户群的需要,UDB提供了不同级别的产品,对小到个人用户,大到跨国企业的不同需求提供支持。以下是对UDB 6.1版本不同级别产品的特点介绍: UDB卫星版:是专门为移动用户设计的小型数据库产品。适合于偶尔连接DB2控 制服务器来与公司系统交换数据的单用户系统。它既能允许用户对 本地数据进行各种修改,又可以接受远程卫星控制器的集中管理, 减轻本地用户的管理负担。该版本只能运行在Windows平台。(该版 本属于UDB 6.1版本新增版本) UDB个人版:是专门为个人用户设计的功能完备的个人数据库产品,允许用户在本 地建立数据库、更改数据、开发应用程序从本地对数据库管理系统 进行存取以及通过内置的客户端对远程数据库服务器进行管理。。该 版本的限制在于不能对远程应用程序提供全面支持。该版本可以运 行在Windows、OS/2以及Linux平台。 UDB工作组版:适用于小型局域网的数据管理需求。具有UDB个人版的全部功能, 并能够对远程应用程序提供全面支持。该版本可以运行在Windows、 OS/2以及Linux平台。(UDB工作组版5.0可以运行在UNIX平台)UDB企业版:简称为UDB EE,适用于企业级的数据管理需求。具有UDB工作组 版的全部功能,并能够利用对称多处理(SMP)技术提高系统性能。 在它的程序包中,包含了DB2 Connect企业版,允许Intel平台和 UNIX平台的客户端应用程序访问大型机和AS/400上的数据库服 务。UDB企业版可以运行在Windows、OS/2、Linux以及UNIX平 台。 UDB企业扩展版:简称为UDB EEE,适用于大规模的企业应用。大规模的企业应

DB2数据库基础入门

IBM DB2数据库基础 基本命令集合 1. 建立数据库DB2_GCB CREATE DATABASE DB2_GCB ON G: ALIAS DB2_GCB USING CODESET GBK TERRITORY CN COLLATE USING SYSTEM DFT_EXTENT_SZ 32 2. 连接数据库 connect to sample1 user db2admin using 8301206 3. 建立别名 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; 4. 建立表 create table zjt_tables as (select * from tables) definition only; create table zjt_views as (select * from views) definition only; 5. 插入记录 insert into zjt_tables select * from tables; insert into zjt_views select * from views;

6. 建立视图 create view V_zjt_tables as select tabschema,tabname from zjt_tables; 7. 建立触发器 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)) 8. 建立唯一性索引 CREATE UNIQUE INDEX I_ztables_tabname ON zjt_tables(tabname); 9. 查看表 select tabname from tables where tabname='ZJT_TABLES'; 10. 查看列 select SUBSTR(COLNAME,1,20) as 列名,TYPENAME as 类型,LENGTH as 长度 from columns where tabname='ZJT_TABLES'; 11. 查看表结构 db2 describe table user1.department db2 describe select * from user.tables

DB2数据库备份与恢复详解

DB2数据库备份与恢复 1.备份 1.1离线备份(必须在数据库所在PC机进行操作) STEP 1 连接到要备份的数据库(数据库名:ncc) C:\Documents and Settings\Administrator>db2 connect to ncc user nccwykpi using nccwykpi STEP 2 显示数据库应用状态 C:\Documents and Settings\Administrator>db2 list applications

STEP 3 停掉数据库应用 C:\Documents and Settings\Administrator>db2 force applications all 注意:由于该命令是异步的,所以在进行备份的时候会出现以下错误信息。此时可以再次执行db2 force applications all 命令。 STEP 4 对数据库进行离线状态下的备份 C:\Documents and Settings\Administrator>db2 backup database ncc to d:\db2\backup

注意:指定的备份文件的输出目录必须是已创建的,否则会报错。 STEP 5 查看备份历史记录 C:\Documents and Settings\Administrator>db2 list history backup all for ncc

1.2在线备份 注意:如果要做在线的备份,要对两个参数作修改:USEREXIT和LOGRETAIN,将其修改为on,默认是off的,默认使用日志模式,修改完参数后,可以变为归档日志模式,启用了userexit做数据库日志的归档。 STEP 1 查看数据库当前的属性 C:\Documents and Settings\Administrator>db2 get db cfg STEP 2 设置userexit、logretain参数的状态为on C:\Documents and Settings\Administrator>db2 update db cfg for ncc using userexit on C:\Documents and Settings\Administrator>db2 update db cfg for ncc using logretain on

DB2 简明运维手册

DB2 简明运维手册 数据库启动 数据库正常启动的流程包括两个步骤, 首先启动数据库实例,在root用户下切换到实例用户su - db2inst1,执行命令db2start 然后激活对应的数据库,执行命令: db2 activate db 数据库名。 直到出现: 则数据库成功启动。 数据库停止 停止数据库使用如下命令: 在root用户下切换到实例用户su - db2inst1,执行命令db2stop force, 直到出现: 则数据库停止成功。 数据库参数 DB2的参数分为实例级参数和数据库级参数,以及实例注册变量 实例级参数:

主要设置实例使用的TCP/IP端口,查看实例端口通过命令:db2 get dbm cfg 数据库实例注册变量: 确认设置了通信协议为TCPIP,命令如下: 如果没有设置则通过命令db2set DB2COMM=tcpip进行设置。 数据库参数 确认内存自动调整已经打开, 否则连接到数据库并执行db2 update db cfg for sample using SELF_TUNING_MEM ON设置 数据库的缺省日志参数为

如果需要修改日志参数,可以通过命令 db2 udpate db cfg for 数据库名using 参数名参数值 例如增大备用日志文件数量到50,则可以通过命令修改 创建数据库 在实例用户下,执行 db2 "create <数据库名> on <目标路径> using codeset UTF-8 territory cn" 这样创建的数据库缺省页面大小(pagesize)为4K(4096),字符集为UTF-8,如果要使用GBK字符集,则把UTF-8修改为GBK即可。 创建缓冲池(bufferpool) 为了使用与缺省页面大小不一致的表空间,例如缺省页面大小为4K,但是需要使用32K页的表空间,就必须先创建页面大小为32K的缓冲池,命令如下:db2 "create bufferpool bp32k pagesize 32768" bp32k为缓冲池的名字,通常每种页面大小创建一个缓冲池即可,例如8K页面的缓冲池可以命名为bp8k。缓冲池缺省为自动调整大小,如果需要限定使用内存,则使用alter命令,如下: db2 "alter bufferpool bp32k size <页面数量> " <页面数量>为目标内存大小/页面大小,例如要为32K的bufferpool分配2GB内存,则: <页面数量>=2 * 1024 * 1024 / 32 = 65536 创建表空间 如果创建数据库默认页面大小的表空间,并且选择系统自动管理的模式,则使用命令: db2 "create tablespace <表空间名>"

db2培训资料

为 ( ( 第一章 DB2 UDB 概况 1.1、DB2 UDB 的产品家族 UDB(Universal Database )的前身为 DB2,是 IBM 公司开发的关系型数据库管理系 统。从其诞生之日开始,DB2 就定位于要为各种规模的企业提供稳定、高效的数据管理 支持。可以说,DB2 是当前适用范围最广泛的数据库产品。我们对 DB2 产品的划分通 常分为两种方法:一种方法是按其所能支持的硬件和操作系统平台进行划分,另一种方 法是按其所能支持的用户规模的不同进行划分。 DB2 产品几乎覆盖了当前所有流行的硬件和操作系统平台。在大型机操作系统上, 有 DB2 for OS/390、DB2 for MVS/ESA 、DB2 for VSE 和 DB2 for VM 等多种产品;在由 IBM 公司设计的小型机 AS/400 上,DB2 已经嵌入在操作系统 OS/400 之中,成为其不 可分割的一部分。DB2 对 UNIX 操作系统的支持同样十分广泛,可以在 AIX 、HP-UX 、 Solaris 、SCO-UNIX 、SINIX 等多种系统上找到其相应的版本。另外,在 PC 操作系统 上,DB2 可以对 Window 9x 、Windows NT 以及 OS/2 等多种操作系统提供支持。UDB 6.1 还增加了对 Linux 操作系统的支持。以上我们所提到的只是 D B2 服务器所能运行的平台, DB2 的客户端所能支持的平台更为广泛,除了以上提到的所有平台之外,DB2 的客户端 还能运行在 Dos 、Windows 3.x 、Mac OS 以及 SGI 公司的 IRIS 系统之上。 UDB 产品除了能够对各种硬件和操作系统平台进行支持之外, 了适应不同用户群 的需要,UDB 提供了不同级别的产品,对小到个人用户,大到跨国企业的不同需求提供 支持。以下是对 UDB 6.1 版本不同级别产品的特点介绍: UDB 卫星版:是专门为移动用户设计的小型数据库产品。适合于偶尔连接 DB2 控 制服务器来与公司系统交换数据的单用户系统。它既能允许用户对 本地数据进行各种修改,又可以接受远程卫星控制器的集中管理, 减轻本地用户的管理负担。该版本只能运行在 Windows 平台。 该版 本属于 UDB 6.1 版本新增版本) UDB 个人版:是专门为个人用户设计的功能完备的个人数据库产品,允许用户在本 地建立数据库、更改数据、开发应用程序从本地对数据库管理系统 进行存取以及通过内置的客户端对远程数据库服务器进行管理。 该 版本的限制在于不能对远程应用程序提供全面支持。该版本可以运 行在 Windows 、OS/2 以及 Linux 平台。 UDB 工作组版:适用于小型局域网的数据管理需求。具有 UDB 个人版的全部功能, 并能够对远程应用程序提供全面支持。该版本可以运行在 Windows 、 OS/2 以及 Linux 平台。 UDB 工作组版 5.0 可以运行在 UNIX 平台) UDB 企业版: 简称为 UDB EE ,适用于企业级的数据管理需求。具有UDB 工作组 版的全部功能,并能够利用对称多处理(SMP )技术提高系统性能。 在它的程序包中,包含了 DB2 Connect 企业版,允许 Intel 平台和 UNIX 平台的客户端应用程序访问大型机和 AS/400 上的数据库服 务。UDB 企业版可以运行在 Windows 、OS/2、Linux 以及 UNIX 平 台。 UDB 企业扩展版:简称为 UDB EEE ,适用于大规模的企业应用。大规模的企业应

DB2数据库SQL语法参考手册

DB2数据库SQL语法参考手册 DB2提供了关连式资料库的查询语言SQL (Structured Query Language),是一种非常口语化、既易学又易懂的语法。此一语言几乎是每个资料库系统都必须提供的,用以表示关连式的操作,包含了资料的定义(DDL)以及资料的处理(DML)。SQL原来拼成SEQUEL,这语言的原型以"系统R"的名字在IBM 圣荷西实验室完成,经过IBM内部及其他的许多使用性及效率测试,其结果相当令人满意,并决定在系统R 的技术基础发展出来IBM 的产品。而且美国国家标准学会(ANSI)及国际标准化组织(ISO)在1987遵循一个几乎是以IBM SQL 为基础的标准关连式资料语言定义。 一、资料定义DDL(Data Definition Language) 资料定义语言是指对资料的格式和形态下定义的语言,他是每个资料库要建立时候时首先要面对的,举凡资料分哪些表格关系、表格内的有什麽栏位主键、表格和表格之间互相参考的关系等等,都是在开始的时候所必须规划好的。 1.建表格: CREATE TABLE table_name( column1 DATATYPE [NOT NULL] [NOT NULL PRIMARY KEY], column2 DATATYPE [NOT NULL], ...) 说明: DATATYPE是资料的格式,详见表。 NUT NULL可不可以允许资料有空的(尚未有资料填入)。 PRIMARY KEY是本表的主键。 2.更改表格 ALTER TABLE table_name ADD COLUMN column_name DATATYPE 说明:增加一个栏位(没有删除某个栏位的语法。 ALTER TABLE table_name ADD PRIMARY KEY (column_name) 说明:更改表得的定义把某个栏位设为主键。 ALTER TABLE table_name DROP PRIMARY KEY (column_name)

DB2数据库参数详解配置

DB2数据库参数配置 数据库配置发行版级别= 0x0c00 数据库发行版级别= 0x0c00 数据库地域= CN 数据库代码页= 1208 数据库代码集= UTF-8 数据库国家/地区代码= 86 数据库整理顺序= IDENTITY 备用整理顺序(ALT_COLLATE) = 数字兼容性= OFF Varchar2 兼容性= OFF 数据库页大小= 4096 动态SQL查询管理(DYN_QUERY_MGMT) = DISABLE 对此数据库的发现支持(DISCOVER_DB) = ENABLE 限制访问= NO 缺省查询优化类(DFT_QUERYOPT) = 5 并行度(DFT_DEGREE) = 1 在算术异常时继续(DFT_SQLMATHWARN) = NO 缺省刷新有效期(DFT_REFRESH_AGE) = 0 缺省维护的选项(DFT_MTTB_TYPES)的表类型= SYSTEM 保留的高频值的数目(NUM_FREQVALUES) = 10 保留的分位点数目(NUM_QUANTILES) = 20 十进制浮点舍入方式(DECFLT_ROUNDING) = ROUND_HALF_EVEN 备份暂挂= NO

数据库是一致的= NO 前滚暂挂= NO 复原暂挂= NO 启用的多页文件分配= YES 恢复状态的日志保留= NO 日志记录状态的用户出口= NO 自调整内存(SELF_TUNING_MEM) = ON 数据库共享内存大小(4KB)(DATABASE_MEMORY) = AUTOMATIC 数据库内存阈值(DB_MEM_THRESH) = 10 锁定列表的最大存储量(4KB)(LOCKLIST) = AUTOMATIC 每个应用程序的锁定百分比列表(MAXLOCKS) = AUTOMATIC 程序包高速缓存大小(4KB)(PCKCACHESZ) = AUTOMATIC 共享排序的排序堆域值(4KB)(SHEAPTHRES_SHR) = AUTOMATIC 排序列表堆(4KB)(SORTHEAP) = AUTOMATIC 数据库堆(4KB)(DBHEAP) = AUTOMATIC 目录高速缓存大小(4KB)(CATALOGCACHE_SZ) = 260 日志缓冲区大小(4KB)(LOGBUFSZ) = 98 实用程序堆大小(4KB)(UTIL_HEAP_SZ) = 23665 缓冲池大小(页)(BUFFPAGE) = 250 SQL 语句堆(4KB)(STMTHEAP) = AUTOMATIC 缺省应用程序堆(4KB)(APPLHEAPSZ) = AUTOMATIC 应用程序内存大小(4KB)(APPL_MEMORY) = AUTOMATIC 统计信息堆大小(4KB)(STAT_HEAP_SZ) = AUTOMATIC 检查死锁的时间间隔(毫秒)(DLCHKTIME) = 10000 锁定超时(秒)(LOCKTIMEOUT) = -1

Db2基本数据类型

DB2的基本数据类型 字段类型 描述 字段长度及其缺省值 Char(size) 用于保存定长(size)字节的字符串数据。 每行定长(不足部分补为空格);最大长度为254字节,缺省值为每行1字节。Varchar(size) 用于保存变长的字符串数据。其中最大字节长度由(size)指定。 每行长度可变,最大长度为4000字节。数据长度缺省为1 Long Varchar 用于保存变长的字符串数据。 每行长度可变,最大长度为4321700字节。 Graphic(size) 双字节字符串。 每行定长(不足部分补为空格)。最大长度为127字节。 Vargraphic(size) 可变长,双字节字符串。 每行变长。最大长度为127字节。 Long Vargraphic 双字节字符串。 最大长度为16350双字节字符串。 Timestamp 用于改变管理的二进制值数据,包括年月日时分秒毫秒。 字节数为26 Date 保存定长的日期数据,范围为0000年到9999。 每行固定为10字节长度。 Time 保存定长的时间数据。 每行固定为8字节长度。 Integer 保存整型数据,范围为-2147483648到+2147483647。 最大长度为4字节32 - 1字节或4G。 Smallint 保存整型数据,范围为-32768到+32767 最大长度为2字节32 - 1字节或4G。 Bigint 保存整型数据,范围为-9223372036854775808到+9223372036854775807

最大长度为2字节64 - 1字节。 Real 保存单精度浮点数据类型 最大长度为4字节。指数表示。 Double 保存双精度浮点数据类型,范围为-2.23E-308到+2.23E-308。 最大长度为8字节。指数表示。 Float 保存浮点数据类型,范围为-2.23E-308到+2.23E-308。 最大长度为8字节。指数表示。 Numeric(p,s) 保存精确数值数据类型,范围为-10E-38到+10E-38,p是精度,总小数位数(1~38),s是小数位(小数位小于等于p) 最大长度为2~17字节。 Decimal(p,s) 保存精确数值数据类型,范围为-10E-38到+10E-38,p是精度,总小数位数(1~38),s是小数位(小数位小于等于p) 最大长度为2~17字节。 Clob 保存2GB长度以内的单字节文本数据 最大长度为2G。 DbClob 保存1GB长度以内的双字节文本数据。 最大长度为1G字符。 Blob 保存2GB长度以内的二进制数据。 最大长度为2G。支持Not Logged选项和Compact选项 我们今天主要向大家讲述的是DB2数据类型,我们大家都知道DB2内置数据类型其一共可以分成数值型(numeric)、字符串型(character string)、图形字符串(graphic string)、二进制字符串型(binary string)或日期时间型(datetime)。 还有一种叫做DATALINK 的特殊数据类型。DATALINK 值包含了对存储在数据库以外的文件的逻辑引用。 数值型DB2数据类型包括SMALLINT、INTEGER、BIGINT、DECIMAL(p,s)、REAL 和DOUBLE。所有数值都有符号和精度。精度是指除符号以外的二进制或十进制的位数。如果数字的值大于等于零,就认为符号为正。 小整型,SMALLINT:小整型是两个字节的整数,精度为5 位。小整型的范围从-32,768 到32,767。 大整型,INTEGER 或INT:大整型是四个字节的整数,精度为10 位。大整型的范围从-2,147,483,648 到2,147,483,647。 巨整型,BIGINT:巨整型是八个字节的整数,精度为19 位。巨整型的范围从-9,223,372,036,854,775,808 到9,223,372,036,854,775,807。 小数型,DECIMAL(p,s)、DEC(p,s)、NUMERIC(p,s) 或NUM(p,s):小数型的值是一种压缩十进

WAS详细操作讲解学习

WAS详细操作 1.节点部署 概要文件(Profile)定义一个独立应用程序服务器(Server)的运行时环境, 包括服务器在运行时环境中处理的所有文件 节点(Node)是受管服务器(Server)的逻辑分组, 节点通常与具有唯一IP主机地址的逻辑或物理计算机系统对应, 节点不能跨多台计算机 Node Agent 是将管理请求路由至服务器的管理代理程序, Node Agent 是服务器, 是一个管理代理程序, 并不涉及应用程序服务功能, Node Agent 进程在每个受管节点上运行, 并专门执行特定于节点的管理功能, 如服务器进程监视、配置同步、文件传输和请求路由, Deployment Manager通过与Node Agent的交互完成对单元内节点的控制 Node是管理上使用的概念, Profile是实际的概要文件, 它们代表同一事物 查看所有概要文件: export WAS_HOME=/opt/WebSphere/AppServer cd $WAS_HOME/bin ./manageprofiles.sh -listProfiles 1.1.D eploymentManager DeploymentManager(简称DM) 为单元中所有元素提供了单一的管理控制中心点 DM属于一个特殊的节点, 用以下步骤创建: export WAS_HOME=/opt/WebSphere/AppServer cd $WAS_HOME/bin ./manageprofiles.sh -create \ -templatePath $WAS_HOME/profileTemplates/dmgr \ -profileName Dmgr01 \ -profilePath $WAS_HOME/profiles/Dmgr01 \ - nodeName (节点名) \ -cellName (单元名) \ -hostName (主机名) (其中红色部分为概要文件名, 可根据实际情况修改)

相关文档
最新文档