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 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进行授权

扫描二维码关注公众号,回复: 4146116 查看本文章
使用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

总结:

针对数据库操作千万不要手动删除数据库文件

db2可以创建多个库,也可以只创建一个数据库使用不用的用户进行登录,管理各自的表

猜你喜欢

转载自www.cnblogs.com/oath-keeper/p/9984382.html
今日推荐