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

select tablespace_name,contents from dba_tablespaces;

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

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

--a
CREATE TEMPORARY TABLESPACE temp1 TEMPFILE 'D:\app\zy\virtual\oradata\orcl\temp1.dbf' SIZE 1024 m
AUTOEXTEND ON NEXT 10 m MAXSIZE UNLIMITED;
--b
ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp1;           ---这里如果temp1为永久表空间则会出错  
--c
DROP TABLESPACE temp INCLUDING CONTENTS AND DATAFILES;
--d
CREATE TEMPORARY TABLESPACE temp TEMPFILE 'D:\app\zy\virtual\oradata\orcl\temp.dbf' SIZE 1024 m
AUTOEXTEND 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设置为系统默认表空间的列子。()





  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值