




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、LCXZZU第第5 5章章 数据库存储管理数据库存储管理Review第第4章小结章小结 理解理解Oracle数据库实例状态数据库实例状态nomount, mount, open; 掌握数据库实例的启动掌握数据库实例的启动(startup)、关闭、关闭(shutdown)及状态及状态(alter database)改变的方法;改变的方法; 掌握创建掌握创建(create database)和删除和删除(drop database)数据库的方法;数据库的方法; 掌握对数据库内存参数、还原管理、初始化参数管理和数据库功掌握对数据库内存参数、还原管理、初始化参数管理和数据库功能使用情况统计的方法能使用
2、情况统计的方法(show parameters, alter system,init.ora,spile.ora); 了解了解Oracle数据库用户类型;数据库用户类型;LCXZZU第第5 5章章 数据库存储管理数据库存储管理 LCXZZU第第5 5章章 数据库存储管理数据库存储管理本章学习目标本章学习目标 掌握创建、修改、删除表空间的方法;掌握创建、修改、删除表空间的方法; 掌握创建撤销表空间的方法;掌握创建撤销表空间的方法; 了解了解scn; 了解控制文件的创建方法;了解控制文件的创建方法; 理解重做日志的基本概念,掌握管理重做日志的方法;理解重做日志的基本概念,掌握管理重做日志的方法;
3、掌握归档重做日志的管理方法;掌握归档重做日志的管理方法;LCXZZU第第5 5章章 数据库存储管理数据库存储管理本章知识点本章知识点 5.1 表空间管理表空间管理 5.2 回滚段管理回滚段管理 5.3 数据库文件管理数据库文件管理 LCXZZU第第5 5章章 数据库存储管理数据库存储管理本章知识点本章知识点 5.1 表空间管理表空间管理 5.2 回滚段管理回滚段管理 5.3 数据库文件管理数据库文件管理 LCXZZU第第5 5章章 数据库存储管理数据库存储管理表空间的分类表空间的分类表空间表空间系统表空间系统表空间非系统表空间非系统表空间SYSTEMSYSAUXUndoTemporary应用表
4、空间应用表空间BigfileSmallfile所有数据库都必须具备,用来存所有数据库都必须具备,用来存放管理数据库自身所需的信息放管理数据库自身所需的信息将回退段放入撤销表空间,由实例自动处将回退段放入撤销表空间,由实例自动处理撤销表空间中的回退段理撤销表空间中的回退段用于存放执行用于存放执行order by,group by等等语句时所需的临时数据语句时所需的临时数据 只能放置一个数据文件,只能放置一个数据文件,可包括可包括4G个数据块个数据块LCXZZU第第5 5章章 数据库存储管理数据库存储管理表空间表空间数据库、表空间和数据文件的关系数据库、表空间和数据文件的关系每个表空间由一个或多个
5、数据文件组成。数据文件用于在物理上每个表空间由一个或多个数据文件组成。数据文件用于在物理上存储表空间中所有逻辑结构的数据。存储表空间中所有逻辑结构的数据。表空间中数据文件的大小之和就是表空间的存储容量(图中系统表空间中数据文件的大小之和就是表空间的存储容量(图中系统表空间存储容量为表空间存储容量为2MB2MB,用户表空间的存储容量为,用户表空间的存储容量为4MB4MB)。)。数据库中表空间的存储容量之和就是数据库的存储容量。数据库中表空间的存储容量之和就是数据库的存储容量。LCXZZU第第5 5章章 数据库存储管理数据库存储管理表空间表空间如果将如果将数据库数据库比做一个存放资料的比做一个存放
6、资料的柜子柜子,则柜子中的,则柜子中的抽屉抽屉就是就是表空间表空间,抽屉中的,抽屉中的文文件夹件夹就是就是数据文件数据文件,文件夹中的,文件夹中的纸纸就是就是段段,记录在纸上的,记录在纸上的文字文字就是就是数据数据。属于不同应用的数据应当被放置在不同的表空间中,就好像不同类别的资料应该放属于不同应用的数据应当被放置在不同的表空间中,就好像不同类别的资料应该放在不同的抽屉中一样。在不同的抽屉中一样。LCXZZU第第5 5章章 数据库存储管理数据库存储管理预配置的数据库中的表空间预配置的数据库中的表空间 SYSTEM:包含数据目录表和其它管理数据包含数据目录表和其它管理数据 SYSAUX:是是 S
7、YSTEM 表空间的辅助表空间表空间的辅助表空间 TEMP:包含仅在会话期间存在的临时数据包含仅在会话期间存在的临时数据 UNDOTBS1:包含还原段包含还原段 USERS:非系统用户创建的所有对象的默认表空间非系统用户创建的所有对象的默认表空间 EXAMPLE:包含示例方案包含示例方案 LCXZZU第第5 5章章 数据库存储管理数据库存储管理5.1表空间管理表空间管理 查看表空间信息查看表空间信息 统计表空间的使用情况统计表空间的使用情况创建表空间创建表空间 设置和修改表空间属性设置和修改表空间属性 删除表空间删除表空间 LCXZZU第第5 5章章 数据库存储管理数据库存储管理查看表空间信息
8、查看表空间信息 与表空间相关的视图与表空间相关的视图视图名视图名说说 明明V$TABLESPACE控制文件中保存的所有表空间的名称和数量控制文件中保存的所有表空间的名称和数量DBA_TABLESPACES所有表空间的描述信息所有表空间的描述信息USER_TABLESPACES所有用户可访问表空间的描述信息所有用户可访问表空间的描述信息DBA_TABLESPACE_GROUPS所有表空间组及其所属的表空间信息所有表空间组及其所属的表空间信息DBA_SEGMENTS所有表空间中的段信息所有表空间中的段信息USER_SEGMENTS所有用户表空间中的段信息所有用户表空间中的段信息DBA_FREE_S
9、PACE所有表空间中的空闲区间信息所有表空间中的空闲区间信息USER_FREE_SPACE所有用户表空间中的空闲区间信息所有用户表空间中的空闲区间信息V$DATAFILE所有数据文件信息所有数据文件信息V$TEMPFILE所有临时文件信息所有临时文件信息DBA_DATA_FILES显示所有属于表空间的数据文件信息显示所有属于表空间的数据文件信息DBA_TEMP_FILES显示所有属于临时表空间的临时文件信息显示所有属于临时表空间的临时文件信息LCXZZU(1)使用)使用V$TABLESPACE视视图查看表空间信息图查看表空间信息 视图视图V$TABLESPACE可以获取并显示控制文件中的表空间
10、信息。可以获取并显示控制文件中的表空间信息。字段名数据类型说 明TS#NUMBER表空间编号NAMEVARCHAR2(30)表空间名称INCLUDED_IN_DATABASE_BACKUPVARCHAR2(3)表明该表空间是否包含在完整数据库备份中BIGFILEVARCHAR2(3)是否为大文件表空间FLASHBACK_ONVARCHAR2(3)表明该表空间是否参与FLASHBACK DATABASE操作。关于FLASHBACK DATABASE命令的具体功能将在第8章中介绍ENCRYPT_IN_BACKUPVARCHAR2(3)指定备份数据库时是否加密。ON表示在表空间级别启动数据加密功能;
11、OFF表示在表空间级别关闭数据加密功能;NULL表示在表空间级别未明确指定是否启动或关闭数据加密功能 LCXZZU第第5 5章章 数据库存储管理数据库存储管理查看表空间信息查看表空间信息【例例】查看视图查看视图V$TABLESPACE中表空间的内中表空间的内容和数量,代码及执行结果如下:容和数量,代码及执行结果如下:SQL SELECT * FROM V$TABLESPACE; TS# NAMEINCBIGFLA ENC - - - - 0 SYSTEM YES NO YES 1 UNDOTBS1YES NO YES 2 SYSAUXYES NO YES 4 USERSYES NOYES 3
12、TEMPNONOYES 6 EXAMPLEYESNOYES 7 ORCLTBS01YES NO YES 8 ORCLTBS02YES NOYES已选择已选择8行。行。LCXZZU(2)查看表空间的属性信息)查看表空间的属性信息 字段名数据类型说 明TABLESPACE_NAMEVARCHAR2(30)表空间名称BLOCK_SIZENUMBER表空间的数据块大小INITIAL_EXTENTNUMBER缺省的初始区间大小NEXT_EXTENTNUMBER缺省的区间自动增长的大小MIN_EXTENTSNUMBER缺省的最小区间数量MAX_EXTENTSNUMBER缺省的最大区间数量PCT_INCRE
13、ASENUMBER缺省的自动增加的区间大小的百分比MIN_EXTLENNUMBER表空间中最小的区间大小STATUSVARCHAR2(9)表空间的状态,包括ONLINE、OFFLINE和READ ONLYCONTENTSVARCHAR2(9)表空间的内容,包括UNDO、PERMANENT和TEMPORARYLOGGINGVARCHAR2(9)缺省的登录属性,包括LOGGING和NOLOGGINGFORCE_LOGGINGVARCHAR2(3)表明表空间是否处于强制登录模式下EXTENT_MANAGEMENTVARCHAR2(10)表明表空间中的区间处于数据字典管理模式(DICTIONARY)还
14、是本地管理模式(LOCAL)ALLOCATION_TYPEVARCHAR2(9)表空间中区间的分配方式,包括SYSTEM、UNIFORM和USERPLUGGED_INVARCHAR2(3)表明表空间是否接入SEGMENT_SPACE_MANAGEMENTVARCHAR2(2)表明表空间中空闲和已使用的区间空间是使用空闲列表(MANUAL)来管理,还是使用位图(AUTO)来管理DEF_TAB_COMPRESSIONVARCHAR2(8)表明是否启用缺省的表压缩选项RETENTIONVARCHAR2(11)指定撤销表空间中数据保留的时间。GUARANTEE表示当前表空间为撤销表空间,并且其RETE
15、NTION属性的值为GUARANTEE。这表明在撤销区间中的所有未过期撤销数据都将被保留,即使后面的操作可能会产生新的撤销数据,并占用撤销区间中的空间,系统也不会覆盖未过期的撤销数据。NOGUARANTEE表示当前表空间为撤销表空间,并且其RETENTION属性的值为NOGUARANTEE。NO APPLY表示当前表空间不是撤销表空间BIGFILEVARCHAR2(3)表明当前表空间是否为大文件表空间LCXZZU第第5 5章章 数据库存储管理数据库存储管理查看表空间信息查看表空间信息【例例】通过视图通过视图DBA_TABLESPACES查看所有表空间的信查看所有表空间的信息,代码及执行结果如下
16、:息,代码及执行结果如下:SQL SELECT TABLESPACE_NAME,CONTENTS, STATUS FROM DBA_TABLESPACES;TABLESPACE_NAMECONTENTS STATUS- -SYSTEMPERMANENT ONLINEUNDOTBS1UNDO ONLINESYSAUX PERMANENT ONLINETEMPTEMPORARY ONLINEUSERSPERMANENT ONLINEEXAMPLEPERMANENT ONLINEORCLTBS01PERMANENT ONLINEORCLTBS02PERMANENT ONLINE已选择已选择8行。行。
17、LCXZZU(3)查看表空间组及其所属的表空间信息)查看表空间组及其所属的表空间信息 字段名数据类型说 明GROUP_NAMEvarchar2(30)表空间组的名称TABLESPACE_NAMEvarchar2 (30)表空间的名称LCXZZU(4)查看表空间中所包含的段信息)查看表空间中所包含的段信息 字段名数据类型说 明OWNERVARCHAR2(30)段所有者的用户名SEGMENT_NAMEVARCHAR2(30)段的名称PARTITION_NAMEVARCHAR2(30)对象分区名SEGMENT_TYPEVARCHAR2(18)段的类型,包括PARTITION、TABLE PARTIT
18、ION、TABLE、CLUSTER、INDEX、ROLLBACK、DEFERRED ROLLBACK、TEMPORARY、CACHE、LOBSEGMENT和LOBINDEXTABLESPACE_NAMEVARCHAR2(30)包含段的表空间的名称BYTESNUMBER段的大小,单位为字节BLOCKSNUMBER段的大小,单位为数据块EXTENTSNUMBER分配给段的区间的数量NEXT_EXTENTNUMBER下一个要分配给段的区间的大小,单位为字节MIN_EXTENTSNUMBER段中允许包含的最小区间数量MAX_EXTENTSNUMBER段中允许包含的最大区间数量LCXZZU(5)查看表空
19、间中空闲区间的信息)查看表空间中空闲区间的信息 字段名数据类型说 明TABLESPACE_NAMEVARCHAR2(30)表空间的名称FILE_IDNUMBER包含区间的文件的标识符BLOCK_IDNUMBER区间中起始数据块的编号BYTESNUMBER区间的大小,单位为字节BLOCKSNUMBER区间的大小,单位为数据块RELATIVE_FNONUMBER包含区间的文件的相对文件号LCXZZU【例【例5.3】 使用使用SYS用户以用户以SYSDBA的身份登录到的身份登录到SQL Plus,执行下面的命令,执行下面的命令,可以查看当前数据库中所有表空间的空闲区间大小。可以查看当前数据库中所有表
20、空间的空闲区间大小。SELECT TABLESPACE_NAME, FILE_ID, BYTES, BLOCKS FROM DBA_FREE_SPACE;LCXZZU5.1.2 统计表空间的使用情况统计表空间的使用情况 下面介绍一种使用多个系统视图统计表空间下面介绍一种使用多个系统视图统计表空间使用情况的方法,涉及的视图如下:使用情况的方法,涉及的视图如下: DBA_DATA_FILES,用于查询所有数据文件,用于查询所有数据文件的信息。的信息。 DBA_FREE_SPACE,用于查询表空间的空闲,用于查询表空间的空闲区间信息。区间信息。 DBA_TABLESPACES,用于查询所有表空间的,
21、用于查询所有表空间的信息。信息。LCXZZU1统计所有表空间的总统计所有表空间的总空间大小空间大小 SELECT tablespace_name AS表空间名表空间名,SUM(bytes)FROM DBA_DATA_FILESGROUP BY tablespace_name;LCXZZU2统计所有表空间的空统计所有表空间的空闲空间大小闲空间大小 SELECT a.tablespace_name, NVL(SUM(b.bytes),0) bytes FROM DBA_DATA_FILES a, DBA_FREE_SPACE b WHERE a.tablespace_name = b.tables
22、pace_name (+) AND a.file_id = b.file_id (+) GROUP BY a.tablespace_name;LCXZZU3统计表空间使用情况统计表空间使用情况的的SELECT语句语句 SELECT c.tablespace_name 表空间表空间, ROUND(a.bytes/1024/1024,2) 表空间大小表空间大小,ROUND(a.bytes-b.bytes)/1048576,2) 已使用空间已使用空间,ROUND(b.bytes/1048576,2) 剩余空间剩余空间, ROUND(b.bytes/a.bytes * 100,2)|% 剩余百分比剩余
23、百分比 FROM (SELECT tablespace_name,SUM(bytes) bytes FROM DBA_DATA_FILES GROUP BY tablespace_name) a, (SELECT a.tablespace_name, NVL(SUM(b.bytes),0) bytes FROM DBA_DATA_FILES a, DBA_FREE_SPACE b WHERE a.tablespace_name = b.tablespace_name (+) AND a.file_id = b.file_id (+) GROUP BY a.tablespace_name) b,
24、 DBA_TABLESPACES c WHERE a.tablespace_name = b.tablespace_name(+) AND a.tablespace_name = c.tablespace_name ORDER BY ROUND(b.bytes/1024/1024,2);LCXZZU第第5 5章章 数据库存储管理数据库存储管理查看表空间信息查看表空间信息“表空间管理表空间管理”页面页面 操作按钮操作按钮LCXZZU5.1.3创建表空间创建表空间 1在在Oracle Enterprise Manager中创建表空间中创建表空间2使用使用CREATE TABLESPACE语句创建表
25、空间语句创建表空间LCXZZU1在在Oracle Enterprise Manager中创建表空间中创建表空间在表空间管理页面中单击在表空间管理页面中单击“创建创建”按钮,按钮,打开添加表空间页面。打开添加表空间页面。 LCXZZU添加数据文件添加数据文件 单击页面右下角的单击页面右下角的“添加添加”按钮,打开添加数据文件的页面。按钮,打开添加数据文件的页面。默认的文件目录为默认的文件目录为D:appAdministratororadataorcl(假定(假定Oracle安装在安装在D:的默认目录下),这里输入文件名为的默认目录下),这里输入文件名为MYTBS.DBF,单击,单击“继续继续”按
26、钮,返回按钮,返回添加表空间的页面,然后再单击添加表空间的页面,然后再单击“确定确定”按钮完成添加表空间的操作。此时按钮完成添加表空间的操作。此时在列表中可以看到新建的表空间在列表中可以看到新建的表空间MYTBS LCXZZU2使用使用CREATE TABLESPACE语句创建表空间语句创建表空间 CREATE UNDO TABLESPACE 表空间名表空间名DATAFILE 子句子句 MININUM EXTENT 整数整数 k|m| BLOCKSIZE 整数整数 k|logging 子句子句|FORCE LOGGING|DEFAULT 是否压缩数据段是否压缩数据段 存储子句存储子句|onli
27、ne|offline|PERMANENT|TEMPORARY|区间管理子句区间管理子句|段管理子句段管理子句LCXZZU参数说明参数说明 DATAFILE子句:用于定义表空间中包含的数据文件。子句:用于定义表空间中包含的数据文件。 MININUM EXTENT子句:用于指定表空间中包含的区间的最小值。子句:用于指定表空间中包含的区间的最小值。 BLOCKSIZE子句:用于指定一个不标准的数据块的大小。子句:用于指定一个不标准的数据块的大小。 logging子句:指定表空间上所有用户的日志属性。子句:指定表空间上所有用户的日志属性。 FORCE LOGGING:指定表空间进入强制日志模式,此时系
28、统将记录表:指定表空间进入强制日志模式,此时系统将记录表空间上对象的所有变化(不包含临时段的变化)。空间上对象的所有变化(不包含临时段的变化)。 DEFAULT 存储子句:用于指定缺省的存储信息。存储子句:用于指定缺省的存储信息。 online|offline参数:指定表空间的在线状态。参数:指定表空间的在线状态。online指定表空间在创指定表空间在创建后立即生效;建后立即生效;offline指定表空间在创建后无效。指定表空间在创建后无效。 PERMANENT|TEMPORARY参数指定表空间的类型,是永久表空间还是参数指定表空间的类型,是永久表空间还是临时表空间。永久表空间中保存永久对象,
29、临时表空间中保存会话临时表空间。永久表空间中保存永久对象,临时表空间中保存会话生命周期中存在的临时对象。生命周期中存在的临时对象。 区间管理子句:指定表空间如何管理区间。使用区间管理子句:指定表空间如何管理区间。使用local选项指定本地管选项指定本地管理表空间,使用理表空间,使用autoallocate选项表示由表空间自动分配区间,用户选项表示由表空间自动分配区间,用户不能指定区间的大小。不能指定区间的大小。 段管理子句指定表空间如何管理段,通常使用段管理子句指定表空间如何管理段,通常使用SEGMENT SPACE MANAGEMENT AUTO子句指定自动管理段。子句指定自动管理段。LCX
30、ZZU第第5 5章章 数据库存储管理数据库存储管理创建表空间创建表空间 创建表空间的语法格式如下:创建表空间的语法格式如下:CREATE BIGFILE|SMALLFILE|UNDO|TEMPORARY TABLESPACE DATAFILE |TEMPFILE数据文件名称和位置数据文件名称和位置 SIZE REUSE EXTENT MANAGEMENT LOCAL|DICTIONARY AUTOALLOCATE|UNIFORM SIZE SEGMENT SPACE MANAGEMENT AUTO|MANUAL BLOCKSIZE LCXZZU第第5 5章章 数据库存储管理数据库存储管理创建表
31、空间创建表空间 1本地管理表空间本地管理表空间 【例例1】在在CREATE TABLESPACE语句中使用语句中使用EXTENT MANAGEMENT LOCAL子句,可以创建一个本地子句,可以创建一个本地管理表空间,代码如下:管理表空间,代码如下:SQL CREATE TABLESPACE OrclTBS01 DATAFILE C:oracleproduct10.2.0oradataorclOrclTBS01.dbf SIZE 50M EXTENT MANAGEMENT LOCAL AUTOALLOCATE; 表空间已创建。表空间已创建。LCXZZU第第5 5章章 数据库存储管理数据库存储管
32、理创建表空间创建表空间 【例例2】在创建表空间在创建表空间OrclTBS02时,指定其统时,指定其统一区间大小为一区间大小为128KB,代码如下:,代码如下:SQL CREATE TABLESPACE OrclTBS02 DATAFILE C:oracleproduct10.2.0oradataorclOrclTBS02.dbf SIZE 30M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K;表空间已创建。表空间已创建。LCXZZU第第5 5章章 数据库存储管理数据库存储管理创建表空间创建表空间 查看表空间查看表空间SQL SELECT tablespac
33、e_name,extent_management,allocation_type FROM USER_TABLESPACES;LCXZZU第第5 5章章 数据库存储管理数据库存储管理创建表空间创建表空间 2大文件表空间大文件表空间【例例】在在CREATE TABLESPACE语句中使用语句中使用BIGFILE关键词可以创建大文件表空间,代码如下:关键词可以创建大文件表空间,代码如下:SQL CREATE BIGFILE TABLESPACE bigtbs DATAFILE C:oracleproduct10.2.0oradataorclbigtbs.dbf SIZE 1G;表空间已创建。表空间
34、已创建。LCXZZU第第5 5章章 数据库存储管理数据库存储管理创建表空间创建表空间3临时表空间临时表空间【例例】创建临时表空间创建临时表空间tmptbs,代码如下:,代码如下:SQL CREATE TEMPORARY TABLESPACE tmptbs TEMPFILE C:oracleproduct10.2.0oradataorcltmptbs.dbf SIZE 20M REUSE EXTENT MANAGEMENT LOCAL UNIFORM SIZE 16K;表空间已创建。表空间已创建。LCXZZU创建表空间创建表空间 REUSE 如果如果file 已经存在,并且在创建时指定了已经存在
35、,并且在创建时指定了file size,那么就重用原文件,并应用新的,那么就重用原文件,并应用新的size,如,如果没有指定果没有指定file size,则保留原有的大小。,则保留原有的大小。 如果如果file 不存在,不存在,oracle 将忽略该参数。将忽略该参数。 如果如果Oracle 使用了已经存在的使用了已经存在的file,那么之前,那么之前file里的数据将全部丢失。里的数据将全部丢失。 LCXZZU段和数据块管理段和数据块管理 当用户进行插入、更新和删除操作时,段当用户进行插入、更新和删除操作时,段中的数据块的空间会发生变化,块的状态中的数据块的空间会发生变化,块的状态也会发生变
36、化。也会发生变化。 Oracle使用两种方法进行块管理:使用两种方法进行块管理: 手动管理(手动管理(Manual Segment Space Management) 自动管理(自动管理(Automatic Segment Space Management,ASSM)LCXZZU段和数据块管理段和数据块管理 手动管理(手动管理(Manual Segment Space Management) Oracle使用自由列表(使用自由列表(Free List)管理段中的块,自由)管理段中的块,自由列表列出允许进行插入操作的数据块列表列出允许进行插入操作的数据块 自动管理(自动管理(Automatic
37、Segment Space Management,ASSM) 自动管理使用位图来管理数据快。当块发生变化时,自动管理使用位图来管理数据快。当块发生变化时,Oracle会更新位图,以反映这个块是否允许会更新位图,以反映这个块是否允许INSERT操作操作。位图使。位图使Oracle自动管理自由空间。自动管理自由空间。 LCXZZU第第5 5章章 数据库存储管理数据库存储管理段和数据块管理段和数据块管理 SEGMENT SPACE MANAGEMENT子句可定义段空间管理子句可定义段空间管理方式方式【例例】创建自动段管理方式的表空间创建自动段管理方式的表空间MyTBS01:SQL CREATE TA
38、BLESPACE MyTBS01 DATAFILE C:oracleproduct10.2.0oradataorclOrclTBS01.dbf SIZE 30M EXTENT MANAGEMENT LOCAL AUTOALLOCATE SEGMENT SPACE MANAGEMENT AUTO;【例例】创建手动段管理方式的表空间创建手动段管理方式的表空间MyTBS01:SQL CREATE TABLESPACE MyTBS01 DATAFILE C:oracleproduct10.2.0oradataorclOrclTBS01.dbf SIZE 30M EXTENT MANAGEMENT LO
39、CAL AUTOALLOCATE SEGMENT SPACE MANAGEMENT MANUAL; LCXZZU第第5 5章章 数据库存储管理数据库存储管理段和数据块管理段和数据块管理 数据块是数据块是Oracle数据库的最小存储单元,在初始化参数数据库的最小存储单元,在初始化参数DB_BLOCK_SIZE中定义了标准数据块的大小。中定义了标准数据块的大小。 在创建表空间时,如果不特殊指定,将使用在创建表空间时,如果不特殊指定,将使用DB_BLOCK_SIZE中定义的数据作为数据块的大小。中定义的数据作为数据块的大小。【例例】可以在可以在CREATE TABLESPACE语句中使用语句中使用B
40、LOCKSIZE子句子句指定非标准数据块的大小:指定非标准数据块的大小:SQL CREATE TABLESPACE OrclTBS01 DATAFILE C:oracleproduct10.2.0oradataorclOrclTBS01.dbf SIZE 30M EXTENT MANAGEMENT LOCAL AUTOALLOCATE BLOCKSIZE 8K;新创建的表空间数据块大小为新创建的表空间数据块大小为8K。LCXZZU第第5 5章章 数据库存储管理数据库存储管理撤销表空间撤销表空间 撤销记录可以用于完成如下功能:撤销记录可以用于完成如下功能: 当执行当执行ROLLBACK命令时,完
41、成回滚操作。命令时,完成回滚操作。 恢复数据库。恢复数据库。 使用闪回查询分析以前时间点的数据。使用闪回查询分析以前时间点的数据。 使用闪回技术从逻辑破坏中恢复数据。使用闪回技术从逻辑破坏中恢复数据。 初始化参数初始化参数UNDO_TABLESPACE设置默认的撤销表空间。设置默认的撤销表空间。【例例】使用使用CREATE UNDO TABLESPACE语句创建撤销表空间:语句创建撤销表空间:SQL CREATE UNDO TABLESPACE undotbs01 DATAFILE C:oracleproduct10.2.0oradataorclundotbs01.dbf SIZE 2M RE
42、USE;表空间已创建。表空间已创建。LCXZZU第第5 5章章 数据库存储管理数据库存储管理设置和修改表空间属性设置和修改表空间属性ALTER TABLESPACE RENAME TO|ADD DATAFILE|ADD TEMPFILE|OFFLINE|ONLINE|READ ONLY|READ WRITE|RESIZE LCXZZU第第5 5章章 数据库存储管理数据库存储管理设置和修改表空间属性设置和修改表空间属性 1重命名表空间重命名表空间ALTER TABLESPACE RENAME TO 【例例】将表空间将表空间OrclTBS02修改为修改为OrclTBS03,可,可以使用下面的语句:
43、以使用下面的语句:SQL ALTER TABLESPACE OrclTBS02 RENAME TO OrclTBS03;表空间已更改。表空间已更改。 LCXZZU第第5 5章章 数据库存储管理数据库存储管理设置和修改表空间属性设置和修改表空间属性2扩展本地管理表空间扩展本地管理表空间 【例例】在在ALTER TABLESPACE语句中使用语句中使用ADD DATAFILE子句,可以在本地管理表空间中增子句,可以在本地管理表空间中增加数据文件,代码如下:加数据文件,代码如下:SQL ALTER TABLESPACE OrclTBS01 ADD DATAFILE C:oracleproduct10
44、.2.0oradataorclOrclTBS011.dbf SIZE 10M;表空间已更改。表空间已更改。 LCXZZU第第5 5章章 数据库存储管理数据库存储管理设置和修改表空间属性设置和修改表空间属性3更改大文件表空间大小更改大文件表空间大小【例例】修改大文件表空间修改大文件表空间bigtbs的数据文件大的数据文件大小为小为4GB,代码如下:,代码如下:SQL ALTER TABLESPACE bigtbs RESIZE 4G;表空间已更改。表空间已更改。 LCXZZU第第5 5章章 数据库存储管理数据库存储管理设置和修改表空间属性设置和修改表空间属性4扩展临时表空间扩展临时表空间【例例】
45、在临时表空间在临时表空间tmptbs中添加临时文件,中添加临时文件,tmptbs01.dbf,文件大小为,文件大小为20MB,代码如下:,代码如下:SQL ALTER TABLESPACE tmptbs ADD TEMPFILE C:oracleproduct10.2.0oradataorcltmptbs01.dbf SIZE 20M;表空间已更改。表空间已更改。 LCXZZU第第5 5章章 数据库存储管理数据库存储管理设置和修改表空间属性设置和修改表空间属性5设置联机和脱机设置联机和脱机如下情况可将表空间设置为脱机状态:如下情况可将表空间设置为脱机状态:将数据库的一部分设置为不可访问,而其将
46、数据库的一部分设置为不可访问,而其他部分可以访问。他部分可以访问。执行脱机表空间备份。执行脱机表空间备份。在升级或维护应用程序时,将应用程序及在升级或维护应用程序时,将应用程序及其使用的表临时设置为不可访问。其使用的表临时设置为不可访问。重命名或重新分配表空间。重命名或重新分配表空间。LCXZZU第第5 5章章 数据库存储管理数据库存储管理设置和修改表空间属性设置和修改表空间属性 ALTER TABLESPACEOFFLINE语句设置表空间为脱机状态 【例例】将表空间将表空间OrclTBS01设置为脱机状态:设置为脱机状态:SQL ALTER TABLESPACE OrclTBS01 OFFL
47、INE; DBA_TABLESPACES视图查看表空间的状态 SQLSELECT TABLESPACE_NAME,CONTENTS,STATUS FROM DBA_TABLESPACES;SQLCreate Table test (ID NUMBER(9),Name VARCHAR2(10) Tablespace OrclTBS01;会出现错误会出现错误ORA-01542:表空间表空间OrclTBS01脱机,无法在脱机,无法在其中分配空间。其中分配空间。LCXZZU第第5 5章章 数据库存储管理数据库存储管理设置和修改表空间属性设置和修改表空间属性 ALTER TABLESPACEONLINE
48、语句设置表空间为联机状态。【例例】将表空间将表空间OrclTBS01设置为联机状态:设置为联机状态:SQL ALTER TABLESPACE OrclTBS01 ONLINE;SQLCreate Table test (ID NUMBER(9),Name VARCHAR2(10) Tablespace OrclTBS01;不会出现错误。会在表空间不会出现错误。会在表空间OrclTBS01中新建一表中新建一表test。LCXZZU第第5 5章章 数据库存储管理数据库存储管理设置和修改表空间属性设置和修改表空间属性 6设置只读表空间设置只读表空间 ALTER TABLESPACEREAD ONLY
49、语句设置只读表空间语句设置只读表空间【例例】将表空间将表空间OrclTBS01设置为只读表空间:设置为只读表空间:SQL ALTER TABLESPACE OrclTBS01 READ ONLY;SQL INSERT INTO test (ID,Name) VALUES (1, Jone);会出现错误会出现错误ORA-00372与与ORA-01110 。LCXZZU第第5 5章章 数据库存储管理数据库存储管理设置和修改表空间属性设置和修改表空间属性 6设置只读表空间设置只读表空间 ALTER TABLESPACEREAD WRITE语句可以将只读表语句可以将只读表空间设置为可读写状态。空间设置
50、为可读写状态。【例例】将表空间将表空间OrclTBS01设置为可读写状态:设置为可读写状态:SQL ALTER TABLESPACE OrclTBS01 READ WRITE;SQL INSERT INTO test (ID,Name) VALUES (1, Jone);已创建已创建1行。行。LCXZZU第第5 5章章 数据库存储管理数据库存储管理设置和修改表空间属性设置和修改表空间属性 编辑表空间页面编辑表空间页面 单 击 此 按单 击 此 按钮保存钮保存添 加 、 编添 加 、 编辑 和 移 去辑 和 移 去数据文件数据文件LCXZZU第第5 5章章 数据库存储管理数据库存储管理删除表空间
51、删除表空间 DROP TABLESPACE语句删除表空间。语句删除表空间。【例例】删除空的表空间删除空的表空间OrclTBS01:SQL DROP TABLESPACE OrclTBS01;表空间已删除。表空间已删除。 INCLUDING CONTENTS子句可以在删除表空间的同时子句可以在删除表空间的同时删除其中的段,例如:删除其中的段,例如:SQL DROP TABLESPACE OrclTBS01 INCLUDING CONTENTS; INCLUDING CONTENTS AND DATAFILES子句可以在删子句可以在删除表空间的同时,删除包含的段和数据文件:除表空间的同时,删除包含
52、的段和数据文件:SQL DROP TABLESPACE OrclTBS03 INCLUDING CONTENTS AND DATAFILES;删除非空表空间删除非空表空间删除操作系统级的文件删除操作系统级的文件该语句只会从数据字典中删除表空间信息,相该语句只会从数据字典中删除表空间信息,相关的数据文件依然在磁盘上。关的数据文件依然在磁盘上。LCXZZU5.2 回滚段管理回滚段管理 Oracle使用数据库中的回滚段来实现未提交使用数据库中的回滚段来实现未提交数据或因系统故障导致实例崩溃时进行回滚操数据或因系统故障导致实例崩溃时进行回滚操作,每一个表空间需要创建回滚段,各个表空作,每一个表空间需要
53、创建回滚段,各个表空间对回滚段实现各自的管理间对回滚段实现各自的管理LCXZZU5.2 回滚段管理回滚段管理 5.2.1 查看回滚段信息查看回滚段信息5.2.2 查看和设置回滚段的管理模式查看和设置回滚段的管理模式LCXZZU5.2.1 查看回滚段信息查看回滚段信息使用视图使用视图DBA_SEGMENTS可以查看当前数据库中所有段的信息。回滚段的类可以查看当前数据库中所有段的信息。回滚段的类型(型(SEGMENT_TYPE)值为)值为ROLLBACK。【例例5.22】 使用下面的语句查看所有回滚段的信息。使用下面的语句查看所有回滚段的信息。COL 回滚段名回滚段名 FOR A20SELECT
54、SEGMENT_NAME 回滚段名回滚段名, TABLESPACE_NAME 所在表空间所在表空间, BYTES 大大小小FROM DBA_SEGMENTS WHERE SEGMENT_TYPE=ROLLBACK;LCXZZU视图视图V$ROLLNAME 字段名数据类型说 明USNNUMBER回滚段编号NAMEVARCHAR2(30)回滚段名称LCXZZU视图视图V$ROLLSTAT 字段名数据类型说 明USNNUMBER回滚段编号EXTENTSNUMBER回滚段中包含的区间的数量RSSIZENUMBER回滚段的大小(单位是字节)WRITESNUMBER向回滚段中写入的字节字节数XACTSNUMBER活动事务的数量STATUSNUMBER回滚段的状态,包括ONLINE、PENDING、OFFLINE和FULLCUREXTNUMBER当前区间数量CURBLKNUMBER当前数据块数量LCXZZU【例【例5.23】 使用下面的语句查看回滚段的当前工作情况 .COL NAME FOR A12SELECT s.USN, n.NAME, s.EXTENTS, s.RSSIZE, s.STATUS FROM V$ROLLSTAT s, V$ROLLNAME nWHERE s.USN=n.USN;LCXZZU5.2.2 查看和设置回滚段查看和设置回滚段的管理模式的管理模式 O
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025届高三押题信息卷(一)历史及答案
- 2025商业综合体排水系统施工合同
- 2025年社会工作者之中级社会工作法规与政策模考模拟试题(全优)
- 2025年投资项目管理师之宏观经济政策综合检测试卷B卷含答案
- 2025关于租赁担保合同
- 2025年葡萄酒代理合同示范文本
- 2025成都市房屋建筑白蚁防治合同
- 2025成都市小型建设工程施工合同样本
- 窗帘面料的智能遮光与室内光线管理特性研究与发展趋势考核试卷
- 种植园信息化管理考核试卷
- 2024年安徽省初中(八年级)学业水平考试初二会考生物+地理试卷真题
- 火针疗法在皮肤科:国际视角
- 4000m3d制药废水计算书
- 越剧古装衣介绍
- 宅基地确权委托书
- 人事行政工作成功典范总结
- 英国皇室文化课件
- 咯血个案护理
- 第6课+呵护花季+激扬青春【中职专用】《心理健康与职业生涯规划》(高教版2023基础模块)
- 博士生入学复试面试报告个人简历介绍(完美版)模板两篇
- 康养旅游项目策划书
评论
0/150
提交评论