当前位置:文档之家› DB2开发基础

DB2开发基础

DB2开发基础
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 应用程序和小程序。

● 开发符合“数据存取对象(DAO) ”和“远程数据对象(RDO) ” 规范的Microsoft Visual Basic 和 Visual C++ 应用程序,以及使用“对象链接和嵌入数据库 (OLE DB) 桥接”的“ActiveX 数据对象”(ADO) 应用程序。

● 使用 IBM 或第三方工具如 Net.Data、Excel、Perl、“开放式数据库链接”(ODBC) 最终用户工具如 Lotus Approach 及其程序设计语言 LotusScript 来开发应用程序。

● 要执行备份和复原数据库等管理功能,应用程序可以使用 DB2 API。

应用程序存取 DB2 数据库的方式将取决于想要开发的应用程序类型。例如,如果想开发数据输入应用程序,可以选择将静态 SQL 语句嵌入应用程序。如果想开发在万维网 (WWW) 上执行查询的应用程序,可能要选择 Net.Data、Perl 或Java。

1.2相关概念

1.2.1 嵌入式SQL编程

嵌入式SQL应用程序就是将SQL语句嵌入某个宿主语言中,SQL语句提供数据库接口,宿主语言提供应用程序的其他执行功能。

“结构化查询语言”(SQL) 是一种数据库接口语言,它用来存取并处理 DB2 数据库中的数据。可以将 SQL 语句嵌入应用程序,使应用程序能执行 SQL 支持的任何任务,如检索或存储数据。通过使用 DB2,可以用 C/C++、COBOL、FORTRAN、Java (SQLJ) 以及 REXX 程序设计语言来编写嵌入式 SQL 应用程序。

嵌入了 SQL 语句的应用程序称为主程序。用于创建主程序的程序设计语言称为宿主语言。用这种方式定义程序和语言,是因为它们包含了 SQL 语句。

对于静态 SQL 语句,您在编译前就知道 SQL 语句类型以及表名和列名。唯一未知的是语句正搜索或更新的特定数据值。可以用宿主语言变量表示那些值。在

运行应用程序之前,要预编译、编译和捆绑静态 SQL 语句。静态 SQL 最好在变动不大的数据库上运行。否则,这些语句很快会过时。

相反,动态 SQL 语句是应用程序在运行期构建并执行的那些语句。一个提示最终用户输入 SQL 语句的关键部分(如要搜索的表和列的名称)的交互式应用程序是动态 SQL 一个很好的示例。应用程序在运行时构建 SQL 语句,然后提交这些语句进行处理。

可以编写只有静态 SQL 语句或只有动态 SQL 语句,或者兼有两者的应用程序。

一般来说,静态 SQL 语句最适合用于带有预定义事务的高性能应用程序。预订系统是这种应用程序一个很好的示例。

一般来说,动态 SQL 语句最适合于必须在运行期指定事务的、要快速更改数据库的应用程序。交互式查询界面是这种应用程序一个很好的示例。

将 SQL 语句嵌入应用程序时,必须按以下步骤预编译应用程序并将其与数据库捆绑:

1. 创建源文件,以包含带嵌入式 SQL 语句的程序。

2. 连接数据库,然后预编译每个源文件。

预编译程序将每个源文件中的 SQL 语句转换成对数据库管理程序的 DB2 运行期 API 调用。预编译程序还在数据库中生成一个存取程序包,并可选择生成一个捆绑文件(如果您指定要创建一个的话)。

存取程序包包含由 DB2 优化器为应用程序中的静态 SQL 语句选择的存取方案。这些存取方案包含数据库管理程序执行静态 SQL 语句所需的信息,以便该管

理程序可以用优化器确定的最有效的方式来执行这些语句。对于动态 SQL 语句,优化器在您运行应用程序时创建存取方案。

