db2创建数据库

 1、切换用户

su - db2inst1

2、创建数据库

db2 create db databaseName using codeset utf-8 territory CN

注意:

1
2
3
4
5
6
7
8
9
10
11
1.出现错误:SQL1004C there is not enough storage on the file to process the command----物理空间不足
2.创建数据库失败(中间断掉或空间不足引起)无法重新创建,提示已存在,SQL1005N,此时需要删除掉重新创建 <br><strong>解决方案</strong>:
查看是否存在系统数据库目录中
db2 list db directory
若存在则可以直接删除
db2 drop db databasename
注意系统创建的文件不能随意删除再复制回来需要修改权限否者出现SQL1036C  An I/O error occurred while accessing the database.  SQLSTATE=58030
若不存在则需要添加进来再删除
db2 catalog db databasename
将数据库移除系统数据库目录中
db2 uncatalog db databasename

3、连接新数据库

db2 connect to databaseName

4、创建BUFFERPOOL

db2 create BUFFERPOOL testBUFFER SIZE 1000 PAGESIZE 32K

5、创建TABLESPACE

db2 "create regular tablespace  testSpace  pagesize 32k managed by database using(file '/home/db2inst1/test/ts' 5g) bufferpool testBUFFER"

6、创建临时表空间

db2 "create SYSTEM TEMPORARY TABLESPACE testBUF PAGESIZE 32K MANAGED BY database USING (file '/home/db2inst1/epay/tts' 1g) BUFFERPOOL testBUFFER"

7、断开连接

db2 disconnect databaseName

8、使用db2inst1角色连接数据库

db2 connect to databaseName

9、linux下创建用户和密码用于连接数据库(一个库下使用不同用户连接数据库管理各自的表(但是数据库名字是同一个,只需连接是指定用户名密码)类似oracle)

1
2
useradd username
passwd password username

10、db2inst1进行授权

使用db2inst1连接数据库进行授权给指定用户后,该用户才可以有权访问表
db2 grant dbadm on database to user userName

11、使用创建用户重新连接数据库进行添加当前用户下的表

1
db2 connect to databaseName user username using password

12、导出数据库的所有表及数据(导出的文件是db2move.lst、export.out、tabxx.ixf、tabxx.msg)

1
db2move <数据库名> export

13、导入数据库的所有表及数据(需要修改db2move.lst中的第一个字段是用户名,管理需要导入的表,不需要导入的直接删除即可也可以修改用户)

1
db2move <数据库名> import

14、导出表创建语句

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

15、运行sql脚本

1
db2 -tvf  <脚本名称>.sql

16、导出单个表数据(只能导出一个表)

1
db2 export to test.txt of del select from test

17、导入单个表数据

1
db2 import from test.txt of del insert into test

 1、切换用户

su - db2inst1

2、创建数据库

db2 create db databaseName using codeset utf-8 territory CN

注意:

1
2
3
4
5
6
7
8
9
10
11
1.出现错误:SQL1004C there is not enough storage on the file to process the command----物理空间不足
2.创建数据库失败(中间断掉或空间不足引起)无法重新创建,提示已存在,SQL1005N,此时需要删除掉重新创建 <br><strong>解决方案</strong>:
查看是否存在系统数据库目录中
db2 list db directory
若存在则可以直接删除
db2 drop db databasename
注意系统创建的文件不能随意删除再复制回来需要修改权限否者出现SQL1036C  An I/O error occurred while accessing the database.  SQLSTATE=58030
若不存在则需要添加进来再删除
db2 catalog db databasename
将数据库移除系统数据库目录中
db2 uncatalog db databasename

3、连接新数据库

db2 connect to databaseName

4、创建BUFFERPOOL

db2 create BUFFERPOOL testBUFFER SIZE 1000 PAGESIZE 32K

5、创建TABLESPACE

db2 create TABLESPACE testSpace PAGESIZE 32K MANAGED BY SYSTEM USING ('/home/db2inst1/test/ts') BUFFERPOOL testBUFFER

6、创建临时表空间

db2 create SYSTEM TEMPORARY TABLESPACE testBUF PAGESIZE 32 K MANAGED BY SYSTEM USING ('/home/db2inst1/epay/tts') BUFFERPOOL testBUFFER

7、断开连接

db2 disconnect databaseName

8、使用db2inst1角色连接数据库

db2 connect to databaseName

9、创建用户和密码用于连接数据库(一个库下使用不同用户连接数据库管理各自的表(但是数据库名字是同一个,只需连接是指定用户名密码)类似oracle)

1
2
useradd username
passwd password

10、db2inst1进行授权

使用db2inst1连接数据库进行授权给指定用户后,该用户才可以有权访问表
db2 grant dbadm on database to user userName

11、使用创建用户重新连接数据库进行添加当前用户下的表

1
db2 connect to databaseName user username using password

12、导出数据库的所有表及数据(导出的文件是db2move.lst、export.out、tabxx.ixf、tabxx.msg)

1
db2move <数据库名> export

13、导入数据库的所有表及数据(需要修改db2move.lst中的第一个字段是用户名,管理需要导入的表,不需要导入的直接删除即可也可以修改用户)

1
db2move <数据库名> import

14、导出表创建语句

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

15、运行sql脚本

1
db2 -tvf  <脚本名称>.sql

16、导出单个表数据(只能导出一个表)

1
db2 export to test.txt of del select from test

17、导入单个表数据

1
db2 import from test.txt of del insert into test
posted @ 2018-11-19 19:45  Oath_keeper  阅读(12534)  评论(0编辑  收藏  举报