表空间及模式对象

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

创建序列



CREATE SEQUENCE deptno_seq start with 1 increment by 1 --默认为1 maxvalue 1.0E28 --nomaxvalue minvalue 1 --nominvalue Nocycle --nocycle,达到端点值就不能够再引用 cache 20 noorder;

索引可以存在与表不同的磁盘或表空间中。 索引被删除或损坏,不会对表产生影响。只 会影响查询速度。 索引一旦建立,有系统自动维护,并由数据 库管理系统决定何时使用索引。 删除表,基于表的索引也被删除。

索引有缺点
索引可以加速查询搜索,特别在数据仓库环 境,要避免全表搜索,在可能被搜索的列中 建立索引。 不过索引会占用许多的表空间;在许多的情 况下,索引比被索引的表消耗更多的存储空 间。在插入和删除行的时候,索引还会引入 额外的开销。
表空间管理
Extent management local/dictionary 表空间管理:哪些空间可用,哪些不可用? 字典管理:空间使用状况在system表空间的 数据字典表中记录。 本地管理:在当前表空间的数据文件头用位 图标识所有块的使用状况。每比特位表示每 个块是否可用。

UNDO表空间
表中所有行的开始ROWID 表中所有行的结束ROWID 位图模式
列值
男 女
AAAvQAAGAAA3yAAA AAAvQAAGAAA3yAAA
AAAvQAAGZZZZ3yZZZ AAAvQAAGZZZZ3yZZZ
1011… 0100…
位图模式中,表中的每一行占一位
性别
100
基数: 列中包含许多不同值,则列具有较高基数 包含少数不同值,则列具有较低的基数。 基数高的列适合建B树索引 基数较低的列适合用位图索引。

增加日志组 Alter database add logfile group grpnum ’filename’ size 1m 有两个以上的重做日志组,可以删除重做日 志组,注意删除的不可以是当前正在使用的。 Alter database drop logfile group grpnum 查看组号和状态:V$log V$logfile查看成员文件名及状态

索引生成准则
何时生成索引
大表
表主要用于查询 通常查询表中一个或 几个值 列中有大量NULL值
何时不生成索引 小表
用户经常对表进行DML改变
查询结果包含表中实际存储数 据的大部分
列不经常出现在where子句或 连接条件中
序列
是个数据库对象,根据生成序列是指定的规 则产生整数。 产生唯一数字,可以在不同用户间共享。 常用于自动产生主键。
用来排序 不可以存放其他任何永久的对象

要指定默认临时表空间。否则会可能用system表 空间排序
查询表空间信息

--查询表空间信息及数据文件 DBA_TABLESPACES
v$tablespace,v$datafile select * from v$tablespace;

更改表空间
创建表空间
代码创建:
CREATE TABLESPACE userdata DATAFILE 'E:\oracle\product\10.2.0\oradata\orcl\userdata01.dbf' SIZE 10M reuse;
CREATE TABLESPACE newtbsp DATAFILE 'E:\oracle\product\10.2.0\oradata\orcl\newtbsp01.dbf' SIZE 10M reuse AUTOEXTEND ON NEXT 5M MAXSIZE 30M,-- maxsize unlimited 'E:\oracle\product\10.2.0\oradata\orcl\newtbsp02.dbf' size 5m reuse online permanent;
模式对象 :表、列、约束 索引 序列 同义词 视图

索引
索引是数据库中的对象,建立于表之上,独 立于表。 避免全表扫描,用于提高查询速度。 索引包括:B-树索引 、位图索引 、函数索引 、反序索引

B树索引

来源于B树排序算法
Antelyes Manning
Antelyes Williams
复用控制文件(1)


alter system set control_files='E:\ORACLE\ORADATA\YIDB\CONT ROL01.CTL','E:\ORACLE\ORADATA\YIDB\CONT ROL02.ctl','E:\ORACLE\ORADATA\YIDB\CONTR OL03.ctl','E:\ORACLE\ORADATA\YIDB\CONTRO L04.ctl' scope=both; 关闭数据库 复制控制文件到新的磁盘位置。 打开数据库
alter tablespace userdata read write;
alter tablespace userdata offline; ALTER TABLESPACE userdata ONLINE;


增加表空间大小
两种方式: 增加现有数据文件的大小:自动或手工 为表空间增加数据文件
Group 1 Group 2 Group 3 Disk 1 Member Member Member
Member
Member
Member
Disk 2
增加日志成员: Alter database add logfile member ‘filename’ to group grpnum 例:alter database add logfile member'E:\oracle\oradata\mydb\redo_1_01.log' to group 1; 删除日志成员: alter database drop logfile member'E:\oracle\oradata\mydb\redo_1_01.log';

创建索引
对表建立主键和唯一约束,oracle自动建立同名 的唯一B树索引。 B树索引: create index emp1_un on emp1(empno); create unique index emp1_IN on emp1(empno) 位图索引: create bitmap index emp1_bitmap on emp1(gender);

数据库存储的层次
Database
Tablespace
Data file
逻辑的
Segment
物理的
Extent
Oracle block
OS block
表空间的种类
系统表空间(system):数据库创建时建立, 包含数据字典。所有的数据库都需要。 其他类型:使管理更加灵活

用来分离撤销数据、临时数据、应用数据、索引数据。 分离动态数据和静态数据
表空间及模式对象
-Oracle数据库管理
ቤተ መጻሕፍቲ ባይዱ
本章内容
表空间(数据文件) 控制文件/日志文件 模式对象 :表、列、约束 索引 序列 同义词

本章内容
掌握: 管理表空间 管理数据文件 管理oracle的数据对象(使用OEM和sql语句) 了解: 管理控制文件 管理重做日志文件
CREATE UNDO TABLESPACE undo1 DATAFILE 'F:/oracle/undo101.dbf' SIZE 10M;
只能存储撤销段,不能存储任何其他对象 本地管理
临时表空间
CREATE TEMPORARY TABLESPACE temp1 TEMPFILE ‘e:/oracle/temp01.dbf' SIZE 20M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 10M;
ALTER TABLESPACE userdata OFFLINE;
OFFLINE:使表空间脱机,此时不能读取表 空间中的信息。 一些表空间必须online: system表空间 默认临时表空间 active的undo段的表空间


alter tablespace userdata read only;

UNDOTBS 和TEMP、DATA、INDEX、 TOOLS
创建表空间
CREATE TABLESPACE tablespace [DATAFILE clause] [MINIMUM EXTENT integer[K|M]] [BLOCKSIZE integer [K]] [LOGGING|NOLOGGING] [Extent management local/dictionary] [DEFAULT storage_clause ] [ONLINE|OFFLINE] [PERMANENT|TEMPORARY]

删除索引
删除任何索引: drop index emp1_un; 如果要对索引进行任何修改,要先删除旧索 引,再重建新索引。

查询DBA_INDEXES视图可得到表中所有索 引的列表; 通过USER_INDEXES的方法来检索模式 (schema)的索引。 访问USER_IND_COLUMNS视图可得到一个 给定表中被索引的特定列
使数据文件自动扩展
ALTER DATABASE DATAFILE 'E:\oracle\product\10.2.0\oradata\orcl\userdata01.dbf' AUTOEXTEND ON NEXT 1M MAXSIZE 20M;
重定义数据文件的大小
ALTER
DATABASE DATAFILE 'E:\oracle\product\10.2.0\oradata\orcl\us erdata01.dbf' RESIZE 50M;
4.表空间联机

前提是表空间必须offline
管理重做日志文件
重做日志是oracle存储用户所做的数据更改的 磁盘资源。 保存了重做日志项,就能恢复,没保存就不 能恢复。所以很重要。 Oracle以组管理重做日志文件 至少有两个组,每个组中的日志文件为该组 的成员。

重做日志文件的结构
为表空间添加数据文件
ALTER TABLESPACE userdata ADD DATAFILE 'E:\oracle\product\10.2.0\oradata\orcl\userdata02.dbf' SIZE 10M;
删除表空间

删除空的表空间
DROP TABLESPACE userdata ;

控制文件
控制文件的内容及用途 管理控制文件(复用) 查看控制文件信息

控制文件的内容



数据库名和标识符信息 建库时的日期和时间信息 数据文件和重做日志文件的位置 表空间和数据文件的联系 归档日志历史 何时备份的信息 联机重做日志的序列号 检查点信息
控制文件

是二进制文件,定义了当前物理数据库的状 态。 在MOUNT阶段被打开,读取信息。 只连接一个数据库 应该复用控制文件,放在多个磁盘中
Russell Williams
Antelyes Asprey
Ide Manning
Antelyes ROWID
Asprey ROWID
Ide ROWID
Manning ROWID
Russell ROWID
Tuggle ROWID
Williams ROWID
位图索引

Student表,有100行数据。在性别列上的 位图索引如下:
ALTER TABLESPACE userdata RENAME DATAFILE 'E:\oracle\product\10.2.0\oradata\orcl\userdata02.dbf' TO 'E:\oracle\product\10.2.0\oradata\orcl\userdata03.dbf';

将表空间的内容一起删除
DROP TABLESPACE userdata INCLUDING CONTENTS ;

磁盘的数据文件也一并删除
DROP TABLESPACE userdata INCLUDING CONTENTS AND DATAFILES;
移动数据文件
1.表空间脱机 2.复制数据文件到新的位置 3.执行以下代码:
相关文档
最新文档