捆绑文件包含创建存取程序包所需要的 SQL 语句和其他数据。可以使用捆绑文件在以后重新捆绑应用程序,而不必首先预编译应用程序。重新捆绑创建针对当前数据库状态的优化存取方案。如果应用程序将存取与预编译时所用数据库不同的数据库,则必须重新捆绑应用程序。如果数据库统计信息自上次捆绑后已经更改,建议您重新捆绑应用程序。

3. 使用主语言编译程序编译修改的源文件(以及其他无 SQL 语句的文件)。

4. 将目标文件与 DB2 和主语言库连接,以生成一个可执行程序。

5. 如果在预编译时未对捆绑文件进行捆绑;或者准备存取不同数据库,则应对捆绑文件进行捆绑以创建存取程序包。

6. 运行该应用程序。此应用程序使用程序包中的存取方案存取数据库。

1.2.2 预编译

创建源文件之后,必须对每一个含有SQL语句的宿主语言文件用PREP命令进行预编译。预编译器将源文件中的SQL语句注释掉,对那些语句生成DB2运行时API调用。

在预编译一个应用之前,必须连接到一个数据库服务器,不论是自动连接还是显性连接。即使你在客户端工作站上预编译应用程序、预编译器在客户端产生的修改后源文件和信息,预编译器也需要使用服务器连接来执行一些确认任务。

预编译器也创建数据库管理器在处理针对某个数据库的SQL语句时需要的信息。这些信息存储在一个程序包或者一个捆绑文件或者两者之中,视预编译器的选项而定。

下面是使用预编译器的一个典型例子。预编译一个名叫filename.sqc的C嵌入式SQL源文件,发出下面的命令创建一个C源文件,默认名字为filename.c,和一个捆绑文件,默认名字为filename.bnd:

DB2 PREP filename.sqc BINDFILE

预编译器最多产生四种类型的输出:

● 修改后的源文件

● 程序包

● 捆绑文件

● 信息文件

1、修改后的源文件

这个文件是预编译器将SQL语句转化为DB2运行时API调用后,原始源文件的新版本。它被赋予了相应宿主语言的扩展名。

2、程序包

如果使用了PACKAGE选项(默认的),或者没有指定任何BINDFILE、SYNTAX、SQLFLAG选项,程序包存储在所连接到的数据库中。程序包仅仅包含执行访问本数据的SQL语句时需要的所有信息。除非你用PACKAGE USING选项指定一个不同的名字,否则预编译器将使用源文件名字的前8个字符作为程序包名。

使用PACKAGE选项时,在预编译处理过程中使用的数据库必须拥有源文件中静态SQL语句参考到的所有数据库对象。例如不能够预编译一条SELECT语句,如果参考的表在数据库中不存在。

3、捆绑文件

如果使用了BINDFILE选项,预编译器将创建一个捆绑文件(扩展名

为.bnd),它包含创建程序包的一些数据。这个文件可以在后面用BIND命令将应用捆绑到一个或多个数据库。如果指定了BINDFILE选项,没有指定PACKAGE选项,捆绑被延缓直到执行BIND命令。注意,对于命令行处理器(CLP),PREP默认不指定BINDFILE选项。因此,如果你使用CLP,又想延缓捆绑,那么你必须指定BINDFILE选项。

如果在预编译时请求一个捆绑文件但是没有指定PACKAGE选项,不会在数据库中创建程序包;对象不存在和没有权限的SQLCODE被看作警告而不会被看作错误。这使得你能够预编译程序和创建一个捆绑文件,不需要参考到的对象必须存在,也不需要你拥有执行正被预编译的SQL语句的权限。

4、信息文件(Message File)

如果使用了MESSAGES选项,预编译器将信息重定向到指定的文件中。这些信息包括警告和错误信息,它们描述了在预编译过程中产生的问题。如果源文件没有预编译成功,使用警告和错误信息来断定问题,改正源文件,然后再预编译。如果没有使用MESSAGE选项,预编译信息被写到标准输出上。

