免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3810 | 回复: 2
打印 上一主题 下一主题

执行pupbld.sql,却不能在系统表空间上建表。ORA-01658错 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-12-20 23:06 |只看该作者 |倒序浏览
因为普通用户连数据库总有一个警告,说需要建PRODUCT_USER_PROFILE这张表。所以用今天就用SYSTEM用户执行pupbld.sql,准备建表,但一直没成功,主要原因就是在执行pupbld.sql中的
CREATE TABLE SQLPLUS_PRODUCT_PROFILE
(
  PRODUCT        VARCHAR2 (30) NOT NULL,
  USERID         VARCHAR2 (30),
  ATTRIBUTE      VARCHAR2 (240),
  SCOPE          VARCHAR2 (240),
  NUMERIC_VALUE  DECIMAL (15,2),
  CHAR_VALUE     VARCHAR2 (240),
  DATE_VALUE     DATE,
  LONG_VALUE     LONG
);
这条语句时出错,错误如下:
ORA-01658: unable to create INITIAL extent for segment in tablespace SYSTEM

我是在SUN solaris 9 x86下安装的oracle 10.1.0.3。system tablespace为100M,系统没有做什么其它操作,建这张表应该没有问题才对。
查了一下SYSTEM tablesapce上的initial和next都是缺省的16K。
又查了一下SYSTEM表空间,没想到的确用了100M。
1  select SEGMENT_TYPE,owner,sum(bytes)/1024/1024 from  
  2  dba_segments where tablespac_name=''SYSTEM'
  3*group by segment_type,owner
SQL>; /

SEGMENT_TYPE       OWNER                          SUM(BYTES)/1024/1024
------------------ ------------------------------ --------------------
INDEX              SYS                                      22.8046875
INDEX              OUTLN                                       .046875
INDEX              SYSTEM                                       1.9375
TABLE              SYS                                       53.640625
TABLE              OUTLN                                       .046875
TABLE              SYSTEM                                     1.390625
CLUSTER            SYS                                      12.9453125
LOBINDEX           SYS                                           .8125
LOBINDEX           SYSTEM                                      .265625
ROLLBACK           SYS                                         .390625
LOBSEGMENT         SYS                                       5.2421875
LOBSEGMENT         SYSTEM                                       .40625
NESTED TABLE       SYS                                         .046875
TABLE PARTITION    SYSTEM                                      .015625

14 rows selected.

我没想通的是,100M应该是SYSTEM表空间的缺省值,而系统本身的内容就刚好把它装满了(我还没建任何用户表一类的东西)?以后再写数据字典会不会出错?是不是这个缺省值太小了?现在我怎样才能在SYSTEM表空间上建PRODUCT_USER_PROFILE表?
请各位帮助看看,谢谢!

论坛徽章:
0
2 [报告]
发表于 2004-12-21 02:34 |只看该作者

执行pupbld.sql,却不能在系统表空间上建表。ORA-01658错

find out the datafile of SYSTEM from dba_data_files and
alter tablespace system datafile ... autoextend on;

or add datafile to the system tablespace

alter tablespace system add datafile ... size 100M auto extend on;

论坛徽章:
0
3 [报告]
发表于 2004-12-25 18:26 |只看该作者

执行pupbld.sql,却不能在系统表空间上建表。ORA-01658错

谢谢,我直接把SYSTEM表空间扩成150M,问题就解决了。但对SYSTEM表空间怎么会这么大还是比较困惑
INDEX SYS 22.8046875
TABLE SYS 53.640625
CLUSTER SYS 12.9453125
这三项就占了90M
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP