因用户错误创建index报ORA-01129错误

联系:手机(+86 13429648788) QQ(107644445)QQ咨询惜分飞

标题:因用户错误创建index报ORA-01129错误

作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]

数据库版本

SQL> select * from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE    11.2.0.4.0      Production
TNS for HPUX: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production

报ORA-01129错误

SQL> create index SERIVCE.ind_xifenfei on SERVICE.t_user(create_date);
create index SERIVCE.ind_xifenfei on SERVICE.t_user(create_date)
                                         *
ERROR at line 1:
ORA-01129: user's default or temporary tablespace does not exist

查询表空间信息

SQL> select TABLESPACE_NAME,CONTENTS,STATUS from dba_tablespaces where TABLESPACE_NAME in ('SERVICE','TEMP');

TABLESPACE_NAME                CONTENTS  STATUS
------------------------------ --------- ---------
SERVICE                        PERMANENT ONLINE
TEMP                           TEMPORARY ONLINE

通过分析,证明相关的表空间都存在,进一步检查sql语句,发现SERVICE被错误的书写为了SERIVCE,检查SERIVCE用户.

SQL> select count(*) from dba_users where username='SERIVCE';

  COUNT(*)
----------
         0

通过分析,可以知道是因为index对应的用户不存在,从而出现了ORA-01129的错误,按道理应该报ORA-01918,而不是ORA-01129.查询MOS发现Bug 17058847 Creating index in non existing schema results in ORA-1129 and not ORA-1918
bug 17058847


此条目发表在 Oracle 分类目录,贴了 标签。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>