本文转自:

http://blog.csdn.net/tianlesoftware/article/details/7084700

一.默认表空间说明

在oracle9i中,如果未用 DEFAULT TABLESPACE 子句创建的所有用户将以SYSTEM表空间作为它们的默认表空间。同时也不能为数据库指定一个默认的表空间。

在Oracle 10g中定义了数据库级别的默认表空间USERS,在创建用户时没有定义默认表空间,就会把数据库级别的默认表空间当作自己的默认表空间。

在10g以前,是把系统表空间(SYSTEMS)当作默认表空间。这样很不合理。

可以使用如下命令查看默认表空间:

[sql] view plaincopyprint?
  1. /* Formatted on 2011/12/19 15:57:48(QP5 v5.185.11230.41888) */
  2. SELECT PROPERTY_VALUE
  3. FROM database_properties
  4. WHERE PROPERTY_NAME = 'DEFAULT_PERMANENT_TABLESPACE'

/* Formatted on 2011/12/19 15:57:48(QP5 v5.185.11230.41888) */ SELECT PROPERTY_VALUE FROM database_properties WHERE PROPERTY_NAME = 'DEFAULT_PERMANENT_TABLESPACE'
可以使用如下命令修改默认表空间:

ALTER DATABASE DEFAULT TABLESPACE users;

 

这里有几个注意事项:

1.     如果我们在创建用户时指定了默认表空间,那么在修改默认表空间后,之前用户的默认表空间也会发生改变。

2.     如果我们在创建用户时没有指定用户表空间,那么默认也会使用DB的默认表空间,这时候如果我们修改了DB的默认表空间,用户的表空间也会发生改变。

3.     如果我们在创建用户指定用户的表空间是其他的表空间,那么我们修改DB的默认表空间不会影响用户的表空间。

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

5.     如果用户的默认表空间指向其他的表空间,当这个表空间被drop 之后,用户的默认表空间会自动指向DB的默认表空间。

二.示例

2.1查看DB 版本:

SQL> select * from v$version;

BANNER

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

Oracle Database 11g Enterprise EditionRelease 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

2.2查看当前的默认表空间

SQL> SELECT PROPERTY_VALUE

2    FROM database_properties

3   WHERE PROPERTY_NAME ='DEFAULT_PERMANENT_TABLESPACE';

PROPERTY_VALUE

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

USERS

2.3 创建用户,不指定默认表空间

SQL> create user dave1 identified bydave1;

User created.

SQL> select default_tablespace from dba_users where username ='DAVE1';

DEFAULT_TABLESPACE

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

USERS

--默认表空间为users。

2.4 创建用户指定默认表空间为DB的默认表空间

SQL> create user dave2 identified by dave2 default tablespace users;

User created.

SQL> select default_tablespace fromdba_users where username ='DAVE2';

DEFAULT_TABLESPACE

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

USERS

2.5 创建用户指定的默认表空间为其他表空间

--创建表空间:

SQL> create tablespace dave3 datafile'D:\APP\ADMINISTRATOR\ORADATA\NEWCCS\dave3.dbf' size 10M;

Tablespace created.

--创建用户:

SQL> create user dave3 identified by dave3 default tablespace dave3;

User created.

SQL> select default_tablespace from dba_users where username ='DAVE3';

DEFAULT_TABLESPACE

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

DAVE3

2.6 修改DB的默认表空间

SQL> ALTER DATABASE DEFAULT TABLESPACEdave3;

Database altered.

2.7 查看之前创建用户的表空间

SQL> select default_tablespace from dba_users where username ='DAVE3';

DEFAULT_TABLESPACE

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

DAVE3

SQL> select default_tablespace fromdba_users where username ='DAVE2';

DEFAULT_TABLESPACE

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

DAVE3

SQL> select default_tablespace fromdba_users where username ='DAVE1';

DEFAULT_TABLESPACE

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

DAVE3

--注意这里Dave1,dave2用户的默认表空间都变成了dave3.

2.8 DB的默认表空间不能删除

--现在dave3是我们的默认表空间

SQL> SELECT PROPERTY_VALUE

2    FROM database_properties

3   WHERE PROPERTY_NAME ='DEFAULT_PERMANENT_TABLESPACE'

4  ;

PROPERTY_VALUE

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

DAVE3

--drop dave3 看看:

SQL> drop tablespace dave3 includingcontents and datafiles;

drop tablespace dave3 including contentsand datafiles

*

ERROR at line 1:

ORA-12919: Can not drop the defaultpermanent tablespace

这里报错ORA-12919.

我们把默认表空间改成USERS,在测试:

SQL> ALTER DATABASE DEFAULT TABLESPACEUSERS;

Database altered.

SQL> drop tablespace dave3 including contents and datafiles;

Tablespace dropped.

