Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103118582
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-04-12 23:41:28

   来源:csdn    作者:Mr_Bean

3、怎么样获取表结构以及索引的信息?

环境 产品: DB2 UDB

平台: Windows 9x/NT/2000, Unix, Linux

版本: 5.x/6.x/7.x

问题 怎么样获取表结构以及索引的信息?

解答 您可以使用"describe" 命令:

(1) 显示关于SELECT语句的 SQLDA 信息;

(2) 显示表或视图的列信息;

(3) 显示表或视图的索引信息;

* 命令语法:

>;>;-DESCRIBE-------------------------->;

>;--+-select-statement---------+->;<

'--+-TABLE--table-name----------+---+----------+-'

'-INDEXES FOR TABLE--table-name--' '-SHOW DETAIL--'

例如:

1) 下面的例子用于描述 SELECT 语句:

db2 "describe select * from staff"

SQLDA Information

sqldaid : SQLDA sqldabc: 896 sqln: 20 sqld: 7

Column Information

sqltype sqllen sqlname.data sqlname.length

--------------- ------ -------------- ---------------

500 SMALLINT 2 ID 2

449 VARCHAR 9 NAME 4

501 SMALLINT 2 DEPT 4

453 CHARACTER 5 JOB 3

501 SMALLINT 2 YEARS 5

485 DECIMAL 7, 2 SALARY 6

485 DECIMAL 7, 2 COMM 7

2) 下面的例子用于描述表结构:

db2 describe table user1.department

Table: USER1.DEPARTMENT

Column

name Type

schema Type

name Length Scale Nulls

--------- ------- ----------- -------- ------ ------

AREA SYSIBM SMALLINT 2 0 No

DEPT SYSIBM CHARACTER 3 0 No

DEPTNAME SYSIBM CHARACTER 20 0 YES

3) 下面的例子用于描述索引结构:

db2 describe indexes for table user1.department

Table: USER1.DEPARTMENT

Index

schema Index

name Unique

rule Number of

columns

------------ ---------- ------------ ----------------

USER1 IDX1 U 2

4、以空文件为数据文件导入(IMPORT)并替换(REPLACE)目标表和删除(DELETE)表操作的对比(一种可以绕开删除整个表操作时遇到交易日志已满的办法)

文章编号:1347131000035

日 期:2001-12-24

打印格式

以空文件为数据文件导入(IMPORT)并替换(REPLACE)目标表和删除(DELETE)

表操作的对比(一种可以绕开删除整个表操作时遇到交易日志已满的办法)

环境 [产品] DB2 UDB

[平台] 跨平台

[版本] 5.x/6.1/7.x

问题 以空文件为数据文件导入(IMPORT)并替换(REPLACE)目标表和删除(DELETE)表操作的对比

解答 当用DELETE TABLE命令删除整个表中数据时,该操作会逐条删除表中记录,并记入活动的交易日志。当表中数据量很大时,如果活动的交易日志不够大,就会遇到交易日志已满的错误,并回滚日志。即使活动的交易日志足够大,删除数据量很大的表的操作也会占用很多时间。用以空文件为数据文件导入(IMPORT)并替换(REPLACE)表的办法可以解决这个问题。例如

IMPORT FROM /dev/null OF DEL REPLACE INTO 目标表名

这样交易日志只会记录下该条命令,并立即释放所占的空间,而不会像删除命令一样逐条扫描记录,这就类似于DROP掉该表再创建一个完全相同只是没有数据的表一样。对于属于DMS表空间的表来说,删除命令逐条扫描记录,所占的记录空间仍标记为该表所用,而不立即释放空间,需要用REORG命令才可以释放剩余空间。用 LIST TABLESPACE SHOW DETAIL 可以对比两条命令执行后表空间中的剩余空间的大小。

用LOAD命令加REPLACE参数可以达到类似IMPORT命令加REPLACE的效果,但是由于LOAD本身不记日志,所以对于可恢复的数据库,LOAD完成后建议马上做一下联机备份的,相比之下,IMPORT命令加REPLACE操作上比较简单一些。

from jourmen

问题描述:

db2的界面都显示不了中文,所有该显示中文的地方都是显示方框

操作系统:

win2k(别的我没有试,不知道是不是这样)

db2版本:

db2 8.1 for win

解决方法:

控制面板-->;区域选项-->;常规选项卡-->;你的区域设置设成中文(中国)

ok,问题解决

问题原因:一般是你把区域设置成非中文(中国),比如我设成了英语(美国),来显示时间(9:05AM)这样格式的

P.S.:win别的平台和db2的别的版本没有试,也许一样:)

阅读(366) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~