ora-12910 不能设置默认表空间的问题

来源:互联网 发布:数据库去掉重复行 编辑:程序博客网 时间:2024/04/26 20:49

select tablespace_name,contents from dba_tablespaces;

其中PERMANENT 为永久表空间,TEMPORARY为临时表空间,系统默认表空间要为永久表空间才可以,我的TEMP就创建错误了来了  。

解决方法:oracle必须存在一个默认的临时表空间,先建立一个临时表空间temp1,并将其默认,然后删除掉temp临时表空间,再建立temp临时表空间,指定temp为默认临时表空间,最后将temp1临时表空间删除掉。

--aCREATE TEMPORARY TABLESPACE temp1 TEMPFILE 'D:\app\zy\virtual\oradata\orcl\temp1.dbf' SIZE 1024 mAUTOEXTEND ON NEXT 10 m MAXSIZE UNLIMITED;--bALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp1;           ---这里如果temp1为永久表空间则会出错  --cDROP TABLESPACE temp INCLUDING CONTENTS AND DATAFILES;--dCREATE TEMPORARY TABLESPACE temp TEMPFILE 'D:\app\zy\virtual\oradata\orcl\temp.dbf' SIZE 1024 mAUTOEXTEND ON NEXT 10 m MAXSIZE UNLIMITED;ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp;DROP TABLESPACE temp1 INCLUDING CONTENTS AND DATAFILES;
这样创建其实就是我上面截图的temp为临时表空间,不行的,所以上面我们只做啊a、b、c步骤,目的删除默认的temp
2.创建永久表空间
create tablespace temp datafile 'D:\app\zy\virtual\oradata\orcl\temp.dbf' size 256m autoextend on next 256m segment space management auto;
3.设置当前登录用户的默认表空间sys为我当前登录的用户
alter user sys default tablespace temp
在此查询temp的contents变了永久表空间
创建用户就可以选择temp为默认表空间了
最后总结下,表空间分为永久表空间(PERMANENT和临时表空间(TEMPORARY),要分别创建,如果系统有永久表空间直接设置当前用户的表空间为永久即
alter user 当前用户  default tablespace 永久表空间名称
,我这里是为了方便把,temp设置为系统默认表空间的列子。()


原创粉丝点击