互联网服务

创建数据库页大小的问题

有个问题请教下:
今天我在服务器A上创建一个数据库的时候,用如下命令:
create database test;
然后创建了32K的bufferpool和tablespace,
然后建了个表,一切正常。

到了服务器B上,执行同样的操作
create database test;
,创建32K的bufferpool和tablespace,建同样的表,建表的时候居然出错了,
错误码SQLCODE=-286, SQLSTATE=42727;
运行db2 get db cfg for test,发现服务器B上的Database page size  = 4096。
这样我只能删除数据库,重新建数据库,指定页大小,create database test pagesize 32K,才能建表成功。

事后我运行db2 get db cfg for test,发现服务器A上的Database page size  = 4096,也就是默认创建数据库的页大小是4K的,我想问的是,同样是4K的页大小,为什么在服务器A上能建表成功,服务器B上不能建表成功。
参与12

11同行回答

qqdzyhqqdzyh数据库管理员苏宁电器
显式的标记你要是要的表空间就可以了显示全部
显式的标记你要是要的表空间就可以了收起
2012-04-30
浏览1052
nevermore_hcxnevermore_hcx软件开发工程师HW
回复 10# daolin2005     我知道这样是可以的 但是我想知道为什么在一台机器上不用指定表空间,到了另一台机器上,就要指定表空间了呢?两边的过程,都是一样的,为什么呢?是不是数据库哪的配置有问题导致的呢?...显示全部
回复 10# daolin2005


    我知道这样是可以的
但是我想知道为什么在一台机器上不用指定表空间,到了另一台机器上,就要指定表空间了呢?
两边的过程,都是一样的,为什么呢?
是不是数据库哪的配置有问题导致的呢?收起
互联网服务 · 2012-04-28
浏览1288
daolin2005daolin2005数据库管理员某城商行
回复 9# nevermore      extend2            VARCHAR(255),   extend3            VARCHAR(255) not null default '1') in test_TBS ;显示全部
回复 9# nevermore


     extend2            VARCHAR(255),
   extend3            VARCHAR(255) not null default '1'
) in test_TBS ;收起
软件开发 · 2012-04-28
浏览1265
nevermore_hcxnevermore_hcx软件开发工程师HW
哇靠 想不到这么多人关注,好吧 我把我的整个建库流程都贴出来:root用户登录:#groupadd ecity        #useradd  -g ecity -s /bin/bash -d /home/ecity  -m test然后用test用户登录,修改密码。切换到db2inst1用户#db2 create databa...显示全部
哇靠 想不到这么多人关注,好吧 我把我的整个建库流程都贴出来:
root用户登录:
#groupadd ecity       
#useradd  -g ecity -s /bin/bash -d /home/ecity  -m test
然后用test用户登录,修改密码。
切换到db2inst1用户
#db2 create database test
#db2 CONNECT TO test
#db2 GRANT CREATETAB, BINDADD, CONNECT, IMPLICIT_SCHEMA, LOAD, QUIESCE_CONNECT ON DATABASE TO USER test
#db2 create bufferpool test_BP size 2000 pagesize 32k
#db2 “CREATE  REGULAR  TABLESPACE test_TBS PAGESIZE 32 K  MANAGED BY DATABASE  USING ( FILE '/home/db2inst1/ecity/test.dbf' 25600 ) EXTENTSIZE 16 OVERHEAD 10.5 PREFETCHSIZE 16 TRANSFERRATE 0.14 BUFFERPOOL test_bp  DROPPED TABLE RECOVERY OFF”
#db2 GRANT USE OF TABLESPACE test_TBS TO user test WITH GRANT OPTION
#db2 CONNECT RESET
切换到test用户
#db2 CREATE SCHEMA test AUTHORIZATION test

然后创建表,建表语句如下:
create table XZSP_SPSX_SXXX (
   SPSXID               DECIMAL(10,0) primary key  not null,
   SPSXBM               VARCHAR(20),
   SPSXQC               VARCHAR(200)           default 'N',
   SPSXJC               VARCHAR(100),
   ZXBM                 CHAR(2),
   ZXQC                 VARCHAR(200),
   ZXJC                 VARCHAR(100),
   SFWJDSX              CHAR(1),
   JDID                 Integer,
   XKLS                 CHAR(1),
   MXDX                 VARCHAR(20),
   SXLX                 CHAR(1),
   SSDWID               DECIMAL(10,0),
   BLNR                 VARCHAR(1000),
   BLSL                 VARCHAR(200),
   SFJDZJC              CHAR(1),
   DZJCSXBM             VARCHAR(50),
   SQTJ                 LONG VARCHAR,
   BLCX                 LONG VARCHAR,
   SDYJ                 LONG VARCHAR,
   SQCL                 LONG VARCHAR,
   CYCL                 LONG VARCHAR,
   SFBJ                 VARCHAR(2000),
   SLJG                 VARCHAR(800),
   JDJG                 VARCHAR(800),
   YJZDT                CHAR(1),
   SLDZ                 VARCHAR(1000),
   SLCK                 VARCHAR(100),
   XSXX                 DECIMAL(2,0),
   SBSJXZ               CHAR(1),
   SBKSSJ               DATE,
   SBJSRQ               DATE,
   SLSJXZ               CHAR(1),
   SLKSSJ               DATE,
   SLJSSJ               DATE,
   BLSXLX               CHAR(1),
   BLSX                 DECIMAL(3,0),
   BLSXMS               VARCHAR(1000),
   ZZLX                 VARCHAR(100),
   ZZMC                 VARCHAR(1000),
   FLXL                 VARCHAR(2000),
   SFNS                 CHAR(1),
   SFYXFC               CHAR(1),
   SFSF                 CHAR(1),
   SFJE                 DECIMAL(16,2),
   SYYJTS               DECIMAL(3,0),
   BJZBTS               DECIMAL(3,0),
   SSDWMC               VARCHAR(100),   
   BSZNZT               CHAR(1),
   MEMO                                 LONG VARCHAR,
   creator           VARCHAR(30),
   createtime         date,
   modifier          VARCHAR(30),
   modifytime          timestamp,
   esbmodifytime      timestamp,
   esbdqbz            CHAR(1),
   extend1            VARCHAR(255),
   extend2            VARCHAR(255),
   extend3            VARCHAR(255) not null default '1'
);收起
互联网服务 · 2012-04-28
浏览1351
wp28556259wp28556259软件架构设计师CMBC
建表肯定没有显示指定表空间,不然就是没这个表空间的权限显示全部
建表肯定没有显示指定表空间,不然就是没这个表空间的权限收起
银行 · 2012-04-27
浏览1246
yyt030yyt030系统分析师SHJT
临时表空间的问题吧?把两个db的表空间属性都贴出来看下显示全部
临时表空间的问题吧?把两个db的表空间属性都贴出来看下收起
银行 · 2012-04-27
浏览1338
weiruan85weiruan85数据库管理员ibm
:) , 数据库的页没有办法指定的显示全部
:) , 数据库的页没有办法指定的收起
政府机关 · 2012-04-26
浏览1289
SaturnZoneSaturnZone数据库管理员苏宁
SQL0286N  找不到页大小至少为 "" 且许可其使用授权标识      "" 的缺省表空间。说明:CREATE TABLE、CREATE GLOBAL TEMPORARY TABLE 或 DECLARE GLOBAL TEMPORARYTABLE 语句未指定表空间,找不到具有足够页大小(至少为 ""),且具有正确类型(对于...显示全部
SQL0286N  找不到页大小至少为 "<页大小>" 且许可其使用授权标识
      "<用户名>" 的缺省表空间。

说明:

CREATE TABLE、CREATE GLOBAL TEMPORARY TABLE 或 DECLARE GLOBAL TEMPORARY
TABLE 语句未指定表空间,找不到具有足够页大小(至少为 "<页大小>"),且具
有正确类型(对于已创建的临时表或者已声明的临时表,为 USER TEMPORARY),
而授权标识 "<用户名>" 对其具有 USE 特权的表空间。

表的足够页大小是由行的字节数或列数确定的。

用户响应:

确保存在具有正确类型(REGULAR 或 USER TEMPORARY),且页大小至少应为
"<页大小>",并且授权标识 "<用户名>" 对其具有 USE 特权的表空间。

建表语句有指定表空间名称吗?
把建表语句发出来看看 呢?收起
互联网服务 · 2012-04-26
浏览1289
daolin2005daolin2005数据库管理员某城商行
明显的权限问题。显示全部
明显的权限问题。收起
软件开发 · 2012-04-26
浏览1291
wolaos123wolaos123项目经理澳美制药
你确定建表的语句都一样?显示全部
你确定建表的语句都一样?收起
医院 · 2012-04-26
浏览1267

提问者

nevermore_hcx
软件开发工程师HW

问题状态

  • 发布时间:2012-04-26
  • 关注会员:1 人
  • 问题浏览:6556
  • 最近回答:2012-04-30
  • X社区推广