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

来源:互联网 发布:水手怕水 知乎 编辑:程序博客网 时间:2024/06/04 19:02

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


正确答案:A

  将逻辑存储与物理存储分开是关系数据库范例的必要部分。关系数据库范例表明:编程人员只处理逻辑结构,而让数据库去管理到物理结构的映射。这意味着,可以重新组织物理存储,也可以将整个数据库移动到完全不同的硬件和操作系统上,而应用程序意识不到任何更改。

  如下图展示Oracle存储模型,逻辑结构在左,物理结构在右。

 

 

1、Oracle数据库逻辑结构

 (1)DATABASE:一个数据库可划分为多个称为表空间的逻辑存储单元。

如下查询一个数据库中有七个表空间

gyj@OCM> select tablespace_name from dba_tablespaces;TABLESPACE_NAME------------------------------SYSTEMSYSAUXUNDOTBS1TEMPUSERSEXAMPLEGYJ

(2)TABLESPACE:只能属一个数据库,包括一个或多个文件。如下表空间GYJ下有两个数据文件。

gyj@OCM> col tablespace_name for a20gyj@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.dbfGYJ                  /u01/app/oracle/oradata/ocm/gyj02.dbf


(3)SEGMENT:存在于表空间中,包含一个或多个区。

     包括:表段、表分区段、索引段、索引分区段、临时段、撤销段、BLOBCLOB

 gyj@OCM> select distinct segment_type from dba_segments;SEGMENT_TYPE------------------LOBINDEXINDEX PARTITIONTABLE SUBPARTITIONROLLBACKTABLE PARTITIONNESTED TABLELOB PARTITIONLOBSEGMENTINDEXTABLETYPE2 UNDOCLUSTER

T1段所在的表空间、区的信息。

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:由相邻的数据块的组成,这意味着每个区只能存在于一个数据文件中。

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


 gyj@OCM> show parameter db_block_sizeNAME                                 TYPE        VALUE------------------------------------ ----------- ------------------------------db_block_size                        integer     8192

2、Oracle数据库物理结构     

 (1)、OS文件

      A、仅属于一个表空间

      B、是构成表空间的基础文件

 

 (2)、OS

A、 tune2fs-l /dev/sda1


[root@mydb ~]# tune2fs -l /dev/sda1tune2fs 1.39 (29-May-2006)Filesystem volume name:   /bootLast mounted on:          <not available>Filesystem UUID:          866e46b9-cb84-4271-b694-4ca3d25dc621Filesystem magic number:  0xEF53Filesystem revision #:    1 (dynamic)Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_superDefault mount options:    user_xattr aclFilesystem state:         cleanErrors behavior:          ContinueFilesystem OS type:       LinuxInode count:              26104Block count:              104388Reserved block count:     5219Free blocks:              89230Free inodes:              26070First block:              1Block size:               1024Fragment size:            1024Reserved GDT blocks:      256Blocks per group:         8192Fragments per group:      8192Inodes per group:         2008Inode blocks per group:   251Filesystem created:       Mon Aug 12 19:59:14 2013Last mount time:          Sat Aug 31 20:35:07 2013Last write time:          Sat Aug 31 20:35:07 2013Mount count:              16Maximum mount count:      -1Last checked:             Mon Aug 12 19:59:14 2013Check interval:           0 (<none>)Reserved blocks uid:      0 (user root)Reserved blocks gid:      0 (group root)First inode:              11Inode size:               128Journal inode:            8Default directory hash:   teaDirectory Hash Seed:      12499f4f-6bd0-40d2-8a7a-6224b8f449ddJournal backup:           inode blocks


  B、扇区:512字节操作系统一次IO的大小

[root@mydb ~]# fdisk -lDisk /dev/sda: 26.8 GB, 26843545600 bytes255 heads, 63 sectors/track, 3263 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes   Device Boot      Start         End      Blocks   Id  System/dev/sda1   *           1          13      104391   83  Linux/dev/sda2              14         144     1052257+  82  Linux swap / Solaris/dev/sda3             145        3263    25053367+  83  Linux


原创粉丝点击