Oracle10g数据库中表空间和数据文件之间的关系

时间:2022-09-03 12:20:24
 
Oracle10g数据库中表空间和数据文件之间的关系
 

什么是表空间?

Oracle数据库在逻辑上划分为一个或者多个表空间(TABLESPACE)。Oracle表空间是包含物理数据文件的逻辑实体。一个表空间中可以包含一个或者多个数据文件。而数据文件是Oracle数据库的物理组成部分,是物理概念。一个数据文件只能隶属于一个表空间。Oracle数据库中每一个表都属于一个给定的表空间中,通过表空间的逻辑形式管理数据表。
 
Oracle10g数据库中必备的默认的表空间
 
SQL> select ts#,name from v$tablespace;
 
       TS# NAME
---------- ------------------------------
         0 SYSTEM
         1 UNDOTBS1
         2 SYSAUX
         4 USERS
         3 TEMP
         6 EXAMPLE
 
已选择6行。
 
表空间与数据文件之间的对应关系
 
SQL> select t.ts#,t.name,d.ts#,d.name from v$tablespace t,v$datafile d
2         where t.ts#=d.ts#;
 
       TS# NAME                        TS# NAME
---------- -------------------- ---------- --------------------
         0 SYSTEM                        0 D:/ORACLE/ORADATA/OR
                                           AMGR/SYSTEM01.DBF
 
         1 UNDOTBS1                      1 D:/ORACLE/ORADATA/OR
                                           AMGR/UNDOTBS01.DBF
 
         2 SYSAUX                        2 D:/ORACLE/ORADATA/OR
                                           AMGR/SYSAUX01.DBF
 
         4 USERS                         4 D:/ORACLE/ORADATA/OR
                                           AMGR/USERS01.DBF
 
       TS# NAME                        TS# NAME
---------- -------------------- ---------- --------------------
 
         6 EXAMPLE                       6 D:/ORACLE/ORADATA/OR
                                           AMGR/EXAMPLE01.DBF
 
 

为什么使用表空间

u       表空间允许更容易将空间限额分配给不同的数据库用户
u       表空间允许你执行基于表空间的部分备份和恢复
u       由于像数据仓库分区表这样的大对象可以分布在几个表空间上,因此,可以通过使表空间横跨几个磁盘和控制器来提高性能
u       可以使一个表空间脱机而不必停止整个个数据库
u       表空间是分配数据库空间的一种便利方法
u       通过使用表空间级的导入和导出实用程序可以导入和导出指定的应用数据