1 / 99

Oracle 数据库的对象及其管理

Oracle 数据库的对象及其管理. 管理表空间和数据文件 存储结构和关系 管理表 管理索引 维护数据完整性. 主要内容. 说明数据库的逻辑结构 创建表空间 使用不同方法改变表空间大小 改变表空间的状态和存储设置 重定位表空间 准备必要的表空间. 数据文件. 概述. 控制文件. 重做日志 文件. 数据库. 数据库结构. 数据库. 表空间. 数据文件. 逻辑的. 物理的. 段. 范围. Oracle 块. O/S 块. SYSTEM 表空间包含 : 数据字典信息 SYSTEM 回滚段. 非 SYSTEM 表空间包含 :

rose-stokes
Télécharger la présentation

Oracle 数据库的对象及其管理

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Oracle数据库的对象及其管理 • 管理表空间和数据文件 • 存储结构和关系 • 管理表 • 管理索引 • 维护数据完整性

  2. 主要内容 • 说明数据库的逻辑结构 • 创建表空间 • 使用不同方法改变表空间大小 • 改变表空间的状态和存储设置 • 重定位表空间 • 准备必要的表空间

  3. 数据文件 概述 控制文件 重做日志 文件 数据库

  4. 数据库结构 数据库 表空间 数据文件 逻辑的 物理的 段 范围 Oracle块 O/S 块

  5. SYSTEM表空间包含: 数据字典信息 SYSTEM回滚段 非SYSTEM表空间包含: 回滚段 临时段 应用数据 应用索引 SYSTEM表空间和非SYSTEM表空间

  6. 创建表空间 例子 CREATE TABLESPACE app_data DATAFILE ‘DISK4/app01.dbf’ SIZE 100M, ‘DISK5/app02.dbf’ SIZE 100M MINIMUM EXTENT 500K DEFAULT STORAGE (INITIAL 500K NEXT 500K MAXEXTENTS 500 PCTINCREASE 0);

  7. 存储参数 以下参数影响段的存储分配: • INITIAL • NEXT • MAXEXTENTS • MINEXTENTS • PCTINCREASE

  8. 临时表空间 • 排序操作使用 • 不能包含永久对象 CREATE TABLESPACE sort DATAFILE ‘DISK2/sort01.dbf’ SIZE 50M MINIMUM EXTENT 1M DEFAULT STORAGE (INITIAL 2M NEXT 2M MAXEXTENTS 500 PCTINCREASE 0) TEMPORARY;

  9. app03.dbf 2M 为表空间增加数据文件 例子 ALTER TABLESPACE app_data ADD DATAFILE ‘DISK5/app03.dbf’ SIZE 200M; 表空间APP_DATA app01.dbf1M app02.dbf1M

  10. 数据文件的自动扩展 例子 ALTER TABLESPACE app_data ADD DATAFILE ‘DISK6/app04.dbf’ SIZE 200M AUTOEXTEND ON NEXT 10M MAXSIZE 500M; 表空间APP_ DATA app04.dbf 2M app01.dbf1M app02.dbf1M app03.dbf2M

  11. 1M 手工改变数据文件的大小 例子 • ALTER DATABASE DATAFILE ‘DISK5/app02.dbf’ RESIZE 200M; 表空间APP_DATA app01.dbf1M app02.dbf1M

  12. 改变存储设置 例子 ALTER TABLESPACE app_data MINIMUM EXTENT 2M; ALTER TABLESPACE app_data DEFAULT STORAGE (INITIAL 2M NEXT 2M MAXEXTENTS 999);

  13. 脱机状态 • 脱机的表空间不能进行数据的存取操作 • SYSTEM表空间和带有活动回滚段的表空间 均不能脱机 例子 ALTER TABLESPACE app_data OFFLINE;

  14. 移动数据文件:ALTER TABLESPACE • 表空间APP_DATA必须脱机 • 目标数据文件必须存在 例子 ALTER TABLESPACE app_data RENAME DATAFILE ‘DISK4/app01.dbf’ TO ‘DISK5/app01.dbf’;

  15. 移动数据文件: ALTER DATABASE • 数据库必须已经装配 • 目标数据文件必须存在 例子 ALTER DATABASE RENAME FILE ‘DISK1/system01.dbf’ TO ‘DISK2/system01.dbf’;

  16. 表空间的只读状态 例子 ALTER TABLESPACE app_data READ ONLY; 表空间APP_DATA只允许进行读操作

  17. 设置表空间为只读 • 表空间必须联机 • 没有活动的事务才可以 • 表空间不能包含活动的回滚段 • 表空间当前一定不能与联机备份有关

  18. 删除表空间 以下语句删除APP_DATA表空间及其全部内容。 例子 DROP TABLESPACE app_data INCLUDING CONTENTS;

  19. 获得表空间有关信息 • DBA_TABLESPACES • TABLESPACE_NAME • NEXT_EXTENT • MAX_EXTENTS • PCT_INCREASE • MIN_EXTLEN • STATUS • CONTENTS

  20. 获得数据文件有关信息 • DBA_DATA_FILES • FILE_NAME • TABLESPACE_NAME • BYTES • AUTOEXTENSIBLE • MAXBYTES • INCREMENT_BY

  21. Oracle数据库的对象及其管理 • 管理表空间和数据文件 • 存储结构和关系 • 管理表 • 管理索引 • 维护数据完整性

  22. 主要内容 • 列出不同种类的段及其它们的使用由段控制范围的使用 • 说明对象的块空间利用参数的使用 • 从数据字典获得存储结构的有关信息 • 根据分裂程度和生存范围确定段的位置

  23. 数据库存储层次 数据库 表空间 数据文件 逻辑的 物理的 段 范围 Oracle块 O/S 块

  24. 段的种类 表 表分区 索引

  25. 索引组织表 段的种类 索引分区 回滚段 临时段

  26. 段的种类 LOB段 LOB索引 嵌套的表 引导程序段

  27. 存储子句的优先级 Oracle缺省 表空间 段

  28. 范围的分配和去配 • 段在以下情况分配 • 创建 • 扩展 • 修改 • 段在以下情况去配 • 删除 • 修改 • 清除 • 自动调整大小(仅回滚段)

  29. 使用的和空闲的范围 数据文件 文件头 使用的范围 空闲的范围

  30. 之前 之后 文件头 使用的范围 空闲的范围 空闲空间合并 ALTER TABLESPACE data01 COALESCE;

  31. 数据库块: 回顾 • I/O的最小单位 • 由一个或多个O/S块组成 • 由参数DB_BLOCK_SIZE设置 • 在数据库创建时设置

  32. 数据库块内容 头 空闲空间 数据

  33. 块空间利用参数 INITRANS MAXTRANS PCTFREE PCTUSED

  34. 块空间的使用 PCTFREE=20 PCTUSED=40 插入 插入 80% 1 2 80% 插入 插入 40% 3 4

  35. 数据字典视图 使用的范围 DBA_EXTENTS 空闲的范围 DBA_FREE_SPACE 段 DBA_SEGMENTS 数据文件 DBA_DATA_FILES 表空间 DBA_TABLESPACES

  36. 查询段的有关信息 • DBA_SEGMENTS • 一般信息 • OWNERSEGMENT_NAME • SEGMENT_TYPE • TABLESPACE_NAME • 大小 • EXTENTS • BLOCKS • 存储设置 • INITIAL_EXTENT • NEXT_EXTENT • MIN_EXTENTS • MAX_EXTENTS • PCT_INCREASE

  37. 获得使用的范围信息 • DBA_EXTENTS • 标识 • OWNER • SEGMENT_NAME • EXTENT_ID • 位置和大小 • TABLESPACE_NAME • RELATIVE_FNO • FILE_ID • BLOCK_ID • BLOCKS

  38. 检查空闲的范围信息 • DBA_FREE_SPACE • 位置和大小 • TABLESPACE_NAME • RELATIVE_FNO • FILE_ID • BLOCK_ID • BLOCKS

  39. Oracle数据库的对象及其管理 • 管理表空间和数据文件 • 存储结构和关系 • 管理表 • 管理索引 • 维护数据完整性

  40. 主要内容 • 区分不同种类的Oracle数据类型 • 使用适当的存储设置创建表 • 控制表所使用的空间 • 分析表检查其完整性及其迁移情况 • 从数据字典检索有关表的信息 • 不同格式ROWID之间的相互转换

  41. 索引组织的表 簇 存储用户数据 分区的表 规则的表

  42. 行结构 行头 列长度 数据库块 列值

  43. Oracle 数据类型 数据类型 用户定义的 内置的 标量 集合 关系 CHAR(N), NCHAR(N)VARCHAR2(N),NVARCHAR2(N) NUMBER(P,S) DATERAW(N)BLOB, CLOB, NCLOB, BFILE LONG, LONG RAW ROWID VARRAYTABLE REF

  44. ROWID数据类型 • 行的唯一标识符 • 用作行定位 ROWID 格式 OOOOOO FFF BBBBBB RRR 数据对象号 相对文件号 块号 行号

  45. 受限的ROWID • 可以在一个段内确定行 • 需要较少空间 . . BBBBBBBB RRRR FFFF 块号 行号 文件号

  46. 嵌套表 VARRAY 集合 • 集合是包含对象的对象 • VARRAY是有次序的元素集合,其中包括计数和界限 • 嵌套的表是带有TABLE数据类型列的表

  47. 创建表 CREATE TABLE employees( empno NUMBER(4), last_name VARCHAR2(30) deptno NUMBER(2)) PCTFREE 20 PCTUSED 50 STORAGE(INITIAL 200K NEXT 200K PCTINCREASE 0 MAXEXTENTS 50) TABLESPACE data01;

  48. 创建表: 指导原则 • 使用较小的标准范围大小以减少 表空间的碎片 • 对于频繁使用并且较小的表可以 使用CACHE子句

  49. PCTFREE和PCTUSED的设置 • 计算PCTFREE (平均行大小 -初始行大小) * 100 平均行大小 • 计算PCTUSED 平均行大小 * 100100 - PCTFREE -可用数据空间

  50. 行迁移和链接 更新之后 更新之前

More Related