实例讲解Oracle数据库设置默认表空间问题

 
实例讲解Oracle数据库设置默认表空间问题,阅读实例讲解Oracle数据库设置默认表空间问题,DBA们经常会遇到一个这样令人头疼的问题:不知道谁在Oracle上创建了一个用户,创建时,没有给这个用户指定默认表空间,所以这个用户就会采用默认的表空间——system表空
 

DBA们经常会遇到一个这样令人头疼的问题:不知道谁在Oracle上创建了一个用户,创建时,没有给这个用户指定默认表空间,所以这个用户就会采用默认的表空间——system表空间。导致系统表空间迅速被用户数据占满,直至宕机。

在10G中,DBA有办法避免这种问题了——在线指定系统默认表空间:

ALTER DATABASE DEFAULT TABLESPACE ;

通过执行以上命令,可以设定系统的默认表空间。这样的话,在创建新用户时,如果不指定他的默认表空间,就会采用上面指定的系统默认表空间作为这个用的默认表空间。

SQL>conn /as sysdba

SQL> create user test1 identified by test1 default tablespace ringidx;

用户已创建。

SQL> alter database default tablespace ring;

数据库已更改。

SQL> create user test identified by test;

用户已创建。

SQL> select username, default_tablespace defspace from dba_users where

username=’TEST’;

USERNAME DEFSPACE

————– —————-

TEST RING

但是要注意的是,一旦将系统默认表空间修改了以后,原有的所有普通用户的默认表空间都会被指定为这个表空间,如上例中test1,创建时指定了他的默认表空间为ringidx,执行了’alter database default tablespace ring’后,他的默认表空间也被改为了ring。

SQL> select username, default_tablespace defspace from dba_users where

username=’TEST1′;

USERNAME DEFSPACE

————– —————-

TEST1 RING

为非核心的系统用户指定一个特殊的默认表空间

在创建Oracle实例时,除了创建了如sys、system等系统核心的用户外,还会创建一些诸如dbsnmp、odm、perfstat等非核心的用户。这些用户在9i中都是以system作为他们的默认表空间。这些用户一旦被使用,也会产生较大的数据量占用system表空间。

在Oracle10G当中,使用了一个新的表空间SYSAUX作为这些用户的默认表空间。这个表空间在实例创建是就创建了,除了他的数据文件名可以被修改外,其他都不允许被修改。

Oracle的这一改变可以使当system表空间损坏时对数据库做全库恢复。在sysaux中的对象可以恢复成普通对象,而数据库能保持正常运行。

如果DBA想要将sysaux表空间中的用户转移到其他表空间去该如何做呢。在10G中,专门为此提供一个视图V$SYSAUX_OCCUPANTS来描述如何转移这些用户的表空间。

select * from V$SYSAUX_OCCUPANTS where OCCUPANT_NAME = ‘ODM’

OCCUPANT_NAME OCCUPANT_DESC SCHEMA_NAME MOVE_PROCEDURE MOVE_PROCEDURE_DESC SPACE_USAGE_KBYTES

————- ————- ———– ————– ——————- ——————

ODM Oracle Data Mining DMSYS MOVE_ODM Move Procedure for Oracle Data Mining 5568

1 rows selected

如上,如果要将改变ODM的表空间,可以使用存储过程MOVE_ODM,当前它占用了5568kb的表空间。

为表空间改名

这Oracle10G表空间增强中一个令人心动的改变。

这项功能允许改变数据库中除system和sysaux外任意一个表空间的名字。

ALTER TABLESPACE RENAME TO ;

有了这项功能,将会让很多事情变得非常简单。

有DBA可能会担心,一旦一个表空间的名字改变了,而且它已经被使用了很长时间了,会不会引起系统的混乱?这个不用担心,执行了上面的语句后,Oracle会将系统中所有相关的数据字典的内容全部更新:

SQL> alter tablespace ring rename to ring1;

表空间已更改。

SQL> select username, default_tablespace defspace from dba_users where username=’TEST’;

USERNAME DEFSPACE

————– —————-

TEST RING1

