目录

db2数据库的操作以及一些常见问题解决

目录

db2数据库的操作以及一些常见问题解决

前两天发现自己的db2数据库数据已经占用系统盘50多个G资源,导致系统盘满了,所以写的这篇文章不会有截图出现。。。虽然真的是刚接触的时候

就个人而言仅了解9.7版本还有管理工具,虽然很难用,但是10.0以上版本就不存在管理工具,只能用管理命令行工具操作数据库。。

1、登录数据库 db2

2、查看当前数据库实例详细列表 list database directory

3、创建数据库 create db 数据库名称

4、删除数据库 drop db 数据库名称

5、连接数据库 connect to 数据库名称 user 用户名 using 名称

6、导出数据库表(此方法很适合数据量很大的表导出,超级快)export to D:user.del of del select * from user

https://i-blog.csdnimg.cn/blog_migrate/6db853521cdaacd1b69d3ed3fa8dbd72.png

https://i-blog.csdnimg.cn/blog_migrate/4783e834b75c98f56a9a25d2a8c696e2.png

7、还有一点很重要的是可能表字段很长,我记得有个项目的字段每个都达到varchar(1024),然后数据库见不上表,找了好长时间才找到问题就是数据库表空间不足,直接这样创建就可以,,,

create database 数据库名称 automatic storage yes  using codeset UTF-8 territory US pagesize 32768;

下面是自己找这个解决的一些连接和方案。。。

--首先创建一个页大小为32k的缓冲池
 CREATE BUFFERPOOL buf1 IMMEDIATE  SIZE 250 NUMBLOCKPAGES 108 BLOCKSIZE 32 PAGESIZE 32 K ;

-然后使用这个缓冲池
CREATE LARGE TABLESPACE ts2 PAGESIZE 32 K MANAGED BY AUTOMATIC STORAGE EXTENTSIZE 32 OVERHEAD 10.5 PREFETCHSIZE 32 TRANSFERRATE 0.14 BUFFERPOOL buf1;

修改事务日志大小
update db cfg using LOGFILSIZ 10240 --日志文件大小
update db cfg using LOGPRIMARY 100 --主日志文件个数
update db cfg using LOGSECOND 100 --辅助日志文件的个数

//新建缓冲池以及临时表空间
CREATE BUFFORPOOL BUF1 PAGESIZE 32K;
CREATE TEMPORARY TABLESPACE mysystmp1 IN DATABASE PARTITION GROUP IBMTEMPGROUP PAGESIZE 32K MANAGED BY SYSTEM USING ('D:\DB2\NODE0000\NEWUMPDB\T0000004') EXTENTSIZE 32 PREFETCHSIZE 32 BUFFERPOOL BUF1 DROPPED TABLE RECOVERY OFF;

详细可查看 帮助你在已有数据库的情况下解决表空间不足问题。

今天想起来整理这些问题,可能会有遗漏,后期补充吧。