当前位置: 首页 > 图文教程 > 数据库 > DB2 > DB2 UDB V8.1管理学习笔记(二)

DB2
监控 DB2 活动之使用解释工具分析SQL
DB2 Viper 快速入门
监控 DB2 活动之Visual Explain详细介绍
监控 DB2 活动之其他问题判断工具
DB2 与 Ruby on Rails 入门之一
DB2 实用程序介绍之EXPORT实用程序
浅谈DB2数据库故障处理及最佳实践
使用重定向恢复DB2数据库
DB中如何查询Table占用空间的大小
DB2 实用程序介绍之LOAD实用程序
DB2 实用程序介绍之数据移动实用程序
DB2 实用程序介绍之IMPORT实用程序
SQL Server 2005对DBA的要求是否会更高
IBM XML tools for DB2 Version 9.5 及其用法
DB2 VS2005.Net插件进行XML数据验证
三种级别的DB2数据库字符集的设置与修改
理解DB2 9中新的查询:XQuery
DB2 存储和检索 XML 数据
VS2005构建针对DB2的应用程序和Web站点
.Net开发采用DB2 XML的应用程序示例

DB2 UDB V8.1管理学习笔记(二)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-31   浏览: 38 ::
收藏到网摘: n/a

表空间类型分为SMS和DMS,分别是system management space, database management space. SMS使用方便,简单,无需手工创建和维护数据存储文件。DMS需要手动指定container和存储数据的文件名,并保证有足够磁盘空间可用。 
  对于一个数据库,至少存在一个page size为4K的系统临时表空间,可以额外建立具有更大page size的用户临时表空间,系统会自动进行使用。
  无法用alter语句更改一个字段的数据类型,对某些字段可以更改数据长度,这一点上相对于Oracle,DB2的限制要多一些。
  可以使用: select 表达式 from sysibm.sysdummy; 替代的,以下语句是等价的:values 表达式;
  表和视图的创建、更新、删除操作,都写日志,因此可以commit或rollback。
  在update语句中,如果没有对定义了默认值的某个字段显式赋值,则更新时,此字段不会重新执行默认值中定义的表达式。为了让其重新执行默认值定义的表达式,可以采用以下方式:
  create table t1 (c1 varchar(32), lastupdatetime with default current timpstamp);update t1 set c1 = ’new string’, lastupdatetime = default;
  对于DB2数据库可以在创建时指定codepage参数,创建后不可修改。当应用程序访问数据库时,DB2会比较两者的codepage是否一致,不一致则进行代码页的自动转换。为了减少转换所带来的开销,应尽量保证应用程序所采用的代码页与数据库一致。
  可以对DB2 CLP工具的codepage进行设置,使用:
  $ db2set DB2CODEPAGE= 1386
  本例中设置的是中文GBK字符集在Windows平台对应的值。注意,这个数字值是由DB2自己定义的。有关各种字符集在相应平台所对应的代码页值可在IBM网站查找。
  在DB2 CLP中,对远程数据库编目的操作,首先把远程主机映射为本地节点,节点名自己指定,本例采用TCPIP连接。service_name一般定义在远程主机的/etc/services文件中。
  $ db2 CATALOG TCPIP NODE local_node_name REMOTE hostname|ip SERVER service_name
  然后把已知的远程主机的数据库映射到本地别名,注意本地别名在主机级别不能重复。节点名指定上面刚编目的节点。
  $ db2 CATALOG DATABASE db_name AS local_alias AT local_node_name USER username USING password
  现在就可以用刚才编目中定义的别名连接远程主机数据库
  $ db2 CONNECT TO local_alias USER username USING password
  获取数据库详细配置信息
  $ db2 GET CONFIGURATION SHOW DETAIL
  对于DB2返回的错误号,可以用以下方法查阅说明(以sql 10008为例):
  $ db2 ? sql10008
  数据库的备份与恢复:
  使用备份与恢复工具可以完成在不同的服务器见完整的转移数据库的工作,命令行方式如下:
  备份
  $ db2 BACKUP DATABASE db_name USER user_name USING password to backup_dir_name$ db2 BACKUP DATABASE dlhdb USER dlh USING admindlh TO d:\backups
  恢复
  $ db2 RESTORE DATABASE source_db_name USER user_name USING password FROM backup_dir_name TAKEN AT backup_file_create_time TO driver_letter INTO new_db_name$ db2 RESTORE DATABASE dlhdb USER dlh USING admindlh FROM d:\backups TAKEN AT 20031209141056 TO d: INTO newdb
  有关实例的操作:
  设置默认实例环境变量
  $ db2 SET DB2INSTANCE=inst_name
  启动当前实例
  $ db2start
  停止当前实例
  $ db2stop [force]
  连接到某个实例
  $ db2 ATTACH TO ANSTANCE inst_name
  获取实例的配置参数
  $ db2 GET DBM CFG SHOW DETAIL
  导出数据库完整的定义到脚本文件,包括表,视图,函数,数据库参数等
  $ db2look -d sample(数据库) -a -e -l -x -m -f -o(参数)samplesql.out(输出文件)
  load 一个表的数据时,有可能导致表空间处于backup pending(0x0020)状态。比如把整形数