DB2 SQL Error: SQLCODE=-286, SQLSTATE=42727

今天向数据库添加表时出现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 语句发现可以查询成功 说明用户名已经成功添加


版权声明:本文为Great_Smile原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。