用户默认表空间随DB默认表空间的变动

Oracle 10g 中,数据库级别的默认表空间是USERS,创建用户时,如果没有指定用户的默认表空间,则会把数据库级别的默认表空间当做该用户的默认表空间。考虑一下几种情况:

1、  创建用户时没有指定用户默认表空间,那么将DB默认表空间作为用户默认表空间,此后,若修改了DB默认表空间,用户的表空间也会随之改变。

2、  创建用户时指定了默认表空间,该默认表空间为DB默认表空间。那么在修改DB默认表空间后,该用户的默认表空间也会随之改变。

3、  创建用户时指定了默认表空间,该默认表空间为非DB默认表空间的其他表空间。那么修改DB默认表空间不会影响该用户。

4、  DB默认表空间不能删除,除非将DB默认表空间指向其他表空间后才可删除。

5、  如果用户的默认表空间指向其他表空间(如3),当这个表空间被drop后,用户的默认表空间自动指向DB默认表空间。

 

==============================================================================

1、  查看当前DB默认表空间

SYS@ tsid > select property_value from database_properties where property_name='DEFAULT_PERMANENT_TABLESPACE';

 

PROPERTY_VALUE

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

TEST

 

2、  修改DB默认表空间

SYS@ tsid > alter database default tablespace users;

 

Database altered.

 

SYS@ tsid > select property_value from database_properties where property_name='DEFAULT_PERMANENT_TABLESPACE';

PROPERTY_VALUE

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

USERS

 

3、  创建用户test1,不指定默认表空间

SYS@ tsid > create user test1 identified by test1;

 

User created.

 

SYS@ tsid > select default_tablespace from dba_users where username='TEST1';

 

DEFAULT_TABLESPACE

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

USERS

   --TEST1默认表空间为USERS

4创建用户test2,指定默认表空间为DB默认表空间USERS

   SYS@ tsid > create user test2 identified by test2 default tablespace users;

 

User created.

 

SYS@ tsid > select default_tablespace from dba_users where username='TEST2';

 

DEFAULT_TABLESPACE

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

USERS

 

4、  创建用户test3,指定默认表空间为非DB默认表空间TEST

SYS@ tsid > create user test3 identified by test3 default tablespace test;

 

User created.

 

SYS@ tsid > select default_tablespace from dba_users where username='TEST3';

 

DEFAULT_TABLESPACE

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

TEST

 

=========================================================================

5、  修改DB默认表空间

SYS@ tsid > alter database default tablespace test;

 

Database altered.

6、  查看用户表空间变化情况

SYS@ tsid > select default_tablespace from dba_users where username='TEST1';

 

DEFAULT_TABLESPACE

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

TEST

       --test1默认表空间随DB默认表空间变为TEST

  

       SYS@ tsid > select default_tablespace from dba_users where username='TEST2';

 

DEFAULT_TABLESPACE

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

TEST

--test2默认表空间也随DB默认表空间变为TEST

 

SYS@ tsid > select default_tablespace from dba_users where username='TEST3';

 

DEFAULT_TABLESPACE

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

TEST

 

7、  试图删除默认表空间TEST

SYS@ tsid > drop tablespace test including contents and datafiles;

drop tablespace test including contents and datafiles

*

ERROR at line 1:

ORA-12919: Can not drop the default permanent tablespace

8、把DB默认表空间修改为USERS,再删除TEST表空间。

SYS@ tsid > alter database default tablespace users;

 

Database altered.

 

SYS@ tsid > drop tablespace test including contents and datafiles;

 

Tablespace dropped.

 

  查看test3的默认表空间

  SYS@ tsid > select default_tablespace from dba_users where username='TEST3';

 

DEFAULT_TABLESPACE

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

USERS

--test3默认表空间自动变为USERS

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25744374/viewspace-721489/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/25744374/viewspace-721489/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值