Oracle数据库自带表空间

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

本机测试建立一个新库,发现自带表空间如下:

下面对每一个表空间进行简单说明(部分内容引自网络):

1、SYSAUX表空间

SYSAUX表空间在Oracle Database 10g中引入,作为SYSTEM表空间的辅助表空间.以前一些使用独立表空间或系统表空间的数据库组件现在在SYSAUX表空间中创建.SYSAUX 表空间存放一些其他的 metadata 组件,如 OEM,Streams 等会默认存放在 SYSAUX 表空间里。通过分离这些组件和功能,SYSTEM表空间的负荷得以减轻.反复创建一些相关对象及组件引起SYSTEM表空间的碎片问题得以避免。

2、SYSTEM表空间

SYSTEM表空间是Oracle创建数据库时候自动创建的,每个Oracle数据库都会有SYSTEM表空间,而且SYSTEM表空间总是要保持在联机模式下,因为其包含了数据库运行所要求的基本信息,如:数据字典、联机求助机制、所有回退段、临时段和自举段、所有的用户数据库实体、其它ORACLE软件产品要求的表等等。

3、TEMP表空间

临时表空间用来管理数据库排序操作以及用于存储临时表、中间排序结果等临时对象,当ORACLE里需要用到SORT的时候,并且当PGA中sort_area_size大小不够时,将会把数据放入临时表空间里进行排序。像数据库中一些操作: CREATE INDEX、 ANALYZE、SELECT DISTINCT、ORDER BY、GROUP BY、 UNION ALL、 INTERSECT、MINUS、SORT-MERGE JOINS、HASH JOIN等都可能会用到临时表空间。当操作完成后,系统会自动清理临时表空间中的临时对象,自动释放临时段。这里的释放只是标记为空闲、可以重用,其实实质占用的磁盘空间并没有真正释放。这也是临时表空间有时会不断增大的原因。临时表空间存储大规模排序操作(小规模排序操作会直接在RAM里完成,大规模排序才需要磁盘排序Disk Sort)和散列操作的中间结果.它跟永久表空间不同的地方在于它由临时数据文件(temporary files)组成的,而不是永久数据文件(datafiles)。临时表空间不会存储永久类型的对象,所以它不会也不需要备份。另外,对临时数据文件的操作不产生redo日志,不过会生成undo日志。

4、UNDO表空间

UNDO表空间是Oracle特有的概念。undo表空间中会自动分配undo段,这些undo段用来保存事务中的DML语句的undo信息,也就是来保存数据在被修改之前的值。在rollback,实例恢复(前滚),一致性读CR块的构造时会使用到undo信息。由于undo的引入,从而Oracle的select语句实现一致性读时,不需要任何锁。undo表空间和其它表空间有很多类似的地方:undo数据块也会被读到buffer cache缓存起来,修改时也会产生redo log,数据也会写回到undo表空间的磁盘上。所以崩溃后,undo块的buffer cache也会恢复过来。

5、USERS表空间

创建用户必须为其指定表空间,如果没有显性指定默认表空间,则指定为users表空间,此用户所有信息都会放入到users表空间中。

原文地址:https://www.cnblogs.com/Jingkunliu/p/9198603.html

时间: 2024-11-10 12:01:37

Oracle数据库自带表空间的相关文章

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

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

【Oracle数据库】误删表空间文件【ora-01033ORA-01110】解决办法

今天整理电脑文件,误删了数据库文件,导致连接数据库时报错:ora-01033:oracle initialization or shutdown in progress 在DOS窗口下恢复文件过程记录如下: Microsoft Windows [版本 6.1.7601]版权所有 (c) 2009 Microsoft Corporation.保留所有权利. C:\Users\Administrator>set ORACLE_SID=orcl C:\Users\Administrator>sqlp

expdp导出oracle数据库中指定表空间下数据

大家在工作中,应该很多接触各种各样的数据库,笔者在此记录一下,我的一次导出数据经历. 工作环境是oracle+Linux(红帽系统,类似centos) 1.进入linux系统(这里不在赘余) 2.运行sqlplus,建议创建oracle用户 管理数据库,直接输入sqlplus 可能不行,需要修改系统的环境变量,我这里是用的 . /home/oracle/.bash_profile 临时改变系统环境变量 3.在进入sqlplus 中,创建目录路径:输入命令: create directory my

oracle数据库检查所有表空间使用率的脚本

REM tablespace report set linesize 200 select a.tablespace_name,round(a.bytes_alloc / 1024 / 1024) megs_alloc,round(nvl(b.bytes_free, 0) / 1024 / 1024) megs_free,round((a.bytes_alloc - nvl(b.bytes_free, 0)) / 1024 / 1024) megs_used,round((nvl(b.bytes

oracle下的数据库实例、表空间、用户及其表的区分

oracle数据库组成: 由oracle数据库和数据库实例两部分组成: 数据库是指一系列数据文件的集合,数据库实例则是oracle后台进程/线程以及在服务器分配的共享内存区: 查询当前数据库名 1 SQL> select name from v$database; 2 3 NAME 4 --------- 5 ORCL 查询当前数据库实例名 数据库实例名(instance_name)用于对外部连接.在操作系统中要取得与数据库的联系,必须使用数据库实例名.比如我们作开发,要连接数据库,就得连接数据

Oracle bigfile 大文件表空间

Database 是由一个或多个被称为表空间(tablespace)的逻辑存储单位构成.表空间内的逻辑存储单位为段(segment),段又可以继续划分为数据扩展(extent).而数据扩展是由一组连续的数据块(datablock)构成. 大文件表空间 在Oracle中用户可以创建大文件表空间(bigfile tablespace).这样Oracle数据库使用的表空间(tablespace)可以由一个单一的大文件构成,而不是若干个小数据文件.这使Oracle可以发挥64位系统的能力,创建.管理超大

Linux下Oracle启动、建立表空间、用户、授权、数据库导入导出

1.1进入到sqlplus启动实例 [[email protected] ~]$ su - oracle                                 --“切换到oracle用户”[[email protected] ~]$ lsnrctl start                               --“打开监听”[[email protected] ~]$ sqlplus /nolog                                --“进入到

Oracle 数据库 数据文件 表 表空间 用户的关系

这涉及到数据库的物理结构和逻辑结构. 首先,你需要明白的一点是:数据库的物理结构是由数据库的操作系统文件所决定,每一个Oracle数据库是由三种类型的文件组成:数据文件.日志文件和控制文件.数据库的文件为数据库信息提供真正的物理存储. 每一个Oracle数据库有一个或多个物理的数据文件(data file).一个数据库的数据文件包含全部数据库数据.逻辑数据库结构(如表.索引等)的数据物理地存储在数据库的数据文件中.数据文件通常为*.dbf格式,例如:userCIMS.dbf.数据文件有下列特征:

Oracle sql语句创建表空间、数据库、用户及授权

--创建表空间和数据库文件及默认表空间大小 create tablespace TableSpace_Test datafile 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DataBase_Test.DBF' size 200m; --设置数据库自动增长 alter database datafile 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DataBase_Test.DBF' autoextend on; --创建用户