- 论坛徽章:
- 0
|
因为普通用户连数据库总有一个警告,说需要建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表?
请各位帮助看看,谢谢! |
|