db2的操作命令使用汇总(4)

2019-08-20 18:13

仅当用户临时表空间中当前未定义已声明临时表时,才能删除该表空间。当删除表空间时,不会尝试删除该表空间中的所有已声明临时表。

注意:已声明临时表是在说明它的应用程序与数据库断开连接时隐式删除的。s

8.3、删除系统临时表空间

如果不首先创建另一系统临时表空间,那么不能删除页大小为4KB的默认系统临时表空间。新的系统临时表空间必须具有4KB页大小,原因是数据库必须始终存在至少一个具有4KB页大小的系统临时表空间。例如,如果具有页大小为4KB的单个系统临时表空间,并且您想要将一个容器添加到该表空间(它是SMS表空间),那么您必须首先添加一个具有适当数目的容器的新4KB页大小的系统临时表空间,然后删除旧的系统临时表空间(如果正在使用DMS,那么可以添加容器而不必删除并重新创建表空间)。

默认系统临时表空间页大小是创建数据库时使用的页大小(默认情况下为4KB),但也可以为8KB、16KB或32KB。

下面是用来创建系统临时表空间的语句:

CREATE SYSTEM TEMPORARY TABLESPACE MANAGED BY SYSTEM USING ('')

创建之后,要使用命令行删除系统表空间,请输入: DROP TABLESPACE

以下SQL语句创建一个称为TEMPSPACE2的新的系统临时表空间:

CREATE SYSTEM TEMPORARY TABLESPACE TEMPSPACE2 MANAGED BY SYSTEM USING ('d:\\systemp2')

一旦创建了TEMPSPACE2,那么就可使用以下命令删除原来的系统临时表空间 TEMPSPACE1:

DROP TABLESPACE TEMPSPACE1

11. 列出表空间

db2 list tablespaces

12. 查看当前数据库表空间分配状况

db2 list tablespaces show detail 13. 查看tablespace id=2使用容器所在目录

db2 list tablespace containers for 2 show detail 14. 显示当前数据库管理实例 db2 get instance

15. 设置实例系统启动时是否自动启动。 db2iauto -on 自动启动 b2iauto -off 不自动启动

四、表的管理

1. 查看数据库中所有表结构

db2 list tables 2. 列出所有系统表

list tables for system 3. 查看表结构

db2 describe table <表名> 4. 列出表中前10条数据

fetch first 10 rows only

例如:select * from <表名> fetch first 10 rows only 5. 对是null的字段进行值转换

coalesce(字段名,转换后的值)

例如:select coalesce(id,1) from <表名> --对表中id如果为null转换成1 6. 计算出日期中是周几(1是周日,2是周一.......7是周六)

dayofweek(日期)

7. 计算出日期中是周几(1是周一.......7是周日)

dayofweek_iso

例如:dayofweek(date(2008-01-16)) --它会返回是4,代表星期三 dayofweek_iso(date(2008-01-16)) --它会返回是3,代表星期三 8. 一年中的第几天,范围在1-366范围之内

dayofyear(日期)

注意:参数中日期的格式是YYYY-MM-DD的形式,如果不是需要进行转换,否则函数不能使用 ,例如:日期是20080116必须要进行转换

dayofweek(concat(concat(concat(substr(openDate,1,4),'-'),concat(substr(openDate,5,2),'-')),substr(openDate,7,2))) as week),样格式正确的。 9. 把参数1加上连接值组成一个新值

concatt(参数1,连接值)

例如: concat('aa','b') --返回是aab 10. 整理表

db2 connect to <数据库名> user <用户名> using <密码> db2 reorg table <表名>

db2 runstats on table <表名> with distribution and indexes all 11. 执行一个批处理文件

db2 –tf 批处理文件名

文件中每一条命令用 ;结束) 12. 自动生成批处理文件

建文本文件:temp.sql

select 'runstats on table DB2.' || tabname || ' with distribution and detailed indexes all;' from syscat.tables where tabschema='DB2' and type='T';

db2 –tf temp.sql>runstats.sql 13. 自动生成建表(视图)语句

在服务器上:C:\\sqllib\\misc目录中

db2 connect to o_yd user db2 using pwd

db2look –d o_yd –u db2 –e –p –c c:\\o_yd.txt 14. 其他命令

grant dbadm on database to user <用户名> 15. 查看表结构

db2 describe select * from user.tables

16. 查看表的索引

Db2 describe indexes for table <表名> show detail 17. 重命名表

rename table_old to table_new

五、数据管理和移动

1. 加载数据

a) 以默认分隔符加载,默认为“,”号

db2 \表文件名>.txt of del insert into <表名> b) 以指定分隔符“|”加载

db2 \表文件名>.txt of del modified by coldel| insert into <表名>\2. 卸载数据

a) 卸载一个表中全部数据

db2 \表名>\

db2 \表名>\

b) 带条件卸载一个表中数据

db2 \表文件名>.txt of del select * from <表名> where <条件> db2 \表文件名>.txt of del select * from <表名> where <条件> db2 \表文件名>.txt of del modified by coldel| select * from <表名> where <条件> 3. 查询数据结构及数据

db2 \表名>\

db2 \表名> where <查询条件>\db2 \列出情况> passwd from <表名> \4. 删除表中数据

db2 \表名>\

db2 \表名> where .. and ..\5. 修改表中数据

db2 \表名> set <修改条件> where <查询条件> \6. 数据库导出

