DB2数据库删除表空间

合集下载

db2删除数据表

db2删除数据表
删除基于该表的任何列创建的索引
●将基于该表的所有视图标记为不可用
●删除的表和从属视图的所有特权被隐式撤销
●会删除在其中为该表父表或从属表的所有引用约束
●从属于删除的表的所有程序包和高速缓存的动态SQL和XQuery语句被标记为无效,且该状态会保持至重新创建了从属对象为止。这包括这样的一些程序包,它们从属于将被删除的层次结构中子表上的任何超表
DB2数据库删除表
[大] [中] [小] 发布人:圣才学习网 发布日期:2012-09-26 16:41 共3276人浏览
DB2删除表操作相信大家都不陌生,这是我们最常用的操作之一,下面就对DB2删除表方面作详尽的阐述,供您参考学习。
DB2删除表
可以使用DROP TABLE语句删除表。当删除一个表时,也会删除SYSCAT.TABLES系统目录中包含有关该表的信息的那一行,并会影响从属于该表的任何其他对象。例如:
DROP TABLE <表名>
CREATE TABLE <表名> <字段的定义>
如果保存有表的定义语句,或已利用 DB2LOOK 命令获得了表定义的脚本,也可先删除整个表,再重新创建表。如果表较大,用这种方法实现数据清空的速度会快于方法一。
如果要实现truncate table的效果,就用IMPORT FROM 空文件的方法,用其它方法都不好。
或 LOAD FROM <空文件> OF DEL REPLACE INTO <表名> NONRECOVERABLE
在这一方法中,REPLACE 导入方式首先会将表中所有数据清空,然后 IMPORT/LOAD 又向表中导入了空数据,从而实现了数据的清除操作。

db2 sql 教程

db2 sql 教程
[color=blue:b36c9124a3]注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。[/color:b36c9124a3]添加主键:
Alter table tabname add primary key(col)
删除主键:
Alter table tabname drop primary key(col)
删除表:drop table tabname
3、表空间:
创建表空间:create tablespace tbsname pagesize 4k managed by database using (file ‘file’ size)
语法格式:
Rollback [work]
高级sql简单介绍
一、查询间使用运算词
A: UNION 运算符
UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。
删除表空间:drop tablespace tbsname
4、索引:
创建索引:create [unique] index idxname on tabname(col….)
删除索引:drop index idxname
[color=blue:b36c9124a3]注:索引是不可更改的,想更改必须删除重新建。[/color:b36c9124a3]
表空间加入容器:alter tablespace tablespace_name add(file 'filename' size)

ECC6.0+DB2下DBTABLOG表清理并释放表空间

ECC6.0+DB2下DBTABLOG表清理并释放表空间

适用情况: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常用命令

常用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数据库常用命令数据库学习

DB2数据库常用命令数据库学习
db2 list db directory 列出所有数据库
db2 list active databases 列出所有活动的数据库
db2 list tables for all 列出当前数据库下所有的表
db2 list tables for schema btp 列出当前数据库中schema为btp的表
注:appl-handler可以从list applicaitions的输出中得到
-查看表级别快照信息
DB2 get snapshot for tables on dbname
注:需要把tables快照开关设为ON才会有作用
-查看锁快照信息
DB2 get snapshot for locks on dbname
1、 以默认分隔符加载,默认为“,”号
db2 "import from btpoper.txt of del insert into btpoper"
2、 以指定分隔符“|”加载
db2 "import from btpoper.txt of del modified by coldel| insert into btpoper"
可以使用时间查看器收集锁事件,SQL语句事件,从而根据事件分析锁原因。
事件类型
使用事件监控器,首先要选定所关注的事件类型,DB2中有很多事件类型,可以用于锁分析的通常会用到以下三种:
DEADLOCKS
DEADLOCKS WITH DETAILS
STATEMENTS
db2 list tablespaces show detail 查看当前数据库表空间分配状况
db2 list tablespace containers for 2 show detail 查看tablespace id=2使用容器所在目录

【数据库】:关于DB2数据库错误提示说明

【数据库】:关于DB2数据库错误提示说明

【数据库】:关于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常用命令

db2数据库 sql常用命令

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数据库。

db2表空间详解

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用户参与。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在创建数据库时遇到数据库别名已存在的问题时,可以通过以下方法解决:
首先用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 数据库名删除数据库。

相关文档
最新文档