Dave3表空间成功drop。 注意,我们的dave3用户的表空间之间是指向dave3的,现在我们把dave3表空间drop了,我们看一下dave3 现在默认表空间:

SQL> select default_tablespace from dba_users where username ='DAVE3';

DEFAULT_TABLESPACE

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

USERS

--这里自动变成了我们的DB 默认的表空间。

Oracle 默认表空间(default permanent tablespace) 说明相关推荐

  1. oracle not empty,oracle 删除表空间错误 ORA-01549: tablespace not empty, use INCLUDING CONTENTS option...

    oracle 删除表空间错误 ORA-01549: tablespace not empty, use INCLUDING CONTENTS option 2020-05-21 15:58:04 删除 ...

  2. 默认表空间位置oracle,oracle 默认表空间

    一般的,创建oracle时,系统默认的表空间名是USER,但是有的时候不知道怎么弄得,它可能就改变了,如果你知道默认表空间名已经改变那也就没什么事了,但纠结的是,自己根本不知道它已经改了.这时候,方便 ...

  3. oracle 默认表空间 10g,Oracle10g 表空间管理

    1.表空间分类: (1)临时表空间:存放临时数据 (2)数据表空间:又称为用户表空间,用来存放永久数据(不删除永久存在) (3)日志表空间:用来存放日志信息 一般情况下,用户使用时只需要创建数据表空间 ...

  4. oracle 默认表空间 10g,oracle 10G 收缩表空间

    如果经常在表上执行DML操作,会造成数据库块中数据分布稀疏,浪费大量空间.同时也会影响全表扫描的性能,因为全表扫描需要访问更多的数据块.从oracle10g开始,表可以通过shrink来重组数据使数据 ...

  5. oracle 创建表空间 pcincrease,oracle建表空间 各种语句

    oracle建表空间 各种语句 在创建用户之前,先要创建表空间: 其格式为:格式: create tablespace 表间名 datafile '数据文件名' size 表空间大小; 如: SQL& ...

  6. linux pdb创建表空间,ORACLE12C PDB创建默认表空间和用户语句(示例代码)

    第一次接触到12C CDB和PDB数据库,且客户提供的是ORACLE一体机,只有访问权,费劲周折,今记录12C创建默认路径表空间语句和用户 --创建默认表空间: create tablespace t ...

  7. Oracle创建表空间、创建用户以及授权

    原文地址:Oracle创建表空间.创建用户以及授权 作者:chinacoolsword Oracle安装完后,其中有一个缺省的数据库,除了这个缺省的数据库外,我们还可以创建自己的数据库. 对于初学者来 ...

  8. oracle 创建表空间 pcincrease,oracle建表空间

    在创建用户之前,先要创建表空间: 其格式为:格式:  create tablespace表间名datafile '数据文件名' size表空间大小; 如: SQL> create tablesp ...

  9. oracle建表空间

    在创建用户之前,先要创建表空间: 其格式为:格式:  create tablespace 表间名 datafile '数据文件名' size 表空间大小; 如: SQL> create tabl ...

最新文章

  1. vue 时间插件_Vue3 插件开发详解尝鲜版「值得收藏」
  2. @Cacheable原理
  3. linux安装pgsql源码包解压,在Linux(centos)中使用源码安装pgRouting
  4. 一大波人气博主袭来,现场直播华为全联接2020!
  5. 《数学的思维方式与创新》课程感悟与总结
  6. 华为宣布今年将投入2亿美元推动鲲鹏计算产业发展
  7. RabbitMQ学习总结(1)——基础概念详细介绍
  8. XML配置文件的智能感知(IntelliSense)功能
  9. PrimaDonna智能咖啡机,咖啡也要私人定制
  10. opencv 梯度幅值_20、 OpenCV导数和梯度
  11. Linux基础入门命令汇总(2022.03.30更新)
  12. vlan 的三种模式
  13. 也谈正方形不是长方形
  14. 纯html+css实现点击切换tab页
  15. windows防火墙开端口失败
  16. 看狄仁杰如何让武则天戒色的
  17. PP模块常用数据库表
  18. Python|求a + aa + aaa + … + aa…a的值
  19. web,java,poi导出excel
  20. 你看得到工具的本质吗

热门文章

  1. phpcms模型缓存更新原理分析(转)
  2. 转:Linux 2.4.x内核软中断机制
  3. 微软SQL Server 2012新特性Silverlight报表客户端 - Power View
  4. 求出给定节点在二叉排序树中的层次
  5. Jedis的使用及SpringBoot整合Redis
  6. 监听浏览器的返回事件,禁止浏览器返回
  7. python求列表的平均值的用法_python如何求列表平均值?_后端开发
  8. 地址后面的sessionid怎么消除_水泥地面起灰起砂不平怎么解决?
  9. 【题解】牛客小白月赛16(部分题,待补充……)
  10. 今天讲讲hibernate的简单使用