您的位置:首页 > 数据库 > Oracle

第十六讲--Oracle存储结构:表空间

2016-03-21 22:04 351 查看
控制文件,数据文件,重做日志一定要放在存储上。

存储有三种组织形式:

1. 文件系统(很少);

2. ASM;

3. 裸设备;

Oracle有很多表同时也有很多dbf文件,oracle并没有直接将表放到某个dbf文件上。

而是在表与dbf文件之间加一层表空间。一个表空间由一个或者多个dbf文件组成,表空间就是多个dbf集合起来起的名字。表空间的物理空间就是其包含的dbf文件的总和。我们建表的时候是将表建在表空间上。

查看表空间:

SQL> select *from dba_tablespaces;




1. SYSTEM表空间,放的是oracle系统自身的信息,oracle自身的信息放在数据字典里,数据字典是一些表,这些表放在SYSTEM表空间里面;

2. SYSAUX是SYSTEM表空间的附属表空间,一个辅助表空间。放的是一些不怎么重要的系统信息,但是SYSTEM和SYSAUX这两个表空间必须同时在线,不然数据库启动不起来;

3. UNDOTBS1,我要改变一个数据块,oracle就把改变前的数据放到UNDOTBS1里;

4. TEMP临时表空间,如果PGA排序不够的话就会用到临时表空间;

以上是系统级别的四个表空间,不放用户数据。USER和EXAMPLE两个在生产环境里没有的。



Oracle是多表空间的架构,SQL server是多库架构。

SQL server有maser、model、temp等数据库组成一个大数据库。而oracle只有一个数据库,但是有多个表空间。



一个表就是一个段,段的名字和表的名字是一样的。区是物理上连续的多个块,一个oracle块(默认8K)由一个或多个磁盘块组成。



一个scheme(方案)就是一个用户,一个数据库由一个或多个用户组成。每个用户都有一堆段,不可能出现一个段不属于任何用户。Oracle通过用户把段组织起来,如果把用户删了那么用户拥有的段也没了。

查看oracle的用户:

SQL> select username, user_id from dba_users;

USERNAME                          USER_ID

------------------------------ ----------

MGMT_VIEW                              53

SYS                                     0

SYSTEM                                  5

DBSNMP                                 24

SYSMAN                                 51

OUTLN                                  11

MDSYS                                  46

ORDSYS                                 43

EXFSYS                                 34

DMSYS                                  35

WMSYS                                  25

USERNAME                          USER_ID

------------------------------ ----------

CTXSYS                                 36

ANONYMOUS                              39

XDB                                    38

ORDPLUGINS                             44

SI_INFORMTN_SCHEMA                     45

OLAPSYS                                47

SCOTT                                  54

TSMSYS                                 21

BI                                     60

PM                                     59

MDDATA                                 50

USERNAME                          USER_ID

------------------------------ ----------

IX                                     57

SH                                     58

DIP                                    19

OE                                     56

HR                                     55

27 rows selected.

查看oracle段的情况:

SQL> select owner,segment_name from dba_segments;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: