DB2数据库删除表空间
- 格式:docx
- 大小:13.64 KB
- 文档页数:1
适用情况:ECC6.0DB2 版本从V9.5升级到V10.1一、从表DBTABLOG中删除数据,只保留1年数据。
(时间自己定)SE38 运行程序RSTBPDEL,后台运行程序。
二、打入DB6CONV程序参考note1513862,下载附件中的文件解压,把解压文件放到如下目录:cp R000016.FW1 /usr/sap/trans/datacp K000016.FW1 /usr/sap/trans/cofiles运行STMS传输即可。
三、运行程序DB6CONV重组表DBTABLOG。
SE38 执行程序DB6CONV,参考note 362325保存即可,选择合适的时间启动后台任务运行。
四、降低高水位高水位降低后表空间大小没有减少。
五、缩小PRD#PROTD表空间1、创建表空间PRD#PROTD1。
CREATE LARGE TABLESPACE "PRD#PROTD1" IN DATABASE PARTITION GROUP SAPNODEGRP_PRD PAGESIZE 16384 MANAGED BY AUTOMATIC STORAGEUSING STOGROUP "IBMSTOGROUP"AUTORESIZE YESINITIALSIZE 32 MMAXSIZE NONEEXTENTSIZE 2PREFETCHSIZE AUTOMATICBUFFERPOOL "IBMDEFAULTBP"DATA TAG NONEOVERHEAD 7.500000TRANSFERRATE 0.060000NO FILE SYSTEM CACHINGDROPPED TABLE RECOVERY OFF;2、把表空间PRD#PROTD的数据转移到表空间PRD#PROTD1。
运行会报错,如下:SQL0551N "SAPPRD" does not have the required authorization or privilege to perform operation "CREATE TABLE" on object缺少权限,给用户SAPPRD dbadm权限。
常用db2命令大全db2 -tvf my.sqldb2level 显示db2的版本号显示SQL出错信息db2 "? sql6031"db2mtrk管理DAS产生:root运行-dascrt -u dasuser1删除:root运行-dasdrop启动:dasusr1运行-db2admin start停止:dasusr1运行-db2admin stopdb2_killipcleandb2start dbpartitionnum 9 restartAIX启动控制中心:db2ccDB2用户管理:db2 use os to manage users.You can use following steps to add a db2 user:1,add a user on os.2,grant rights to user.GRANT CREATETAB,CONNECT ON DATABASE TO USER FUJIE;grant select, update, delete on table employee to user john with grant option一,实例产生db2icrt -a AuthType(SERVER,CLIENT,SERVER_ENCRYPT) -p PORT_NAME表空间PREFETCHSIZE的设置,EXTENTSIZE的关系,缓冲池的监控,页清除程序的多少。
临时表空间页面大小与其他表空间页面大小的设置,临时表空间与缓冲池的设置。
example:db2icrt db2 -s ese -p d:\db2 -u Administrator注意:在UNIX 上产生实例时需要产生一个和实例名称相同的用户名,和fencedid 用户。
如:db2icrt -s ese -u db2fenc2 db2inst2 将在db2inst2用户中产生实例db2inst2.缺省创建32位实例,创建64位实例:db2icrt -s ese -w 64 -u db2fenc2 db2inst2删除db2idrop instance-name启动db2start停止db2stop force连接db2 attach to testdb2db2 detach列出实例db2ilist设置当前实例set db2instance=得到当前实例db2 get instance设置实例自动重启动UNIXdb2iauto -ondb2iauto -off获取实例的配置参数db2 get dbm cfg修改配置参数例如:db2 update dbm cfg using authentication server_encryptdb2stop and db2start二,声明注册表和环境变量db2set 注意:设置完成后需要退出用户,再注册进入才能生效。
【数据库】:关于DB2数据库错误提⽰说明SQLSTATE 消息本节列⽰ SQLSTATE 及其含义。
SQLSTATE 是按类代码进⾏分组的;对于⼦代码,请参阅相应的表。
表 2. SQLSTATE 类代码类代码含义要获得⼦代码,参阅...00 完全成功完成表 301 警告表 402 ⽆数据表 507 动态 SQL 错误表 608 连接异常表 709 触发操作异常表 80A 功能部件不受⽀持表 90D ⽬标类型规范⽆效表 100F ⽆效标记表 110K RESIGNAL 语句⽆效表 1220 找不到 CASE 语句的条件表 1321 基数违例表 1422 数据异常表 1523 约束违例表 1624 ⽆效游标状态表 1725 ⽆效事务状态表 1826 ⽆效 SQL 语句标识表 1928 ⽆效权限规范表 212D ⽆效事务终⽌表 222E ⽆效连接名表 2334 ⽆效游标名表 2436 游标灵敏度异常表 2538 外部函数异常表 2639 外部函数调⽤异常表 273B SAVEPOINT ⽆效表 2840 事务回滚表 2942 语法错误或存取规则违例表 3044 WITH CHECK OPTION 违例表 3146 Java DDL 表 3251 ⽆效应⽤程序状态表 3353 ⽆效操作数或不⼀致的规范表 3454 超出 SQL 限制,或超出产品限制表 3555 对象不处于先决条件状态表 3656 其它 SQL 或产品错误表 3757 资源不可⽤或操作员⼲预表 3858 系统错误表 39类代码 00 完全成功完成表 3. 类代码 00:完全成功完成SQLSTATE 值含义00000 操作执⾏成功,并且未产⽣任何类型的警告或异常情况。
类代码 01 警告表 4. 类代码 01:警告SQLSTATE 值含义01002 发⽣ DISCONNECT 错误。
01003 从列函数的⾃变量消去 NULL 值。
01004 字符串值在指定给具有较短长度的另⼀字符串数据类型时被截断。
DB2数据库 SQL常用命令一、连接数据库1. 从命令行连接数据库- 语法: db2 connect to <database_name> user <username> using <password>- 示例: db2 connect to sample user db2inst1 using passw0rd2. 从命令行断开数据库连接- 语法: db2 connect reset- 示例: db2 connect reset3. 显示当前连接的数据库- 语法: db2 list database directory- 示例: db2 list database directory二、管理数据库对象4. 创建数据库- 语法: db2 create database <database_name>- 示例: db2 create database sample5. 删除数据库- 语法: db2 drop database <database_name>- 示例: db2 drop database sample6. 创建表- 语法: db2 create table <table_name> (<column1_name> <data_type>, <column2_name> <data_type>, ...)- 示例: db2 create table employee (id int, name varchar(50), age int)7. 删除表- 语法: db2 drop table <table_name>- 示例: db2 drop table employee8. 插入数据- 语法: db2 insert into <table_name> values (<value1>,<value2>, ...)- 示例: db2 insert into employee values (1, 'John', 25)9. 删除数据- 语法: db2 delete from <table_name> where <condition> - 示例: db2 delete from employee where id = 110. 更新数据- 语法: db2 update <table_name> set <column_name> =<new_value> where <condition>- 示例: db2 update employee set age = 30 where id = 111. 查询数据- 语法: db2 select <column1_name>, <column2_name>, ... from <table_name> where <condition>- 示例: db2 select * from employee三、管理数据库事务12. 启动事务- 语法: db2 autmit off- 示例: db2 autmit off13. 提交事务- 语法: db2mit- 示例: db2mit14. 回滚事务- 语法: db2 rollback- 示例: db2 rollback四、管理数据库权限15. 创建用户- 语法: db2 create user <username> password <password> - 示例: db2 create user testuser password testpass16. 授权- 语法: db2 grant <privilege> on <object> to <user>- 示例: db2 grant select, insert, update on employee to testuser17. 撤销授权- 语法: db2 revoke <privilege> on <object> from <user> - 示例: db2 revoke select, insert, update on employee from testuser五、管理数据库性能18. 优化SQL查询- 语法: db2expln -d <database_name> -t <sql_statement> - 示例: db2expln -d sample -t "select * from employee"19. 查看数据库锁- 语法: db2 list applications show det本人l- 示例: db2 list applications show det本人l20. 查看数据库表空间使用情况- 语法: db2pd -d <database_name> -tablespaces- 示例: db2pd -d sample -tablespaces六、其他常用命令21. 导出数据- 语法: db2 export to <file_name> of del select * from<table_name>- 示例: db2 export to employee.csv of del select * from employee22. 导入数据- 语法: db2 import from <file_name> of del insert into<table_name>- 示例: db2 import from employee.csv of del insert into employee23. 查看数据库配置参数- 语法: db2 get db cfg for <database_name>- 示例: db2 get db cfg for sample结语以上就是DB2数据库SQL常用命令的介绍,通过掌握这些命令,可以更方便地管理和使用DB2数据库。
3.2 表空间设计3.2.1 创建表空间表空间建立数据库系统使用的物理存储设备与用来存储数据的逻辑对象或表之间的关系。
对于非自动存储器表空间,在创建表空间时,必须知道将引用的容器的设备名或文件名。
另外,必须知道与要分配给表空间的每个设备名或文件名及分配空间大小。
对于自动存储器表空间,数据库管理器将根据与数据库关联的存储路径将容器指定给表空间。
在一个数据库内创建表空间,会将容器分配到表空间,并在数据库系统目录表中记录它的定义和属性,然后就可以在此表空间内创建表。
当创建数据库时,会创建3个初始表空间。
这3个初始表空间的页大小基于使用CREATE DATABASE命令时建立或接受的默认值。
此默认值还表示所有将来CREATE BUFFERPOOL和CREATE TABLESPACE语句的默认页大小。
如果在创建数据库时不指定页大小,那么默认大小是4KB。
如果在创建表空间时不指定页大小,那么默认页大小是创建数据库时设置的页大小。
创建表空间可以通过控制中心或命令行创建。
一、使用控制中心创建表空间使用控制中心创建表空间二、使用命令行创建表空间1.创建用户表空间创建SMS表空间:CREATE TABLESPACE <NAME> MANAGED BY SYSTEM USING (‘<path>’)创建DMS表空间:CREATE TABLESPACE <NAME> MANAGED BY DATABASE USING(DEVICE |FILE’<path>’<size>) 创建自动存储器表空间CREATE TABLESPACE <NAME>或CREATE TABLESPACE <NAME> MANAGED BY AUTOMATIC STORAGE例:1.在Windows上,使用3个不同的驱动器上的目录,创建SMS表空间CREATE TABLESPACE TS1 MANAGED BY SYSTEMUSING (‘d:\nxz_tbsp’,’e:\nxz_tbsp’,’f:\nxz_tbsp)2.使用各自有5000页的两个文件容器创建了一个DMS表空间:CREATE TABLESPACE TS2 MANAGED BY DATABASEUSING (FILE’d:\db2data\acc_tbsp’ 5000,FILE’e:\db2data\acc_tbsp’ 5000)在创建DMS表空间时,表空间文件容器不需要重建,DB2自动来创建,但裸设备容器无法自动创建,需要root用户参与。
Db2 命令练习1 复制表insert into dr_ryqx_em select * from dr_ryqx_em;2 列出所有正在访问roeee数据库的应用程序db2 list applications for db roeee;3 强制终止应用访问db2db2 force application all4 得到当前实例的配置db2 get dbm cfg5 得到表结构信息db2 ‘describe select * from table’6 挂载远程数据库到本地db2 catalog tcpip node 节点名remote 数据库服务器IP server 端口db2 catalog db 远程数据库名as 编目后的名称at node 编目过的节点7 取消挂载的数据库db2 uncatalog database emdbdb2 uncatalog node emnode8 显示数据库,或节点的目录信息db2 list db directorydb2 list node directory9 备份数据库Db2 list history backup all for sample ,可以看到多了这个备份的纪录。
backup db sample to d:\;backup db sample online to d:\;backup db sample online incremental to d:\;10 恢复数据库restore db <dbname> [from <path>] taken at 时间戳11 更新db2的配置db2 update dbm cfg using <parameter> <value>例如:db2 update dbm cfg using INTRA_PARALLEL YES12 更新特定数据库配置db2 update db cfg for <dbname> using <parameter> <value>13 显示所有的用户表或者是系统表Db2 list tables for user/system14 新方法创建表create table zjt_tables as(select * from tables) definition only;CREATE TABLE "ADMINISTRATOR"."chuan"("id" CHARACTER(10) NOT NULL,"name" CHARACTER(30),) IN "USERSPACE2";15 创建视图create view V_zjt_tables as select tabschema,tabname from zjt_tables;16 显示当前数据库db2 list active databases17 修改表结构alter table chuan alter column empno set data type varchar(30); alter table chuan add chuantype varchar(20);alter table chuan drop chuantype;18 使用db2帮助信息的命令db2 ? attach19 连接实例attach to sample user db2inst3 using db2inst3;20 断开数据库connect reset21 断开数据库,并清空后台连接缓存terminate22 创建模式create schema db2admin authorization administratorComment on schema db2admin is 'Default Schema'23 创建缓冲池(立即生效使用IMMEDIATE ,推迟生效使用DEFERRED ,下同)create bufferpool DATA_BP immediate size 25600 pagesize 4 K24 修改缓冲池大小alter bufferpool DATA_BP immediate size 2560025删除缓冲池drop bufferpool DATA_BP26 创建用户常规表空间CREATE TABLESPACE USERSPACE2PAGESIZE 32KMANAGED BY SYSTEMUSING ('d:\aa')EXTENTSIZE 64PREFETCHSIZE 32BUFFERPOOL RODE;27 创建系统表空间(用于临时表等)CREATE system TEMPORARY TABLESPACE tmptableSPACE4PAGESIZE 32KMANAGED BY SYSTEMUSING ('d:\bb')EXTENTSIZE 64PREFETCHSIZE 32BUFFERPOOL RODE;28 修改表空间大小,扩充容器alter tablespace DATA_TBresize ( FILE 'D:\DB2\Container\TestDB\UserData\UserData' 30000 )29 删除表空间(警告!请谨慎执行该命令。
DB2学习笔记DB2上机操作命令1实例相关:查询实例:db2ilist查看当前实例:db2 get instance创建实例:db2icrt instance_name(windows)db2icrt -u fenced_user_IDinstance_name(linux)使用实例:set db2instance=实例名称删除实例:db2idrop -finstance_name迁移实例:db2imigr instance_name更新实例:db2iupdt instance_name连接实例:db2 attach to instance_name断开实例:db2 detach启动实例:db2start关闭实例:db2stop [force]2数据库相关:查询数据库:db2 list database directory [on /home/db2inst1]db2 list active databases创建数据库:db2 create database yzht using codeset ISO8859-1 territory cn pagesize 4096 db2 create database itp using codeset GBK territory cn pagesize 8192db2CREATE DATABASE DB2_GCB ON G: ALIAS DB2_GCB USING CODESET GBK TERRITORY CN COLLATE USING SYSTEM DFT_EXTENT_SZ 32db2 CREATE DATABASE DB2TEST1 USING CODESET GBK TERRITORY CN COLLATE USING SYSTEM PAGESIZE 4096删除数据库:db2 drop database db_name连接数据库:db2connect to db_name user user_name using password;连接复位:db2 connect reset查看连接:db2 list application for db db_name[show detail]关闭连接:db2 force applications alldb2force application(id1,id2)读数据库管理程序配置:db2 get dbm cfg写数据库管理程序配置:db2 update dbm cfg using 参数名参数值读数据库的配置:db2 get db cfg for db_name写数据库的配置:db2 update db cfg for db_name using 参数名参数值获取数据库的权限:db2GET AUTHORIZATIONS停止启动数据库:db2activate/deactivate db db_name3缓冲池相关:查询缓冲区:db2 SELECT BPNAME FROM SYSCAT.BUFFERPOOLSdb2select BPNAME , NPAGES from sysibm.sysbufferpools 创建缓冲区:db2 create bufferpool bp_name [immediate] size 5000[automatic] pagesize 8k/16k/32kPS: DEFERRED不会立刻激活缓冲池;immediate立即激活32k为缓冲池页大小,这边创建了32*100=3.2m的缓冲池空间修改缓冲池:db2 alter bufferpool bp_name SIZE bp_size删除缓冲池:db2 drop bufferpool bp_name4表空间相关:查询表空间:db2 list tablespaces [show detail]db2pd -tablespaces –db db_namedb2listtablespace containers for tbs_id show detail创建表空间:db2 CREATE REGULAR TABLESPACE tp_name PAGESIZE 4K MANAGED BY AUTOMATIC STORAGE BUFFERPOOL bp_namedb2CREATE [SYSTEM/USER] [TEMPORARY]TABLESPACE tp_name IN DATABASE PARTITION GROUP IBMDEFAULTGROUP PAGESIZE 32K MANAGED BY SYSTEM USING ('/home/exoa2/exoacontainer32k') EXTENTSIZE 32 PREFETCHSIZE 16 BUFFERPOOL bp_name OVERHEAD 24.10 TRANSFERRATE 0.90DROPPED TABLE RECOVERY OFF;GRANT USE OF TABLESPACE tp_nameTO PUBLIC;PS:create tablespace datatblsp pagesize 32Kmanaged by databaseusing (device '/dev/rdata0' 30720M ,device '/dev/rdata1' 30720M ,)extentsize 8 prefetchsize 48bufferpool databp;device:指的是设备路径。
db2中delete删除数据后释放表空间在DB2数据库中,delete语句用于删除表中的数据。
然而,当我们使用delete语句删除数据时,并不会立即释放表空间。
这是因为DB2数据库采用了一种称为“延迟删除”的机制。
所谓延迟删除,是指当我们执行delete语句删除数据时,DB2并不会立即从磁盘上删除这些数据所占用的空间,而是将这些空间标记为可重用。
这样做的目的是为了提高删除操作的性能,避免频繁地进行磁盘操作。
当我们执行delete语句删除数据后,DB2会将这些被删除的数据所占用的空间标记为可重用,并将这些空间的信息记录在一个称为“回收链表”的数据结构中。
回收链表中记录了可重用空间的位置和大小等信息。
当我们执行insert语句插入新数据时,DB2会首先查找回收链表,看是否有足够的可重用空间。
如果有,DB2会将新数据插入到这些可重用空间中,而不是分配新的空间。
这样做可以减少磁盘操作,提高插入操作的性能。
然而,当回收链表中的可重用空间不足以容纳新数据时,DB2就会分配新的空间。
这时,我们就会发现,虽然我们执行了delete语句删除了数据,但是表空间的大小并没有减少。
这是因为被删除的数据所占用的空间并没有被立即释放,而是被标记为可重用。
那么,如何释放被删除数据所占用的空间呢?在DB2中,我们可以使用reorg命令来重新组织表空间,从而释放被删除数据所占用的空间。
reorg命令会重新组织表空间,将被删除数据所占用的空间释放出来。
具体来说,reorg命令会重新组织表空间中的数据,将有效数据移到一起,将被删除数据所占用的空间释放出来。
这样做可以减少表空间的大小,提高数据库的性能。
使用reorg命令释放表空间的步骤如下:1. 首先,我们需要连接到DB2数据库,并切换到要操作的数据库中。
2. 然后,我们可以使用reorg命令来重新组织表空间。
具体的命令格式如下:reorg tablespace 表空间名其中,表空间名是要重新组织的表空间的名称。
“案发”当日(2月29日,四年才相逢的日子):ecif数据库中一张关键表crossindex(ecif客户与其他源系统客户对照关系表,下文均用表A代替)在批量作业处理时异常增大,停止时该表数据为1.4亿条数据。
数据异常增大的原因本文就不在赘述了,详细原因足够写一个长篇回忆录了,说多了全是眼泪。
之前做过统计,此表正常数据应当为1200万条左右。
看到下图结果的时候,有点小崩溃。
一个简单的count(1)后查询“仅”用了3分20秒,异常数据总条数在1.3亿条左右,并且查看了当时的表空间,数据表空间已剩余不多,索引表空间全部被占满了。
确切的说是因为索引表空间占满了,批量数据才得以停止,否则数据量会更大。
命题:一个有业务系统使用的数据库,需要将其中的一张表,从1.4亿条数据中删除1.3亿,最终只保留有用的1200万数据,且索引表空间已满,无法增加表空间。
磁盘空间不足,无法备份。
前提:幸运的是,数据库之前做过优化。
具体有以下几个参数:db2set DB2_SKIPINSERTED=ondb2set DB2_EVALUNCOMMITTED=on这两个参数主要是提高数据库的并行处理能力,确保批量程序处理过程中,其它应用可以查询数据。
其实就是延迟行锁定,当在表扫描或索引扫描期间执行行锁定时,DB2 会先锁定已扫描的每一行然后再确定该行是否符合查询要求,直到确定某行符合查询要求为止。
调整数据库锁列表比例,控制应用在过多情况占用锁资源;update db cfg for ecifdb using MAXLOCKS 30(目前生产环境大多数系统是采取自动配置,大小为97%)调整锁资源大小;update db cfg for ecifdb using LOCKLIST 204800(目前生产环境大多数系统是采取自动配置,大小为496864页)调整锁等待超时时长;update db cfg for ecifdb using LOCKTIMEOUT 40(目前生产环境大多数系统是采取自动配置,大小为1800秒)直白的说,有了以上数据库参数的调整,即使我们去进行数据删除时,也不会导致数据库的崩溃,毕竟数据量有点大。
1. 建立数据库DB2_GCB 网管联盟CREATE DATABASE DB2_GCB ON G: ALIAS DB2_GCBUSING CODESET GBK TERRITORY CN COLLATE USING SYSTEM DFT_EXTENT_SZ 32 中国网管论坛2. 连接数据库中国网管联盟www、bitsCN、comconnect to sample1 user db2admin using 8301206中国网管论坛3. 建立别名create alias db2admin.tables for sysstat.tables;CREATE ALIAS DB2ADMIN.VIEWS FOR SYSCAT.VIEWScreate alias db2admin.columns for syscat.columns;create alias guest.columns for syscat.columns; 网管网bitsCN_com4. 建立表create table zjt_tables as(select * from tables) definition only;create table zjt_views as(select * from views) definition only; 5. 插入记录中国网管论坛insert into zjt_tables select * from tables;insert into zjt_views select * from views; 网管网6. 建立视图中国网管联盟www、bitsCN、comcreate view V_zjt_tables as select tabschema,tabname from zjt_tables;网管网7. 建立触发器中国网管论坛CREATE TRIGGER zjt_tables_delAFTER DELETE ON zjt_tablesREFERENCING OLD AS OFOR EACH ROW MODE DB2SQLInsert into zjt_tables1 values(substr(o.tabschema,1,8),substr(o.tabname,1,10)) 中国网管联盟www_bitscn_com8. 建立唯一性索引CREATE UNIQUE INDEX I_ztables_tabname[size=3]ON zjt_tables(tabname);9. 查看表select tabname from tableswhere tabname='ZJT_TABLES';中国网管论坛10. 查看列中国网管联盟www_bitscn_comselect SUBSTR(COLNAME,1,20) as 列名,TYPENAME as 类型,LENGTH as 长度from columnswhere tabname='ZJT_TABLES';网管联盟11. 查看表结构中国网管联盟www、bitsCN、comdb2 describe table user1.departmentdb2 describe select * from user.tables网管网12. 查看表的索引db2 describe indexes for table user1.department 中国网管联盟www、bitsCN、com 13. 查看视图网管网select viewname from viewswhere viewname='V_ZJT_TABLES';中国网管论坛14. 查看索引select indname from indexeswhere indname='I_ZTABLES_TABNAME'; 中国网管联盟www、bitsCN、com 15. 查看存贮过程网管联盟SELECT SUBSTR(PROCSCHEMA,1,15),SUBSTR(PROCNAME,1,15)FROM SYSCAT.PROCEDURES; 16. 类型转换(cast) ip datatype:varcharselect cast(ip as integer)+50 from log_comm_failed17. 重新连接connect reset 18. 中断数据库连接disconnect db2_gcb 网管联盟19. view application 网管网bitsCN_comLIST APPLICATION;20. kill applicationFORCE APPLICATION(0);db2 force applications all (强迫所有应用程序从数据库断开) 网管网 21. lock table 中国网管联盟lock table test in exclusive mode中国网管联盟www_bitscn_com22. 共享中国网管联盟www、bitsCN、comlock table test in share mode 中国网管论坛23. 显示当前用户所有表网管网list tables中国网管论坛24. 列出所有的系统表list tables for system网管网bitsCN_com25. 显示当前活动数据库list active databases26. 查看命令选项list command options 27. 系统数据库目录LIST DATABASE DIRECTORY 中国网管论坛 28. 表空间网管网list tablespaces 中国网管联盟www_bitscn_com29. 表空间容器LIST TABLESPACE CONTAINERS FORExample: LIST TABLESPACE CONTAINERS FOR 1 中国网管联盟www_bitscn_com 30. 显示用户数据库的存取权限GET AUTHORIZATIONS 网管联盟【转自】31. 启动实例DB2START 中国网管联盟www_bitscn_com32. 停止实例中国网管联盟www_bitscn_comdb2stop 33. 表或视图特权中国网管联盟www_bitscn_comgrant select,delete,insert,update on tables to usergrant all on tables to user WITH GRANT OPTION34. 程序包特权GRANT EXECUTEON PACKAGE PACKAGE-nameTO PUBLIC35. 模式特权中国网管联盟www、bitsCN、comGRANT CREATEIN ON SCHEMA SCHEMA-name TO USER36. 数据库特权中国网管论坛grant connect,createtab,dbadm on database to user 中国网管联盟www_bitscn_com 37. 索引特权中国网管联盟www_bitscn_comgrant control on index index-name to user38. 信息帮助(? XXXnnnnn ) 中国网管联盟www、bitsCN、com例:? SQL3008139. SQL 帮助(说明SQL 语句的语法) help statement例如,help SELECT 网管网40. SQLSTATE 帮助(说明SQL 的状态和类别代码)中国网管联盟www、bitsCN、com? sqlstate 或? class-code41. 更改与"管理服务器"相关的口令中国网管联盟db2admin setid username password 中国网管论坛42. 创建SAMPLE 数据库网管联盟db2sampldb2sampl F:(指定安装盘) 43. 使用操作系统命令! dir中国网管联盟www_bitscn_com44. 转换数据类型(cast) 中国网管联盟SELECT EMPNO, CAST(RESUME AS V ARCHAR(370))FROM EMP_RESUMEWHERE RESUME_FORMAT = 'ascii'45. UDF 中国网管联盟www、bitsCN、com要运行DB2 Java 存储过程或UDF,还需要更新服务器上的DB2 数据库管理程序配置,以包括在该机器上安装JDK 的路径中国网管联盟db2 update dbm cfg using JDK11_PA TH d:sqllibjavajdkTERMINATEupdate dbm cfg using SPM_NAME sample 网管网46. 检查DB2 数据库管理程序配置中国网管论坛db2 get dbm cfg47. 检索具有特权的所有授权名SELECT DISTINCT GRANTEE, GRANTEETYPE, 'DA TABASE' FROM SYSCA T.DBAUTHUNIONSELECT DISTINCT GRANTEE, GRANTEETYPE, 'TABLE ' FROM SYSCA T.TABAUTHUNIONSELECT DISTINCT GRANTEE, GRANTEETYPE, 'PACKAGE ' FROM SYSCA T.PACKAGEAUTHUNIONSELECT DISTINCT GRANTEE, GRANTEETYPE, 'INDEX ' FROM SYSCAT.INDEXAUTHUNIONSELECT DISTINCT GRANTEE, GRANTEETYPE, 'COLUMN ' FROM SYSCAT.COLAUTHUNIONSELECT DISTINCT GRANTEE, GRANTEETYPE, 'SCHEMA ' FROM SYSCA T.SCHEMAAUTHUNIONSELECT DISTINCT GRANTEE, GRANTEETYPE, 'SERVER ' FROM SYSCA T.PASSTHRUAUTHORDER BY GRANTEE, GRANTEETYPE, 3 中国网管联盟www_bitscn_comcreate table yhdab(id varchar(10),password varchar(10),ywlx varchar(10),kh varchar(10));create table ywlbb(ywlbbh varchar(8),ywmc varchar(60)) 网管联盟48. 修改表结构alter table yhdab ALTER kh SET DA TA TYPE varchar(13); alter table yhdab ALTER ID SET DA TA TYPE varchar(13); alter table lst_bsi alter bsi_money set data type int;insert into yhdab values('20000300001','123456','user01','20000300001'),('20000300002','123456','user02','20000300002');网管联盟49. 业务类型说明insert into ywlbb values('user01','业务申请'),('user02','业务撤消'),('user03','费用查询'),('user04','费用自缴'),('user05','费用预存'),('user06','密码修改'),('user07','发票打印'),('gl01','改用户基本信息'),('gl02','更改支付信息'),('gl03','日统计功能'),('gl04','冲帐功能'),('gl05','对帐功能'),('gl06','计费功能'),('gl07','综合统计') 网管联盟【转自】DB2上机操作指令指南1. 启动实例(db2inst1):db2start 中国网管联盟www_bitscn_com2. 停止实例(db2inst1):db2stop 3. 列出所有实例(db2inst1)db2ilist5.列出当前实例:db2 get instance4. 察看示例配置文件:db2 get dbm cfg|more 网管联盟5. 更新数据库管理器参数信息:db2 update dbm cfg using para_name para_value6. 创建数据库:db2 create db test中国网管联盟www_bitscn_com7. 察看数据库配置参数信息db2 get db cfg for test|more 中国网管联盟 8. 更新数据库参数配置信息db2 update db cfg for test using para_name para_value 10.删除数据库:db2 drop db test中国网管联盟11.连接数据库db2 connect to test网管网bitsCN_com12.列出所有表空间的详细信息。
在创建数据库时遇到数据库别名已存在的问题时,可以通过以下方法解决:
首先用db2 list database directory命令看在系统数据库目录(System Database Directory)中有没有该数据库。
如果有,应该在确定该数据库是没有用的数据库之后用db2 drop database 数据库名将其删除。
如果没有,再用db2 list database directory on location 看在本地数据库目录(Local Database Directory)中有没有该数据库,location指定数据库的位置(如Windows下的C: ,Unix下/home/db2inst1)。
如果有,先用db2 catalog database 数据库名on location将数据库编目到节点上,再对其进行删除处理。
解决过程:
1、db2 list database directory 查看系统数据库目录,看不到要找的数据库,表示该数据库不在系统数据库目录中
2、db2 list database directory on D:(在系统数据库目录找不到的情况下执行该指令,这里是盘符d),然后发现有sample和source的别名。
说明在本地数据库目录中。
3、db2 catalog database 数据库名on d: 将数据库编目到节点上
4. drop database 数据库名删除数据库。