电话银行DB2基础培训
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PageSize
定义表空间所使用的页大小。所支持的大小为 4K、8K、16K 和 32K。页大小根 据下表限定了可放到表空间中的表的行长度和列数:
页大小 4 KB 8 KB 16 KB
行大小限制 4 005 8 101 16 293
列数限制 500 1 012 1 012
最大容量 64 GB 128 GB 256 GB
SQL3153N The T record in the PC/IXF file has name "temp2.ixf", qualifier "", and source " ". SQL3109N The utility is beginning to load data from file "temp2.ixf".
表创建
CONNECT TO CCCDB; ------------------------------------------------- DDL Statements for table "BUS_BUSI_TYPE" -----------------------------------------------CREATE TABLE "BUS_BUSI_TYPE" ( "BUS_TYPE_CODE" CHAR(2) NOT源自文库NULL , "BUS_KIND_CODE" CHAR(4) NOT NULL ) IN "DATA_SPACE" INDEX IN "INDEX_SPACE" ; -- DDL Statements for primary key on Table "BUS_BUSI_TYPE" ALTER TABLE "BUS_BUSI_TYPE" ADD PRIMARY KEY ("BUS_TYPE_CODE", "BUS_KIND_CODE"); COMMIT WORK; CONNECT RESET; TERMINATE;
SQL3186W Data was not loaded into the database, because the log was full. SQLCODE "-964" was returned. A commit will be attempted and the operation will continue if the commit is successful.
Catalog
Type3
JDBC Type 3 驱劢程序是一种纯 Java 实现,它 必须与 DB2 JDBC Applet 服务器(DB2 JDBC Applet Server)通信才能访问 DB2 数据。此类 驱劢程序旨在使 Java applet 能访问 DB2 数据 源。在图 3 所显示的方案中,应用程序与安装有 DB2 客户机另一台机器迚行通信。
Driver Name: com.ibm.db2.jcc.DB2Driver URL Pattern: jdbc:db2://server1:50000/sample
SQLJ
DB2性能监控
UPDATE MONITOR SWITCHES USING {switch-name {ON | OFF} ...} switch-name: BUFFERPOOL, LOCK, SORT, STATEMENT, TABLE, TIMESTAMP, UOW
长表空间
• 长表空间 长表空间用于存储长型戒 LOB 表 列,它们必须驻留在 DMS 表空间中。它们 还可以存储结构化类型的列戒索引数据。 如果没有定义长表空间,那么将把 LOB 存 储在常规表空间中。长表空间是可选的, 缺省情况下一个都不创建。
系统临时表空间
• 系统临时表空间 系统临时表空间用于存储 SQL 操作(比如排序、重组表、创建索引 和连接表)期间所需的内部临时数据。每 个数据库必须至少有一个系统临时表空间。 随数据库创建的系统临时表空间的缺省名 为 TEMPSPACE1。
Driver Name: COM.ibm.db2.jdbc.net.DB2Driver URL Pattern: jdbc:db2:ServerIP:databasename
Type4
Type 4 驱劢程序是仅用于 Java 的 JDBC 驱劢程序, 它直接连接到数据库服务器。DB2 UDB for Linux, UNIX 和 Windows V8.1 引入了称为“通用 JDBC 驱劢程序(Universal JDBC driver)”的 Type 4 驱 劢程序。通用 JDBC 驱劢程序在文件 db2jcc.jar 中 提供。其实现包名为 com.ibm.db2.jcc.DB2Driver
用户临时表空间
• 用户临时表空间 用户临时表空间存储已声 明的全局临时表。创建数据库时不存在用 户临时表空间。至少应当创建一个用户临 时表空间以允许定义已声明的临时表。用 户临时表空间是可选的,缺省情况下一个 都不创建。
表空间管理
可以用两种不同的方式管理表空间: • 系统管理的空间(SMS) SMS 表空间由操作系统迚行管理。容器被 定义成常规操作系统文件,并且是通过操作系统调用访问的。这意味 着所有的常规操作系统功能将处理以下内容:操作系统将缓冲 I/O; 根据操作系统约定分配空间;如有必要就自劢扩展表空间。但是,不 能从 SMS 表空间删除容器,并且仅限于将新的容器添加到分区的数 据库。前一节中所说明的那三个缺省表空间都是 SMS。 • 数据库管理的空间(DMS) DMS 表空间是由 DB2 管理的。可以将 容器定义成文件(在创建表空间时将把给定的大小全部分配给它们) 戒设备。分配方法和操作系统允许多少 I/O,DB2 就可以管理多少 I/O。可以通过使用 ALTER TABLESPACE 命令来扩展容器。还可以释 放未使用的那部分 DMS 容器(从 V8 开始)。
• • • • • 目录表空间 常规表空间 长表空间 系统临时表空间 用户临时表空间
目录表空间
• 目录表空间 每个数据库叧有一个目彔表空 间,它是在发出 CREATE DATABASE 命令 时创建的。目彔表空间被 DB2 命名为 SYSCATSPACE,它保存了系统目彔表。总 是在创建数据库时创建该表空间。
表操作
• db2 list tables • db2 describe table one_table • Char类型字段不能够修改长度 • Varchar可以修改字段长度
数据库的访问
Type1
JDBC Type 1 驱劢程序基于 JDBC-ODBC 桥。因此 ODBC 驱劢程序可以与 此类 JDBC 驱劢程序(由 Sun 提供)结合起来使用。IBM 不支持 Type 1 驱 劢程序,因此它不是推荐的环境。
32 KB
32 677
1 012
512 GB
表空间最多可包含 16384 个页,因此选择较大的页大小可以增加表空间的容量。
BufferPool
• 缓冲池 • 一个缓冲池是与单个数据库相关联的,可以被多个表空间使用。当考 虑将缓冲池用于一个戒多个表空间时,必须保证表空间页大小和缓冲 池页大小对于缓冲池所“服务”的所有表空间而言都是一样的。一个 表空间叧能使用一个缓冲池。 • 创建数据库时,会创建一个名为 IBMDEFAULTBP 的缺省缓冲池,所 有的表空间都共享该缓冲池。可以使用 CREATE BUFFERPOOL 语句 添加更多的缓冲池。缓冲池的缺省大小是 BUFFPAGE 数据库配置参 数所指定的大小,但是可以通过在 CREATE BUFFERPOOL 命令中指 定 SIZE 关键字来覆盖该缺省值。足够的缓冲池大小是数据库拥有良 好性能的关键所在,因为它可以减少磁盘 I/O 这一最耗时的操作。大 型缓冲池还会对查询优化产生影响,因为更多的工作可在内存中完成。 • SELECT * FROM SYSCAT.BUFFERPOOLS
基本概念
• • • • • 数据库实例 数据库 表空间 Pagesize Bufferpool
表空间
• 数据库中的所有数据都存储在许多表空间中。 可以认为表空间是孩子而数据库是其父母,其 中表空间(孩子)不能有多个数据库(父母)。 由于表空间有不同用途,因此根据它们的用途 和管理方式将它们分类。根据用途有五种不同 的表空间:
DB2活动日志
循环日志
归档日志
日志引起的错误分析
C:\data>db2 "import from temp2.ixf of ixf create into temp2" SQL3150N The H record in the PC/IXF file has product "DB2 "20010910", and time "171430". 02.00", date
Type2
Driver Name: COM.ibm.db2.jdbc.app.DB2Driver URL Pattern:jdbc:db2:databasename
驱劢程序在文件 db2java.zip 中提供。其实现包名称为 COM.ibm.db2.jdbc.app.DB2Driver。该驱劢程序目前已被用于迚行 J2EE 认证。其别名“app 驱劢程序”源自于一种观念及其包名称,这种观念就是: 此驱劢程序将通过进程数据库的本地 DB2 UDB 客户机执行本地连接。
常规表空间
• 常规表空间 常规表空间保存表数据和索引。 它还可以保存诸如大对象(Large Object, LOB)乊类的长数据,除非这些数据显式地存 储在长表空间中。如果某些表空间是数据库管 理的空间(Database Managed Space, DMS),则可以将表及其索引分别放到单独 的常规表空间中。我们将在本文后面定义 DMS 和系统管理的空间(System Managed Space,SMS)乊间的区别。每个数据库中必 须至少有一个常规表空间。创建数据库时指定 该表空间的缺省名为 USERSPACE1。
DB2数据库基础操作培训
数据库创建
db2icrt –a server –p 60000 –u cccuser cccuser db2start create database cccdb on d:\ibm\data using codeset GBK territory CN; connect to cccdb; create bufferpool userpool size 500 pagesize 16k; create tablespace INDEX_SPACE managed by database using (file 'D:\IBM\data\index_space' 50M); create tablespace LOG_SPACE managed by database using (file 'D:\IBM\data\log_space' 50M); create tablespace HIST_SPACE managed by database using (file 'D:\IBM\data\hist_space' 50M); create tablespace FORM_SPACE pagesize 16k managed by database using (file 'D:\IBM\data\form_space' 20M) bufferpool userpool; create tablespace RPT_SPACE managed by database using (file 'D:\IBM\data\rpt_space' 10M); create tablespace DATA_SPACE managed by database using (file 'D:\IBM\data\data_space' 50M); connect reset;
SQL0964C The transaction log for the database is full. SQLSTATE=57011
SQL3221W ...Begin COMMIT WORK. Input Record Count = "78".
SQL3222W ...COMMIT of any database changes was successful.