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

DB2
Microsoft SQL Server 7.0数据库升级转换问题
Microsoft SQL Server 7.0数据库设置与数据结构
将Access数据库移植到Microsoft SQL Server 7.0
如何恢复系统数据库?
数据库复制技术在Internet上的实现
优化-数据库
全面优化ADO
将数据库中的数据通过client控件显示,有源代码
OSQL工具在DOS下的操作方式
用SQL Server为Web浏览器提供图像(一)(转)
用SQL Server为Web浏览器提供图像(二)(转)
用SQL Server为Web浏览器提供图像(三)(转)
用SQL Server为Web浏览器提供图像(四)(转)
用表单来提交sql(转)1
用表单来提交sql(转)2
用表单来提交sql(转)3
DB2 日期和时间的函数应用说明
DB2 常用命令速查(备忘)
DB2 常用命令小结
DB2 自动递增字段实现方法

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-31   浏览: 43 ::
收藏到网摘: 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)状态。比如把整形数