ocp 042 第五章:数据库存储结构

存储结构

  

数据存储:

       

            

            

表空间和数据文件:

        逻辑上是以表空间形式存在

        物理上数据文件形式存在

        表空间和数据文件的关系:  一个表空间可以有多个数据文件,一个数据文件只能属于一个表空间。表空间由很多个逻辑数据块组成,参数为db_block_size,大小为2-32K,默认为8k。特定数目相邻数据块构成一个区

 

OMForacle managed files 根据数据库对象而不是文件名指定文件操作)

1、 db_create_file_dest:定义数据文件和临时文件的默认文件系统目录的位置

2、 DB_CREATE_ONLINE_LOG_DEST_n:定义重做日志文件和控制文件的创建位置

3、 DB_RECOVERY_FILE_DEST  定义 RMAN 备份位置

 如不使用OMF,则操作都需要指明文件  如:create table test datafile='/home/oracle/01.dbf'

 

· 表空间的管理方法:1、数据字典管理;2、本地管理(推荐)。

 

系统预配置数据库中的表空间:

    system:管理database。需dba权限

 sysaux:system辅助表空间

     temp:如果执行的 SQL 语句需要创建临时段(如大规模排序或创建索引),则可以使用临时表空间。默认且最好只有一个

     undotabs1:数据库服务器用于存储还原信息的还原表空间。在创建数据库时创建的

 users:用于存储永久用户对象和数据。在预配置数据库中,USERS 表空间是用于存储非系统用户创建的所有对象的默认表空间。对于 SYS 和 SYSTEM 用户(系统用户),默认的永久表空间依然是 SYSTEM

EXAMPLE:包含创建数据库时可以安装的示例方案

 

创建表空间:(SQL)

 

      CREATE BIGFILE TABLESPACE "T" DATAFILE '/u01/app/oracle/oradata/orcl/t01.dbf ' SIZE 10M REUSE AUTOEXTEND ON NEXT 1M MAXSIZE 50M LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO SEGMENT SPACE MANAGEMENT AUTO 

注:  SMALLFILE 小文件表空间(默认),BIGFILE  大文件表空间

      CREATE   TEMPORARY TABLESPACE,创建临时表空间

      datafile 指定文件物理路径

      size 表空间的大小

      REUSE 该文件可以重用  

      AUTOEXTEND ON 开启自动扩展  

      NEXT 1M MAXSIZE 50M  下次增长1M 最大50M

      LOGGING 记录日志(默认)nologging 不记录日志

      EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M  区的管理是本地管理(默认是自动管理);区空间不足的时候,自动分配空间大小。

      EGMENT SPACE MANAGEMENT AUTO   空间的管理  manual  默认自动管理

 

表空间管理

 重命名:  rename

 更改状态: 

     Read Write(读写):表空间已联机,可进行读写。

     Read Only(只读):可以完成(提交或回退)现有的事务处理,但是,不允许对表空间中的对象进一步执行数据操纵语言 (DML) 操作。

 Offline(脱机):normalimmediatetemporary三种

 Egalter tablespace IT offline immediate

 

 更改大小:add

    通过向表空间添加数据文件,更改现有数据文件的大小

    Eg: alter tablespace tt add datafile '/u01/tt02.dbf' size 10m;

 

 删除表空间

 1表空间没有内容 :   dorp tablespace 表空间名

 2、表空间有内容: 删除表空间和内容:dorp tablespace 表空间名 INCLUDING CONTENTS

 如果数据文件没有启用OMF,则需要使用操作系统命令删除物理上的文件,如果使用OMF,会自动帮你删除,或者可以使用参数including datafiles 

 

 存储选项

 Thresholds(阈值)

 默认阀值

 指定阀值

 禁用阀值

 

对表空间执行其他的操作

 Add Datafile(添加数据文件)

 Create Like(类似创建)

 Generate DDL(生成 DDL):生成用于创建表空间的数据定义语言(DDL) 语句。

 Make Locally Managed(设置为本地管理):单向,不可逆

 Make Readonly(只读模式):停止对表空间的所有写操作。

 Make Writable(可写模式):允许对表空间中的对象启动DML 活动和其它写活动

 Place Online(联机)

 Reorganize(重组)

 Run Segment Advisor(运行段指导)

 Show Dependencies(显示相关性):显示此表空间依赖的对象,或依赖于此表空间的对象。

 Show Tablespace Contents(显示表空间内容)

 Take Offline(脱机):使当前联机的表空间不可用。

 

删除表空间

 概述:必须具有DROP TABLESPACE 系统权限才能删除表空间。删除表空间时,会删除关联数据库控制文件中的文件指针。如果使用OMF,删除数据文件

 

查看表空间信息

各个表空间对应的动态视图:

      dba_tablespaces    v$tablespace 

      dba_data_files    v$datafile

      dba_temp_files    v$tempfile

Eg:  desc tablespace;   select * from v$tablespace

 

 SELECT D.STATUS STATUS,

       D.TABLESPACE_NAME NAME,

       D.CONTENTS TYPE,

       D.EXTENT_MANAGEMENT EXTENTMANAGEMENT,

       TO_CHAR(NVL(A.BYTES / 1024 / 1024, 0), '99,999,990.900') TABLE_SIZE,

       TO_CHAR(NVL(A.BYTES - NVL(F.BYTES, 0), 0) / 1024 / 1024,

               '99999999.999') || '/' ||

       TO_CHAR(NVL(A.BYTES / 1024 / 1024, 0), '99999999.999') USED,

       TO_CHAR(NVL((A.BYTES - NVL(F.BYTES, 0)) / A.BYTES * 100, 0),

               '990.00') RATE

  FROM SYS.DBA_TABLESPACES D,

       (SELECT TABLESPACE_NAME, SUM(BYTES) BYTES

          FROM DBA_DATA_FILES

         GROUP BY TABLESPACE_NAME) A,

       (SELECT TABLESPACE_NAME, SUM(BYTES) BYTES

          FROM DBA_FREE_SPACE

         GROUP BY TABLESPACE_NAME) F

 WHERE D.TABLESPACE_NAME = A.TABLESPACE_NAME(+)

   AND D.TABLESPACE_NAME = F.TABLESPACE_NAME(+)

   AND NOT (D.EXTENT_MANAGEMENT LIKE 'LOCAL' AND D.CONTENTS LIKE 'TEMPORARY');

 

 

 

ASM

概述

 是可移植的高性能集群文件系统

 可管理 Oracle 数据库文件

 可将数据分布到各个磁盘中以平衡负载

 可镜像数据

功能和优点

 对文件而不是逻辑卷进行条带化

 提供联机重新配置磁盘和动态重新平衡功能

 可用来调整重新平衡速度

 为每个文件提供冗余

 仅支持 Oracle 数据库文件

 可识别集群

可自动安装

            

posted @ 2011-11-12 20:23    阅读(176)  评论(0编辑  收藏  举报