Oracle表空间的管理

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle表空间的管理
教学目标
• • • • • • • • 1.理解表空间的逻辑结构和物理结构。 2.熟练掌握创建(基本)表空间。 3.掌握设置表空间的状态。 4.掌握表空间中数据文件的管理。 5.了解临时表空间。 6.掌握创建与管理临时表空间。 7.理解回滚表空间的作用。 8.掌握创建与管理回滚表空间。
教学内容
1认识Oracle表空间
2实践案例:创建一个表空间 3维护表空间
4实践案例:设置默认表空间
5临时表空间 6回滚表空间
认识Oracle表空间
1 Oracle的逻辑和物理结构
2表空间的分类
3表空间的状态
Oracle的逻辑和物理结构
在ORACLE数据库中,所有数据从逻辑结构上看都是存放在表空间当中,当然表空间 下还有段、区、块等逻辑结构。从物理结构上看是放在数据文件中。一个表空间可 由多个数据文件组成。如下图所示,一个数据库由对应一个或多个表空间,表空间 逻辑上有一个或多个段(Segment)组成,物理上由一个或多个os file组成。
表空间的状态
• 4.读写(READ WRITE)
• 对表空间进行正常访问和操作。
• ALTER TABLESPACE tablespace_name READ WRITE; • 注意事项:
– 需要保证表空间处于ONLINE状态。 – 除user表空间之外,不允许将Oracle的其他系统表空 间设置为OFFLINE或READ ONLY。
表空间、数据文件创建