1.2.3 程序包

程序包就是存储在相对应数据库中的包含数据库系统在捆绑时对特定SQL语句所产生的访问策略。

所有SQL语句经过编译优化后就产生可以直接对数据库进行访问的访问策略,存储于相应的数据库中。这些访问策略可以在应用程序调用相对应的SQL语句时得到访问。程序包对应于特定的应用程序,但是并不是与应用程序一起存放,而是同相对应的数据库一起存放。

1.2.4 捆绑

捆绑(bind)是创建数据库管理器在应用执行时为了访问数据库而需要的程序包的过程。捆绑可以在预编译时指定PACKAGE选项隐含地完成,或者使用BIND命令依据预编译过程中产生的捆绑文件显性地完成。

下面是使用BIND命令的一个典型例子。将名为filename.bnd的捆绑文件捆绑到数据库,使用下面的命令:

DB2 BIND filename.bnd

每一个独立预编译的源代码模块都需要创建一个程序包。如果一个应用有5个源文件,其中3个需要预编译,那么要创建3个程序包或者3个捆绑文件。默认上,每一个程序包的名字与产生.bnd文件的源文件名字相同,但是只要前8个字符。如果新建的程序包名字与已存在于数据库中的程序包名相同,新的程序包将替换原先存在的程序包。要显性地指定一个不同的程序包名,必须在PREP命令使用PACKAGE USING选项。

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常用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) 以指定分隔符“|”加载:

高四复读指导

高四复读指导 一、只有做出改变,才能取得成功 郝智江,去年高考439分,华兴文化培训学校复读,今年考上北京师范大学珠海分校 因为高一高二没怎么学,高三了,想努力,但发现落下的知识太多,时间不够,因此高三上学期就决定要复读。去年我只考了439分,当时就下定决心,不管怎样,明年一定要上本科。 决定复读之后,我对待学习的心态、学习习惯都改变了很多。以前感觉上学就是混日子,不想去教室,复读时,就感觉是为目标在冲,每天都往教室跑;以前只是上课听讲,但不做功课,复读时就自觉找题做,即使老师没有要求检查的作业,我也会自觉完成;以前遇到不会的题目,就会放着,这样就越来越多,最后怎么都搞不定,现在有不懂的就马上找人问,弄懂为止。 复读中最考验人的是,努力了很久,却看不到成绩的进步。我复读一模的成绩只有370分,当时心里非常郁闷,甚至想过自己不是读书的料,但宿舍的同学就跟我说,不要想那么多,努力就是了,我想也是,反正没有退路,只能拼。当时的减压方法除了有空和同学、老师聊聊天,就是周六从学校走回家(两站路),再一个人静静地在小区里坐坐。特别郁闷的时候,就去OK店买瓶小啤酒喝。 心水贴士:

1.既然复读,说明你之前的一套不太行得通,因此最好跟着老师的节奏,按照老师的方法去做,如果不改变自己,还是老一套,效果很可能不会好。 2.临近考试,要对自己有信心,要相信自己一定行。考前我将QQ签名改成“我不相信奇迹,但我相信这次奇迹会发生在我身上。” 3.我将各科的小知识都写在小本子上,比如语文的字词、英语的固定搭配、数学的各种题型、物理和化学的经典题目等,在宿舍和教室两边带,有空就拿出来翻看。 二、心态不可松懈,坚持就是胜利 谌盈,去年报中山大学只差3分,广州卓越高四学校复读,今年考上香港理工大学会计系。 去年高考,我的成绩不错,但填报志愿失误,以3分之差和中大擦肩而过,落到了华农,而且还被录到动物医学专业,我对此没兴趣,所以就考虑复读。 其实考虑复读前,我也听说到大学可以转换专业,还可以修双学位,因此一时拿不定主意。记得当时咨询老师就把复读和去华农两种选择的优点和风险都列出来,我想复读是给自己一次冲上更好平台的机会,其次考虑到自己英语是弱项,有提升的空间,所以就坚定了复读的决心。 复读刚开始时,冲劲很大,但到了去年12月份,就开始疲累了,今年1月份的一次大考,成绩从一直以来的年级第一名滑到了年级

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 简明运维手册 数据库启动 数据库正常启动的流程包括两个步骤, 首先启动数据库实例,在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 <表空间名>"

公司企业内训培训方案

公司企业内训培训方案 2017公司企业内训培训方案 一、总体目标 1、加强公司员工的培训,提升经营者的经营理念,开阔思路, 增强决策能力、战略开拓能力和现代经营管理能力。 2、加强公司管理人员的培训,提高管理者的综合素质,完善知 识结构,增强综合管理能力、创新能力和执行能力。 3、加强公司专业技术人员的培训,提高技术理论水平和专业技能,增强科技研发、技术创新、技术改造能力。 4、加强公司操作人员的技术等级培训,不断提升操作人员的业 务水平和操作技能,增强严格履行岗位职责的能力。 5、加强公司员工的学历培训,提升各层次人员的科学文化水平,增强员工队伍的整体文化素质。 6、加强各级管理人员和行业人员执业资格的培训,加快持证上 岗工作步伐,进一步规范管理。 二、原则与要求 1、坚持按需施教、务求实效的原则。根据公司改革与发展的需 要和员工多样化培训需求,分层次、分类别地开展内容丰富、形式 灵活的培训,增强教育培训的针对性和实效性,确保培训质量。 2、坚持自主培训为主,外委培训为辅的原则。整合培训资源, 建立健全以公司培训中心为主要培训基地。 3、坚持“公司+院校”的联合办学方式,业余学习为主的原则。根据公司需求主流与相关院校进行联合办学,开办相关专业的专本

科课程进修班,组织职工利用周末和节假日集中授课,结合自学完成学业,取得学历。 4、坚持培训人员、培训内容、培训时间三落实原则。2011年,高管人员参加经营管理培训累计时间不少于20天;中层管理人员和专业技术人员业务培训累计时间不少于20天;一般职工操作技能培训累计时间不少于10天。 三、培训内容与方式 (一)公司领导与管理人员 1、中央、国家和政府的大政方针的学习,国内外政治局势、经济形势分析,国家有关政策法规的研究与解读。 2、开拓战略思维,提升经营理念,提高科学决策能力和经营管理能力。通过参加企业家高端论坛、峰会、年会;到国内外成功企业参观学习;参加国内外著名企业高级培训师的高端讲座。 (二)中层管理干部 1、管理实务培训。生产组织与管理、成本管理与绩效考核、人力资源管理、激励与沟通、领导艺术等。 2、学历进修和专业知识培训。积极鼓励符合条件的中层干部参加大学(专本科)函授、自考或参加MBA及其它硕士学位进修;组织经营、企管、财会专业 管理干部参加执业资格考试,获取执业资格证书。 3、开阔眼界、拓展思路、掌握信息、汲取经验。组织中层干部分期分批到上下游企业和关联企业学习参观,了解生产经营情况,借鉴成功经验。 (三)专业技术人员 1、由各专业副总工程师、工程师定期进行专题技术讲座,并建设公司自己的远程教育培训基地,进行新工艺、新材料及质量管理知识等专项培训,培养创新能力,提高研发水平。

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的基本数据类型 字段类型 描述 字段长度及其缺省值 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 (主机名) (其中红色部分为概要文件名, 可根据实际情况修改)

DB2基础教程文档

