[回归基础]Oracle表空间和数据文件

Oracle表空间和数据文件

ORACLE数据库被划分成的若干逻辑区域称作为表空间,这些逻辑区域用于把相关的数据文件分组管理,总之,表空间:是一个或多个数据文件的逻辑集合。

每一个数据库包含一个或者多个表空间;一个表空间里又有一个或者多个物理的数据文件;一个数据文件只能属于一个表空间;

表空间是ORACLE数据库恢复的最小单位。

[回归基础]Oracle表空间和数据文件_第1张图片

表空间和数据文件在数据库中的位置


[回归基础]Oracle表空间和数据文件_第2张图片

逻辑结构:Database数据库---> Tablespace(表空间)---> segment(段)--->extent(区间)----> block(块) (从左到右都为一对多的关系)
逻辑结构是Oracle内部管理数据库中对象的方式

物理结构:OS block --->Data File 物理结构通常是一系列数据文件

Logical components of a DB

Tablespace
Segment Segment
Extent Extent Extent Extent
Block Block Block Block Block Block Block Block


- Block:

  • its size must be a multiple of the OS block size.
  • the block size is defined at DB-creation by setting the parm DB_BLOCK_SIZE.

- Extent: group of continuous blocks
- Segment:

  • group of extents.
  • multiple extents for the same segment can be on different data files of the same tablespace.
  • One table has 1 segment (exception: partitioned tables - as well with tablespaces)
  • There are 4 types of extent:
    • data
    • index
    • temporary
    • undo

- Tablespace: group of segments.



下图为一个表空间的示意图

[回归基础]Oracle表空间和数据文件_第3张图片


你可以创建一个新的表空间(至少包含一个数据文件)来增加数据库的容量。

[回归基础]Oracle表空间和数据文件_第4张图片


随着数据文件的增长,表空间也会随之增长。

[回归基础]Oracle表空间和数据文件_第5张图片


查看表空间信息

dba_datafiles

SQL> SELECT FILE_NAME,TABLESPACE_NAME,BYTES from dba_data_files;

FILE_NAME TABLESPACE_NAME BYTES 
---------------------------------------------------------------------------------------------------
D:\ORACLE\PRODUCT\10.1.0\ORADATA\TEST\USERS01.DBF USERS 5242880
D:\ORACLE\PRODUCT\10.1.0\ORADATA\TEST\SYSAUX01.DBF SYSAUX 283115520
D:\ORACLE\PRODUCT\10.1.0\ORADATA\TEST\UNDOTBS01.DBF UNDOTBS1 47185920
D:\ORACLE\PRODUCT\10.1.0\ORADATA\TEST\SYSTEM01.DBF SYSTEM 471859200
D:\ORACLE\PRODUCT\10.1.0\ORADATA\TEST\EXAMPLE01.DBF EXAMPLE 157286400

SQL>

v$tablespace

SQL> select * from v$tablespace;

       TS# NAME                           INC BIG FLA
---------- ------------------------------ --- --- ---
         0 SYSTEM                         YES NO  YES
         1 UNDOTBS1                       YES NO  YES
         2 SYSAUX                         YES NO  YES
         4 USERS                          YES NO  YES
         3 TEMP                           YES NO  YES
         6 EXAMPLE                        YES NO  YES

6 rows selected.

SQL>
dba_tablespaces
SQL> select * from dba_tablespaces;

TABLESPACE_NAME                BLOCK_SIZE INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS PCT_INCREASE MIN_EXTLEN STATUS    CONTENTS  LOGGING   FOR EXTENT_MAN ALLOCATIO PLU SEGMEN DEF_TAB_ RETENTION   BIG
------------------------------ ---------- -------------- ----------- ----------- ----------- ------------ ---------- --------- --------- --------- --- ---------- --------- --- ------ -------- ----------- ---
SYSTEM                               8192          65536                       1  2147483645                65536 ONLINE    PERMANENT LOGGING   NO  LOCAL         SYSTEM    NO  MANUAL DISABLED NOT APPLY   NO
UNDOTBS1                             8192          65536                       1  2147483645                65536 ONLINE    UNDO         LOGGING   NO  LOCAL      SYSTEM    NO  MANUAL DISABLED NOGUARANTEE NO
SYSAUX                               8192          65536                       1  2147483645                65536 ONLINE    PERMANENT LOGGING   NO  LOCAL         SYSTEM    NO  AUTO   DISABLED NOT APPLY   NO
TEMP                                 8192        1048576     1048576           1                     0    1048576 ONLINE    TEMPORARY NOLOGGING NO  LOCAL         UNIFORM   NO  MANUAL DISABLED NOT APPLY   NO
USERS                                8192          65536                       1  2147483645                65536 ONLINE    PERMANENT LOGGING   NO  LOCAL         SYSTEM    NO  AUTO   DISABLED NOT APPLY   NO
EXAMPLE                              8192          65536                       1  2147483645                65536 ONLINE    PERMANENT LOGGING   NO  LOCAL         SYSTEM    YES AUTO   DISABLED NOT APPLY   NO

6 rows selected.

SQL>

补充:

V$开头的,oracle叫做"dynamic performance view"动态性能视图,其数据存放在内存中,动态变化,一旦关闭实例,里面的数据就会被清空,启动实例后被重新设置。
DBA_,user_,all_,相关的视图,oracle 叫做"data dictionary view" 数据字典视图,数据存放在表中的,关闭实例后,数据不会被清空。


EM上查看表空间

Enterprise Manager > 管理 > 表空间,这里可以更清楚的了解表空间的容量占有率情况,以及可以对表空间,编辑,删除...

[回归基础]Oracle表空间和数据文件_第6张图片


不可或缺的几个表空间
SYSTEM --->字典表空间,不能被损坏
UNDO --->dml,dql把数据快照到此,数据提交即消失(用于恢复)
SYSAUX --->10g 高并发系统繁忙时,会造成system争用,将工具放到SYSAUX,减轻system的压力,SYSAUX不影响系统(影响性能)
TEMP --->临时数据相关的内容
USERS --->10g 用户数据从system拨离出来


参考资料:

http://docs.oracle.com/cd/B19306_01/server.102/b14220/physical.htm

http://blog.csdn.net/robinson_0612/article/details/5611738

http://docs.oracle.com/cd/E14072_01/server.112/e10713/logical.htm


转载请注明出处:http://blog.csdn.net/pan_tian/article/details/7796995

===EOF===

你可能感兴趣的:(oracle)