今天向数据库添加表时出现error:
DB2 SQL Error: SQLCODE=-286, SQLSTATE=42727
发现原因是: 表空间页太小了
所以决定创建一个页表空间更大的数据库,并把原来数据库中的内容迁移过来
打开db2控制台
1.创建一个新的数据库,并带表页面大小参数
db2 create database database2 automatic storage yes pagesize 32768
2.命令行跳转到空间比较多的D盘
D:
3.执行db2move export命令,将数据导出到D盘
db2move database1 export
4.执行db2move import 命令
db2move database2 import
导入的过程比较长。显示导入成功以后
发现用database1的用户 user1 无法查看database2的表
原因是没有给user1添加操作database2的权限
5.先用db2管理员用户连接database2
db2 connect to database2
6.添加用户权限
GRANT
DBADM,CREATETAB,BINDADD,CONNECT,CREATE_NOT_FENCED_ROUTINE,IMPLICIT_SCHEMA,LOAD,CREATE_EXTERNAL_ROUTINE,QUIESCE_CONNECT,SECADM
ON DATABASE TO USER user1
7.断开管理员的数据库连接
db2 connect reset
8.再用user1连接database2
db2 connect to database2 user user1 using password
连接成功后执行 select 语句发现可以查询成功 说明用户名已经成功添加