1.1 DB2 UDB的版本 DB2针对于不同的用户需求,提供了多种版本: ● 企业服务器版(Enterprise Server Edition) 该版本通常用于支持大规模的企业级应用程序以及大型企业级数据仓库,它提供了最大程度的连接性,并且可以与异构平台上的DB2数据库和第三方厂商的数据库产品共享数据资源。 ●工作组服务器版(Workgroup Server Edition) 该版本通常用于支持部门级应用程序或者支持那些不需要存取驻留在OS/400、VM/VSE和OS/390平台上的远程数据库的应用程序。 ●个人版(Personal Edition) 该版本通常被单机用户使用,功能完备但不能响应远程的数据库请求。该版本只能运行在Linux和Windows 操作系统上。 ● Everyplace 该版本是专门为移动计算环境设计的,允许移动用户通过个人数字助理(PDA)和掌上电脑等手持设备存取企业中的DB2数据源。DB2 Everyplace可以执行在包括Palm OS、Linux、Windows CE、Neutrino、PocketPC 和Symbian在内的多种操作系统上。 注:DB2 企业服务器版是以前的DB2 UDB企业版(DB2 UDB Enterprise Edition)和DB2 UDB企业扩展版(DB2 UDB Enterprise-Extended Edition)的合并。以前的DB2卫星版已经被合并到新发行的DB2个人版当中。 1.2 DB2的连接性 DB2提供了很多种方法可以连接到DB2数据库和非DB2数据库。 ● DB2客户端 在要存取DB2数据库的远程用户的工作站上必须安装DB2客户端组件。 ● DB2 Connect 对于UNIX和Intel平台上的数据库应用程序,如果需要存取OS/400、VM/VSE和OS/390系统上的DB2数据库,则需要DB2 Connect的支持。 注意:任何平台上的数据库应用程序对UNIX和Intel平台上的数据库进行存取,都不需要DB2 Connect的支持。 ● DB2 Relational Connect DB2 Relational Connect允许DB2客户端在DB2数据库和异构数据库(如Oracle)之间进行存取和表的连接(Join)操作。 1.2.1 DB2客户端 针对不同的应用需求,DB2客户端产品有:

DB2日常维护手册

DB2 日常维护手册

目录 DB2日常维护手册 ............................................................................................................... - 1 - 一、DB2日常维护操作 ............................................................................................ - 1 - 1.检查管理服务器是否启动.................................................................................... - 1 - 2.检查DB2实例是否已经启动 ............................................................................... - 1 - 3.查看表空间状态是否正常.................................................................................... - 1 - 4.查看表的状态........................................................................................................ - 2 - 5.查看磁盘空间........................................................................................................ - 2 - 6.检查存储管理软件是否正常................................................................................ - 2 - 7.检查数据库备份是否正常.................................................................................... - 2 - 8.检查归档日志是否正确归档了............................................................................ - 3 - 9.查看缓冲池的命中率............................................................................................ - 3 - 10.查看当前运行最频繁的SQL,其命中率是否正常 ......................................... - 3 - 11.查看当前连接的应用程序,有没有非法连接 ................................................ - 3 - 12.检查有没有死锁 ................................................................................................ - 3 - 13.对表和索引进行runstats .................................................................................. - 3 - 14.检查表是否需要重组 ........................................................................................ - 4 - 15.对需要重组的表进行重组 ................................................................................ - 4 - 二、DB2日常维护月操作 ........................................................................................ - 4 - 1.查看DB2日志 ....................................................................................................... - 4 - 2.检查备份和日志是否都保存好了........................................................................ - 4 - 三、DB2日常维护季度操作 .................................................................................... - 5 - 1.通过快照监控器,查看系统性能如何 ................................................................ - 5 - 2.数据库补丁级别.................................................................................................... - 5 - 四、注意事项............................................................................................................ - 5 - 1.不要删除活动日志文件........................................................................................ - 5 - 2.注意交易日志存储空间........................................................................................ - 5 - 3.按照系统的实际工作量配置日志空间 ................................................................ - 5 - 4.设置正确数据库代码页........................................................................................ - 6 -

相关主题
文本预览
相关文档 最新文档