实例讲解Oracle数据库设置默认表空间问题的更多相关文章

  1. 2. oracle创建表空间、用户并设置默认表空间、授权

    1.创建用户并设置默认表空间 create tablespace tablespacename datafile 'tablespacename.dbf' size 200m autoextend o ...

  2. Oracle数据库之创建表空间与用户

    Oracle数据库之创建表空间与用户 一.创建表空间 基本语法表述: CREATE TABLESPACE tablespace_name [DATAFILE datafile_spec1 [,data ...

  3. Oracle 数据库中查看表空间的2种方法

    在Oracle数据库中查看表空间使用状况是我们在实际应用中经常涉及到的,以下的内容就就是对Oracle 数据库中查看表空间使用状况时所要用到的SQL的描述,希望你能从中获得自己想要的东西. Oracl ...

  4. Oracle数据库自带表空间的详细说明

    1.SYSAUX表空间 SYSAUX表空间在Oracle Database 10g中引入,作为SYSTEM表空间的辅助表空间.以前一些使用独立表空间或系统表空间的数据库组件现在在SYSAUX表空间中创 ...

  5. Oracle数据库自带表空间

    需求:需要整理现场用户创建的表空间以及其存储数据,进行规范化管理.在整理用户现场建立的表空间时,需要排除掉非用户创建的表空间,所有首先需要那些表空间是用户创建的,那些是Oracle自带的. 本机测试建 ...

  6. Oracle 数据库创建、表空间创建、用户创建 步骤

    一.数据库创建: 1.利用数据库配置助手(DBCA,Database Configuration Assistant)图形化方式 2.创建完成之后,找到  D:\oracle\product\11.2 ...

  7. Oracle数据库不能创建表空间及表中文乱码问题

    1.不能创建表空间问题 datafile为表空间的存放位置,没有将表空间存放路径指定为orcl数据库时,创建表空间出错如下 查看自己的Oracle安装位置,我的Oracle10g安装在虚拟XP系统中, ...

  8. Oracle数据库用户及表空间操作

    //创建数据表空间 create tablespace test_data datafile '/u01/user_data.dbf' size 50m autoextend on next 50m ...

  9. oracle数据库如何创建表空间,临时表空间

    目标 1.创建表空间 lxy 2.创建临时表空间tmp_lxy create tablespace lxy datafile '/u01/app/oracle/oradata/LXY/lxy.dbf' ...

随机推荐

  1. Greedy:Physics Experiment(弹性碰撞模型)(POJ 3848)

    物理实验 题目大意:有一个与地面垂直的管子,管口与地面相距H,管子里面有很多弹性球,从t=0时,第一个球从管口求开始下落,然后每1s就会又有球从球当前位置开始下落,球碰到地面原速返回,球与球之间相碰会 ...

  2. 常用工具和API的网站收集

    1.小图标在线查找 https://www.iconfinder.com/ 2.在线做图,Flowchart流程图,BPMN图,Org组织结构图等 http://www.processon.com/ ...

  3. OC正则表达式的简单使用

    最近落实工作的事情后终于有时间可以写博客了 今天带来的是正则表达式的一般使用方法 我们平时在对字符串构成就行判断的时候,一般利用其单个字符进行条件判断 但如果判断的条件稍微复杂一点,那对单个字符判断就 ...

  4. BZOJ 2753 [SCOI2012] 滑雪和时间胶囊 最小生成树

    题目链接: 题目 2753: [SCOI2012]滑雪与时间胶囊 Time Limit: 50 Sec Memory Limit: 128 MB 问题描述 a180285非常喜欢滑雪.他来到一座雪山, ...

  5. C/C++产生随机数

    <一> C/C++如何产生随机数:这里要用到的是rand()函数, srand()函数,C语言/C++里没有自带的random(int number)函数. (1)  假设你仅仅要产生随机 ...

  6. FFmpeg发送流媒体的命令(UDP,RTP,RTMP)

    http://blog.csdn.net/leixiaohua1020/article/details/38283297

  7. 升级iOS8系统后,保险箱Pro、私人保险箱、私密相冊打开就闪退的官方解决方式

    升级iOS8系统后,保险箱Pro.私人保险箱.私密相冊打开就闪退的官方解决方式   写在前面的话: 1.   本文适用条件    适用于:您的保险箱Pro.私人保险箱.私密相冊在iPhone或iPad ...

  8. ASP.NET Core 源码学习之 Options[1]:Configure

    配置的本质就是字符串的键值对,但是对于面向对象语言来说,能使用强类型的配置是何等的爽哉! 目录 ASP.NET Core 配置系统 强类型的 Options Configure 方法 源码解析 ASP ...

  9. 完整版本的推箱子小游戏,最简单的纯C语言打造

    /* 推箱子小游戏 1.定义绘制样式 用二维数组的方式 2.绘制图像 3.找出当前位置 4.逻辑判断,制造动作 根据数学xy轴的规律,这里使用ij 上移,行轴上升,行数减少 下移,行数下降,函数增加 ...

  10. union的特性,去重与不去重

    转载:https://blog.csdn.net/kingmax54212008/article/details/33762921 union的特性,去重与不去重 集合操作有 并,交,差 3种运算. ...