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
db2数据库的操作以及一些常见问题解决_第1张图片
db2数据库的操作以及一些常见问题解决_第2张图片
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;

详细可查看http://blog.csdn.net/m0_37373806/article/details/56843471帮助你在已有数据库的情况下解决表空间不足问题。
今天想起来整理这些问题,可能会有遗漏,后期补充吧。

你可能感兴趣的:(db2数据库的操作以及一些常见问题解决)