77范文网 - 专业文章范例文档资料分享平台

OCP认证考试指南全册Oracle Database 11g练习与知识点 - 图文(5)

来源:网络收集 时间:2019-08-28 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

第五章 Oracle存储结构

本章学习内容

? 了解表空间和数据文件 ? 创建和管理表空间 ? 管理表空间中的空间

练习5-1 了解数据库的数据存储结构

在本练习中,将运行查询来了解数据库的物理结构。可以从SQL*Plus或Database Control,交互方式运行这些命令。但最好将它们保存为一个脚本(针对显示格式做适当的完善,并执行特定站点的自定义),可针对任何数据库运行此脚本,这将作为普通空间使用报告的一部分。

(1) 以用户SYSTEM的身份连接到数据库 (2) 确定控制文件的名称和大小:

SELECT NAME, block_size*file_size_blks bytes FROM v$controlfile;

(3) 确定联机重做日志文件成员的名称和大小: SELECT MEMBER,bytes FROM v$log JOIN v$logfile USING(group#);

(4) 确定数据文件和临时文件的名称和大小: SELECT 'v$datafile', NAME, BYTES FROM V$DATAFILE UNION ALL SELECT 'v$tempfile', NAME, BYTES FROM V$TEMPFILE;

练习5-2 创建、更改和删除表空间

在本练习中,将创建表空间并更改其特性。此后将启用和使用OMF。可以通过Database Control完成本练习,若如此,请在所有阶段单击Show SQL按钮以观察生成的SQL语句。 (1) 以用户SYSTEM的身份连接到数据库

(2) 在适当目录(Oracle所有者拥有写权限的任何目录)中创建表空间 CREATE TABLESPACE mpac_lc DATAFILE 'D:\\oracle\\product\\10.2.0\\oradata\\orcl\\mpac_lc.dbf' SIZE 10m EXTENT MANAGEMENT LOCAL AUTOALLOCATE SEGMENT SPACE MANAGEMENT AUTO; 此命令指定默认选项。这是一项良好的实践,使语句可以自我记录。 (3) 在新的表空间创建表,并确定第一个区间的大小: CREATE TABLE lc_test(c1 DATE) TABLESPACE mpac_lc; SELECT owner, extent_id, bytes FROM dba_extents WHERE segment_name = 'LC_TEST'; --创建表初始为1个段大小64k,8个块

(4) 手动添加区间,并通过重复执行以下命令来观察每个新区间的大小,并重复执行区

间大小的查询。注意区间大小的增长点。(手动添加区间,每次增加一个区间)

ALTER TABLE lc_test ALLOCATE EXTENT; SELECT owner, extent_id, bytes FROM dba_extents WHERE segment_name = 'LC_TEST';

(5) 使表空间脱机,观察效果,再使其重新联机。

ALTER TABLESPACE mpac_lc OFFLINE; SELECT * FROM lc_test; ORA-00376: file 7 cannot be read at this time ORA-01110: data file 7: 'D:\\ORACLE\\PRODUCT\\10.2.0\\ORADATA\\ORCL\\MPAC_LC.DBF' ALTER TABLESPACE mpac_lc ONLINE; SELECT * FROM lc_test; (6) 将表空间设置为只读表空间,观察效果,再将其设置为读写。 ALTER TABLESPACE mpac_lc READ ONLY; SELECT * FROM lc_test; INSERT INTO lc_test VALUES(SYSDATE); ORA-00372: file 7 cannot be modified at this time ORA-01110: data file 7: 'D:\\ORACLE\\PRODUCT\\10.2.0\\ORADATA\\ORCL\\MPAC_LC.DBF'

DROP TABLE lc_test; ALTER TABLESPACE mpac_lc READ WRITE; CREATE TABLE lc_test (c1 DATE) TABLESPACE mpac_lc; INSERT INTO lc_test VALUES(SYSDATE); (7) 启动OMF来创建数据库文件: ALTER SYSTEM SET db_create_file_dest='D:\\oracle\\product\\10.2.0\\oradata'; (8) 使用最少的语法创建表空间 CREATE TABLESPACE mpac_lc_idx; (9) 确定OMF文件的特性 SELECT FILE_NAME, BYTES / 1024 / 1024, AUTOEXTENSIBLE, MAXBYTES / 1024 / 1024, INCREMENT_BY / 1024 / 1024 FROM DBA_DATA_FILES WHERE TABLESPACE_NAME = 'MPAC_LC_IDX';

文件名:

D:\\ORACLE\\PRODUCT\\10.2.0\\ORADATA\\ORCL\\DATAFILE\\O1_MF_MPAC_LC__9V83O8D0_.DBF

数据文件默认的初始化大小为100MB、文件大小自动扩展、没有扩展上限(这里最大为32GB,与32位操作系统有关)、空间大小增长的步长为12.5KB

(10) 调整OMF条件,使特性更趋于合理。使用步骤(9)返回的系统生成的任何文件名:

ALTER DATABASE DATAFILE 'D:\\ORACLE\\PRODUCT\\10.2.0\\ORADATA\\ORCL\\DATAFILE\\O1_MF_MPAC_LC__9V83O8D0_.DBF' RESIZE 200m; ALTER DATABASE DATAFILE 'D:\\ORACLE\\PRODUCT\\10.2.0\\ORADATA\\ORCL\\DATAFILE\\O1_MF_MPAC_LC__9V83O8D0_.DBF' AUTOEXTEND ON NEXT 100m MAXSIZE 2g; (11) 删除表空间,并使用操作系统命令予以确认: DROP TABLESPACE mpac_lc_idx INCLUDING CONTENTS AND DATAFILES; DROP TABLESPACE mpac_lc_idx ; 在表空间中没有对象时,两者效果相同,否则第二条执行将报错。

练习5-3 更改表空间特性

本练习将使用非默认的手动空间管理来创建表空间,以便在升级后模拟到自动段空间管理的转换:

(1) 以用户SYSTEM的身份连接到数据库。

(2) 使用手动段空间管理创建表空间。由于【练习5-2】中启用了OMF,所以不需要任

何数据文件子句:

CREATE TABLESPACE manualsegs SEGMENT SPACE MANAGEMENT MANUAL; (3) 使用手动技术确认新表空间的存在:

SELECT segment_space_management FROM dba_tablespaces WHERE tablespace_name = 'MANUALSEGS'

(4) 在表空间中创建表和索引:

CREATE TABLE mantab (c1 NUMBER) TABLESPACE manualsegs ; CREATE INDEX mantabidx ON mantab(c1) TABLESPACE manualsegs ; 将使用空闲列表(而非位图)来创建这些段。

(5) 新建将使用自动段空间管理(默认方式)的表空间: CREATE TABLESPACE autosegs; (6) 将对象移入新表空间: ALTER TABLE mantab MOVE TABLESPACE autosegs; ALTER INDEX mantabidx REBUILD ONLINE TABLESPACE autosegs; (7) 确认对象位于正确的表空间中: SELECT segment_name,tablespace_name FROM dba_segments WHERE segment_name LIKE 'MANTAB%' (8) 删除原先的表空: DROP TABLESPACE manualsegs INCLUDING CONTENTS AND DATAFILES; (9) 将新的表空间重命名为原来的名称。通常这是必需的,因为某些应用程序软件将检

查表空间名称: ALTER TABLESPACE autosegs RENAME TO manualsegs; (10) 通过删除表空间进行清理,首先使用以下命令:

DROP TABLESPACE manualsegs; ORA-01549: tablespace not empty, use INCLUDING CONTENTS option 由于表空间非空,将引发错误,应对此进行修正: DROP TABLESPACE manualsegs INCLUDING CONTENTS AND DATAFILES; TIPS 自动段管理和手动段管理的区别 TIPS 本地区间管理和xxx 的区别 本章知识点回顾

了解表空间和数据文件

? 一个表空间可能是多个数据文件 ? 一个表空间可包含多个段 ? 一个段是一个或多个区间

? 一个区间是位于一个数据文件的多个连续的块 ? Oracle块是数据库的基本I/O单元

创建和管理表空间

? SMALLFILE表空间可以有多个数据文件,但BIGFILE表空间只能有一个数据文件 ? 默认方式下,表空间采用本地区间管理和自动段空间管理的方式。但统一区间大小并非

默认设置。

? OMF数据文件自动命名,开始为100MB,可以自动拓展,没有上限

? 除非指定了INCLUDING CONTENTS 子句,否则包含段的表空间无法删除 ? 可将表空间设置为联机或脱机,设置为读写或只读

? 表空间可以存储三类对象:永久对象、临时对象或撤销段

管理表空间中的空间

? 本地区间管理使用每个数据文件中的位图来跟踪区间分配

? 创建表空间时,UNIFORM SIZE子句强制所有的区间采用相同的大小

? AUTOALLOCATE 子句让Oracle确定下一区间的大小,Oracle将根据分配给段的区间

数进行确定。

? 自动段空间管理使用位图跟踪区间每个块中的可用空间

? 可将表空间从字典区间管理转换为本地区间管理,但不能讲空闲段管理转换为自动管

理。

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库OCP认证考试指南全册Oracle Database 11g练习与知识点 - 图文(5)在线全文阅读。

OCP认证考试指南全册Oracle Database 11g练习与知识点 - 图文(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/688776.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: