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
|