db2 export to c:\\<表文件名>.txt of del select * from <表名> db2 export to c:\\<表文件名>.ixf of ixf select * from <表名> 导出数据库的表结构,其中用户空间一般为db2admin/db2inst1 db2look -d <数据库名> -u <用户> -e -o <脚本名称>.sql 导出数据库中表1和表2的表结构

db2look -d <数据库名> -u <用户> -t <表1> <表2> -e -o <脚本名称>.sql 导出数据库数据

db2move <数据库名> export 导出数据库中表和表数据

db2move <数据库名> export -tn <表1>,<表2> 7. 数据库导入

import from c:\\123.txt of del insert into ylbx.czyxx

db2 import to c:\\dftz.txt of del commitcount 5000 messages c:\\dftz.msg insert into dftz

db2 import to c:\\dftz.ixf of ixf commitcount 5000 messages c:\\dftz.msg insert into dftz

db2 import to c:\\dftz.ixf of ixf commitcount 5000 insert into dftz

db2 import to c:\\dftz.ixf of ixf commitcount 5000 insert_update into dftz db2 import to c:\\dftz.ixf of ixf commitcount 5000 replace into dftz

db2 import to c:\\dftz.ixf of ixf commitcount 5000 create into dftz (仅IXF) db2 import to c:\\dftz.ixf of ixf commitcount 5000 replace_create into dftz (仅IXF)

把上述导出的表结构导入到数据库表结构 db2 -tvf <脚本名称>.sql

把上述“db2move <数据库名> export “导出的数据导入到数据库中并把相同的数据替换掉

db2move <数据库名> load -lo replace

在实际使用过程中,如果用到db2自增主键,需要使用by default, 而不是always,功能是一样的,但这样在数据移植时候会很方便!

8. 在不同平台间进行数据迁移

在不同平台间进行数据迁移,通常使用PC/IXF文件格式为中间转换格式,使用DB2MOVE与DB2LOOK结合进行数据迁移. 1) 使用DB2MOVE的不足:

因DB2MOVE只是一个表的移动工具,对于约束、触发器、索引、序列、表空间、缓冲池等则无法进行迁移

2) 使用DB2MOVE与DB2LOOK进行数据迁移的步骤,举例以JBPMDEV为旧数据库,JBPMDB为

新数据库

a.建立数据备份目录 mkdir temp20090728 b.连接数据库

db2 connect to jbpm c.导出数据

db2move jbpmdev export

d.导出数据库中所有对象的DDL语句

db2look -d jbpmdev -e -a -l -o db2look.sql e. 创建数据库

db2 create db jbpmdb using codeset GBK territory CN f. 创建数据库对象

db2 -tvf db2look.sql g.导入数据

db2move jbpmdb load h.将挂起的表解锁

db2 set integrity for jbpm.jbpm_id_appinfo all immediate checked

9. 备份整个数据库数据

db2 backup db db2name<数据库名>

如:

db2 force application all

backup database <数据库名> [to ]

10. 还原整个数据库数据

db2 restore db

db2 restore db <数据库名> [from ]

11. 绑定存储过程

db2 connect to <数据库名> user <用户> using <密码>

db2 bind c:\\dfplus.bnd

拷贝存储过程到服务器上的C:\\sqllib\\function目录中

六、安全与优化

1. 概述

DB2 安全性是通过组合外部安全性服务与内部 DB2 授权机制来处理的。外部安全性服务对希望访问 DB2 服务器的用户进行身份验证,DB2 外部的安全性软件负责处理身份验证。该软件可以是操作系统的安全性设施,也可是 Kerberos 等独立产品。成功校验了用户 ID 和口令后,内部 DB2 进程将接管控制,并确保用户有权执行所请求的操作。 2. 身份验证类型

身份验证类型确定在何处验证用户 ID/口令对。所支持的身份验证类型有: a. SERVER(默认) b. SERVER_ENCRYPT c. KERBEROS

d. KRB_SERVER_ENCRYPT e. CLIENT

身份验证类型是在服务器和客户机处同时设置的。

服务器:每个实例仅允许一种类型的身份验证,也就是说,设置适用于该实例下定义的所有数据库。在数据库管理器配置文件中使用 AUTHENTICATION 参数指定该设置。

db2 update database manager configuration authentication auth_type 客户机:在客户机处编目的各数据库拥有自己的身份验证类型,使用 catalog database 命令指定。

db2 catalog database db_name at node node_name authentication auth_type 3. 使用 SERVER 选项进行身份验证

使用 SERVER 选项时,用户 ID 和口令将发送到服务器进行校验。校验的步骤如下: (1). 用户使用用户名 OS_UserName 和口令 OS_PWD 登录到工作站。

(2). 该用户随后使用用户 ID db2user 和口令 db2pwd 连接到 SAMPLE 数据库,这是在远程 DB2 服务器上定义的。

(3). db2user 和 db2pwd 通过网络发送到服务器。 (4). db2user 和 db2pwd 在 DB2 服务器上校验。

若您想保护用户 ID 和口令免于被窃听,可使用身份验证类型 SERVER_ENCRYPT,这样用户 ID 和口令就都会被加密。 4. 使用 Kerberos 进行身份验证

Kerberos 是一种外部安全性设施,它使用通用密码术创建共享的加密密钥。Kerberos 提供了安全的身份验证机制,这是因为用户 ID 和口令不再需要以明文形式通过网络传输。通过使用加密密钥,它使单点登录到远程 DB2 服务器成为可能。


db2的操作命令使用汇总(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:青春期的生理和心理健康讲座课件课稿

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: