当前位置:操作系统 > Unix/Linux >>

[每日一题]11gOCP 1z0-052 :2013-08-31 数据库的存储结构

[每日一题]11gOCP 1z0-052 :2013-08-31 数据库的存储结构
 
 
正确答案:A
  将逻辑存储与物理存储分开是关系数据库范例的必要部分。关系数据库范例表明:编程人员只处理逻辑结构,而让数据库去管理到物理结构的映射。这意味着,可以重新组织物理存储,也可以将整个数据库移动到完全不同的硬件和操作系统上,而应用程序意识不到任何更改。
  如下图展示Oracle存储模型,逻辑结构在左,物理结构在右。
 
 
1、Oracle数据库逻辑结构
 (1)DATABASE:一个数据库可划分为多个称为表空间的逻辑存储单元。
如下查询一个数据库中有七个表空间
[html] 
gyj@OCM> select tablespace_name from dba_tablespaces;  
TABLESPACE_NAME  
------------------------------  
SYSTEM  
SYSAUX  
UNDOTBS1  
TEMP  
USERS  
EXAMPLE  
GYJ  
 
(2)TABLESPACE:只能属一个数据库,包括一个或多个文件。如下表空间GYJ下有两个数据文件。
[html] 
gyj@OCM> col tablespace_name for a20  
gyj@OCM> col file_name for a50  
 gyj@OCM> select tablespace_name,file_name from dba_data_files where tablespace_name='GYJ';  
TABLESPACE_NAME      FILE_NAME  
-------------------- --------------------------------------------------  
GYJ                  /u01/app/oracle/oradata/ocm/gyj01.dbf  
GYJ                  /u01/app/oracle/oradata/ocm/gyj02.dbf  
 
(3)SEGMENT:存在于表空间中,包含一个或多个区。
     包括:表段、表分区段、索引段、索引分区段、临时段、撤销段、BLOB、CLOB
[html] 
 gyj@OCM> select distinct segment_type from dba_segments;  
SEGMENT_TYPE  
------------------  
LOBINDEX  
INDEX PARTITION  
TABLE SUBPARTITION  
ROLLBACK  
TABLE PARTITION  
NESTED TABLE  
LOB PARTITION  
LOBSEGMENT  
INDEX  
TABLE  
TYPE2 UNDO  
CLUSTER  
 
查T1段所在的表空间、区的信息。
[html] 
gyj@OCM> select TABLESPACE_NAME,EXTENTS,BYTES/1024/1024||'M',BLOCKS from user_segments where segment_name='T1';  
TABLESPACE_NAME         EXTENTS BYTES/1024/1024||'M'                          BLOCKS  
-------------------- ---------- ----------------------------------------- ----------  
GYJ                           1 .0625M                                             8  
 
(4)EXTENT:由相邻的数据块的组成,这意味着每个区只能存在于一个数据文件中。
[html] 
gyj@OCM> select TABLESPACE_NAME,EXTENT_ID,FILE_ID,BLOCK_ID,BYTES,BLOCKS from dba_extents where segment_name='T1' and owner='GYJ';  
  
TABLESPACE_NAME       EXTENT_ID    FILE_ID   BLOCK_ID      BYTES     BLOCKS  
-------------------- ---------- ---------- ---------- ---------- ----------  
GYJ                           0          6        176      65536          8  
 
 
(5)BLOCK:是数据库中最小的I/O单元,db_block_size
 
[html] 
 gyj@OCM> show parameter db_block_size  
  
NAME                                 TYPE        VALUE  
------------------------------------ ----------- ------------------------------  
db_block_size                        integer     8192  
 
2、Oracle数据库物理结构     
 (1)、OS文件
      A、仅属于一个表空间
      B、是构成表空间的基础文件
 
 (2)、OS块
A、 tune2fs-l /dev/sda1
 
[html] 
[root@mydb ~]# tune2fs -l /dev/sda1  
tune2fs 1.39 (29-May-2006)  
Filesystem volume name:   /boot  
Last mounted on:          <not available>  
Filesystem UUID:          866e46b9-cb84-4271-b694-4ca3d25dc621  
Filesystem magic number:  0xEF53  
Filesystem revision #:    1 (dynamic)  
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super  
Default mount options:    user_xattr acl  
Filesystem state:         clean  
Errors behavior:          Continue  
Filesystem OS type:       Linux  
Inode count:              26104  
Block count:              104388  
Reserved block count:     5219  
Free blocks:              89230  
Free inodes:              26070  
First block:              1  
Block size:               1024  
Fragment size:            1024  
Reserved GDT blocks:      256  
Blocks per group:         8192  
Fragments per group:      8192  
Inodes per group:         2008  
Inode blocks per group:   251  
Filesystem created:       Mon Aug 12 19:59:14 2013  
Last mount time:          Sat Aug 31 20:35:07 2013  
Last write time:          Sat Aug 31 20:35:07 2013  
Mount count:              16  
Maximum mount count:      -1  
Last checked:             Mon Aug 12 19:59:14 2013  
Check interval:           0 (<none>)  
Reserved blocks uid:      0 (user root)  
Reserved blocks gid:      0 (group root)  
First inode:              11  
Inode size:               128  
Journal inode
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,