Oracle Data Files

来源:互联网 发布:知乎排名规则 编辑:程序博客网 时间:2024/06/08 09:05

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

Oracle表空间和数据文件

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

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

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

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



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

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

Logical components of a DB

TablespaceSegmentSegmentExtentExtentExtentExtentBlockBlockBlockBlockBlockBlockBlockBlock


- 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.



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


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


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


查看表空间信息

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                     5242880D:\ORACLE\PRODUCT\10.1.0\ORADATA\TEST\SYSAUX01.DBF                  SYSAUX                  283115520D:\ORACLE\PRODUCT\10.1.0\ORADATA\TEST\UNDOTBS01.DBF                 UNDOTBS1                 47185920D:\ORACLE\PRODUCT\10.1.0\ORADATA\TEST\SYSTEM01.DBF                  SYSTEM                  471859200D:\ORACLE\PRODUCT\10.1.0\ORADATA\TEST\EXAMPLE01.DBF                 EXAMPLE                 157286400SQL>

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  YES6 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   NOUNDOTBS1                             8192          65536                       1  2147483645                65536 ONLINE    UNDO         LOGGING   NO  LOCAL      SYSTEM    NO  MANUAL DISABLED NOGUARANTEE NOSYSAUX                               8192          65536                       1  2147483645                65536 ONLINE    PERMANENT LOGGING   NO  LOCAL         SYSTEM    NO  AUTO   DISABLED NOT APPLY   NOTEMP                                 8192        1048576     1048576           1                     0    1048576 ONLINE    TEMPORARY NOLOGGING NO  LOCAL         UNIFORM   NO  MANUAL DISABLED NOT APPLY   NOUSERS                                8192          65536                       1  2147483645                65536 ONLINE    PERMANENT LOGGING   NO  LOCAL         SYSTEM    NO  AUTO   DISABLED NOT APPLY   NOEXAMPLE                              8192          65536                       1  2147483645                65536 ONLINE    PERMANENT LOGGING   NO  LOCAL         SYSTEM    YES AUTO   DISABLED NOT APPLY   NO6 rows selected.SQL>

补充:

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


EM上查看表空间

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


不可或缺的几个表空间
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===

原创粉丝点击