撒的阿坎努斯 发表于 2015-6-17 07:14:08

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

存储结构

数据存储:
      

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

OMF(oracle 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(脱机):normal,immediate,temporary三种
Eg:alter 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 数据库文件
可识别集群
可自动安装
页: [1]
查看完整版本: ocp 042 第五章:数据库存储结构