创建数据文件的SQL语句及说明
SQL语句
create tablespace
说明
创建一个表空间和组成它的数据文件
create temporary 创建一个临时表空间和组成它的临时文件(临时文件 tablespace 是一种特殊的数据文件,用于存放临时数据,不能永 久存放用户数据) alter tablespace … 创建一个数据文件,并将其添加到(永久)表空间 add datafile alter tablespace … 创建一个临时文件,并将其添加到临时表空间 add tempfile create database 创建一个数据库及其和system表空间关联的数据文件
Oracle的逻辑和物理结构
2.逻辑结构 逻辑结构从上到下是包含关系,也是一对多的关系。 (1)表空间(TableSpace) (2)段(Segment):段不能跨越表空间,可以跨越数据文件。
(3)区段(Extent):由连续的Oracle数据库块组成,一个区段只能存在于一
个数据文件中。
(4)数据库块(OracleBlock):Oracle DBMS I/O最小单位。OB=n*OSB。
select * from dba_temp_files; select * from v$datafile; SELECT * FROM V$TEMPFILE --查询数据文件的读写统计信息 v$filestat和 v$tempstat
show parameter undo_tablespace; show parameter undo_retention; show parameter undo_management;
Oracle的逻辑和物理结构
1.物理结构 在物理结构中,一个表空间由一个或者多个数据文件组成, 一个数据文件在物理上由操作系统块组成。 (1)数据文件(Data File)
Oracle格式的操作系统文件,如.dbf文件。数据文件的大小决 定了表空间的大小。
(2)操作系统块(OS Block)
Байду номын сангаас
依赖操作系统平台,系统操作数据文件的最小单位。一个或 者多个操作系统块组成了一个数据块。
永久表空间 存放永久性数据,如表,索引等。 临时表空间 不能存放永久性对象,用于保存数据库排序, 分组时产生的临时数据。 UNDO表空间 保存数据修改前的镜像。
基本的表空间
系统中默认创建的几个表空间: SYSTEM SYSAUX UNDOTBS1 TEMP USERS EXAMPLE 系统中必须的表空间有那几个? 答案: SYSTEM、SYSAUX、TEMP、UNDO, 像USERS、 EXAMPLE等表空间是可有可无的。
实践案例:创建一个表空间
• CREATE [TEMPORARY | UNDO] TABLESPACE tablespace_name • [ DATAFILE | TEMPFILE ‘file_name’ SIZE size K | M [REUSE] • [ AUTOEXTEND OFF | ON • [NEXT number K | M MAXSIZE UNLIMITED | number K | M] • ] [,…] ] • • • • • • [ONLINE | OFFLINE] [LOGGING | NOLOGGING] [FORCE LOGGING] [DEFAULT STORAGE存储子句] [ EXTENT MANAGEMENT DICTIONARY | LOCAL [AUTOALLOCATE | UNIFORM SIZE number K | M] ]
• ALTER TABLESPACE tablespace_name ONLINE;
表空间的状态
• 2.离线(OFFLINE) • 状态为OFFLINE,不允许访问该表空间中的数据。
– 对表空间脱机备份;对应用程序升级和维护等。 • 设置OFFLINE状态语法:
• ALTER TABLSPACE tablespace_name OFFLINE parameter;
表空间的状态
• 例:假设要将myspace表空间修改为READ ONLY。 • SQL> ALTER TABLESPACE myspace READ ONLY; • 通过数据字典dba_tablespaces查看当前数据库中表空间的状态。 语句如下: • SQL> SELECT tablespace_name, status FROM dba_tablespaces;
查询表空间中数据文件的信息
SQL> select tablespace_name, file_name , bytes/(1024*1024) MB from dba_data_files;
查询表空间中空闲空间大小
SQL> select tablespace_name, sum(bytes/(1024*1024)) free_MB from dba_free_space group by tablespace_name;
表空间相关信息
select * from user_tablespaces; select tablespace_name, contents, status from dba_tablespaces SELECT * FROM V$TABLESPACE; select * from dba_data_files; select tablespace_name, file_name from dba_data_files;
表空间的状态
• 表空间状态属性,通过它可以对表空间的使用进行管理。 • 4种状态:
离线 (OFFLINE)
只读 (READ ONLY)
在线 (ONLINE)
读写 (READ WRITE)
表空间的状态
• 1.在线(ONLINE) • 状态为ONLINE,允许访问该表空间中的数据。
• 设置ONLINE状态语法:
• (2)TEMPORARY
• 临时方式。Oracle执行检查点时不检查数据文件是否可用,使得切换 回ONLINE状态时,可能需要对数据库进行恢复。
• (3)IMMEDIATE
• 立即方式。Oracle不执行检查点,切换回ONLINE状态时,必须对数据 库进行恢复。
• (4)FOR RECOVER
• 恢复方式。数据库管理员可以使用备份的数据文件覆盖原有的数据文 件,然后再根据归档重做日志,将表空间恢复到某个时间点的状态。 此方式经常用于对表空间进行基于时间的恢复。
初始化参数DB_BLOCK_SIZE,一般为4KB或者8KB。
表空间的分类
(1)系统表空间 Oracle DBS创建时需要的表空间,自动创建,必需的表空间,满 足DBS运行的最低要求。如system、sysaux、temp、undotbs1等。 (2)非系统表空间 用户创建的表空间,依据情况灵活设置。表空间的功能就相对独 立,提高系统的效率。
--查询数据库的默认表空间 select * from database_properties where property_name like '%TABLESPACE%'; --查询用户的默认表空间select username,default_tablespace,temporary_tablespace from dba_users; --永久表空间 SQL>ALTER DATABASE DEFAULT TABLESPACE USER; --临时表空间 SQL>ALTER DATABASE DEFAULT TEMPORARY TABLESPACE TEMP; --用户级别 SQL>ALTER USER USERNAM DEFAULT TABLESPACE NEW_TABLESPACE_NAME
• Parameter:切换OFFLINE状态参数
– NORMAL正常;TEMPORARY临时; – IMMEDIATE立即;FOR RECOVER恢复。
OFFLINE Parameter参数
• (1)NORMAL • 默认方式。Oracle执行一次检查点,将SGA区中与该表空间相关的脏缓 存块全部写入数据文件中,关闭与该表空间关联的所有数据文件。
数据库、表空间、数据文件、磁盘之间关系
数据库
表空间1
表空间2
表空间3
逻辑存储结构
数据文件1
数据文件2
数据文件3
物理存储结构
磁盘1
磁盘2
大楼
公司A Room 601 公司B Room 1101 Room Room 101 A01 Room 603
数据库
表空间A 数据文 件1 表空间B 数据文 数据文 数据 件3 件4 文件5 数据文 件2
查询数据文件的信息
1、查询数据文件的信息 数据字典视图dba_data_files或动态数据字典视图V$datafile 2、查询临时文件的信息 数据字典视图dba_temp_files 3、查询数据文件的使用信息 可以在OEM中查看
4、查询数据文件的读写统计信息 动态视图v$filestat和 v$tempstat
Oracle的逻辑和物理结构
表空间的概念
– 表空间是用户可以在Oracle系统中使用的最大的逻 辑存储结构。用户在数据库中建立的所有内容都会 存储在表空间中。
– 从物理上说数据库的数据存放在数据文件中,从逻 辑上说数据是被存放在表空间中的。
– 一个表空间可以有多个数据文件。一个数据文件只 能属于一个表空间。
实践案例:创建一个表空间
• CREATE [TEMPORARY | UNDO] TABLESPACE tablespace_name • [ DATAFILE | TEMPFILE ‘file_name’ SIZE size K | M [REUSE] • [ AUTOEXTEND OFF | ON • [NEXT number K | M MAXSIZE UNLIMITED | number K | M] • ] [,…] ] • [ONLINE | OFFLINE] • [LOGGING | NOLOGGING] [FORCE LOGGING] • [COMPRESS | NOCOMPRESS] • [ EXTENT MANAGEMENT LOCAL • [AUTOALLOCATE | UNIFORM SIZE number K | M] ] • [SEGMENT SPACE MANAGEMENT AUTO | MANUAL] ;
表空间的状态
• 3.只读(READ ONLY)
• 可访问数据,但而不能进行更新或删除操作。
• ALTER TABLESPACE tablespace_name READ ONLY; • 注意事项:
– 表空间必须处于ONLINE状态。 – 表空间不能包含任何事务的回滚段。 – 表空间不能正处于在线数据库备份期间。
相关文档
最新文档