您在这里:首页 > 学员专区 > 技术文章
Oracle视频
Oracle
CUUG课程

SYS用户对象不支持延迟段

 


今天测试的时候发现了这个问题。

 

 

在11.2环境中尝试建立一个延迟段属性的表碰到了ORA-14223错误:

SQL> SELECT * FROM V$VERSION;

BANNER

--------------------------------------------------------------------------------

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production

PL/SQL Release 11.2.0.1.0 - Production

CORE 11.2.0.1.0 Production

TNS for 32-bit Windows: Version 11.2.0.1.0 - Production

NLSRTL Version 11.2.0.1.0 - Production

SQL> CREATE TABLE T_DETER_SEG (ID NUMBER)

2 SEGMENT CREATION DEFERRED;

CREATE TABLE T_DETER_SEG (ID NUMBER)

*

第1行出现错误:

ORA-14223:此表不支持延迟创建段

由于延迟段属性是11.2才推出的新功能,以为是语法上有误,或者是Oracle存在一些限制,于是仔细查询了Oracle的官方文档,结果并没有看到任何和当前问题有关的限制条件。

以前测试延迟段的时候似乎并未碰到问题,难道和数据库的版本有关,而上次测试的时候也是11.2.0.1版本,只不过操作系统是Linux,难道这么一个简单的功能也和操作系统相关。

又检查了一下当前的环境,终于发现了问题的原因,当前用户是SYS:

SQL> SHOW USER

USER为"SYS"

SQL> CREATE TABLE T_DETER_SEG (ID NUMBER)

2 SEGMENT CREATION DEFERRED

3 TABLESPACE USERS;

CREATE TABLE T_DETER_SEG (ID NUMBER)

*

第1行出现错误:

ORA-14223:此表不支持延迟创建段

对于SYS来说,不支持任何特性都是正常的,这一点到没有什么奇怪的,不过想要搞清楚,是SYS下的对象不支持,还是SYSTEM表空间中的对象不支持段延迟。

从目前的测试看,即使SYS用户将表创建到其他表空间,仍然会导致这个错误。

SQL> CONN TEST/TEST@TEST112

已连接。

SQL> CREATE TABLE T_DETER_SEG (ID NUMBER)

2 SEGMENT CREATION DEFERRED

3 TABLESPACE SYSTEM;

表已创建。

现在可以确定,SYS用户下对象是不支持延迟段功能的。

 

 

(以上内容摘于网络,如有侵权,请告之,将第一时间删除)

相关文章 [上一篇] 常数复合索引应用案例
010-88589926(88587026)
CUUG热门培训课程
Oracle DBA就业培训
CUUG名师
网络课程
技术沙龙
最新动态

总机:(010)-88589926,88589826,88587026 QQ讨论群:243729577 182441349 邮箱:cuug_bj@cuug.com
通信地址:北京市海淀区紫竹院路98号北京化工大学科技园609室(CUUG)邮政编码:100089 
中国UNIX用户协会 Copyright 2010  ALL Rights Reserved 北京神脑资讯技术有限公司
京ICP备11008061号  京公网安备110108006275号