Oracle Data Files

数据文件和重做日志文件是数据库中最重要的文件。你的数据最终就是要存储在数据文件中。

Oracle表空间和数据文件

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

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

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

Oracle Data Files_第1张图片

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


Oracle Data Files_第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 Data Files_第3张图片


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

Oracle Data Files_第4张图片


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

Oracle Data Files_第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 Data Files_第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,数据库,System,logging,Dictionary)