文档详情

第5章物理存储结构讲义

今***
实名认证
店铺
PPT
1.20MB
约90页
文档ID:108147126
第5章物理存储结构讲义_第1页
1/90

第5章 物理存储结构,本章内容,Oracle数据库系统结构 数据文件 控制文件 重做日志文件 归档重做日志文件,本章要求,理解Oracle数据库的系统结构 掌握数据文件的管理 掌握控制文件的作用及其管理 掌握重做日志文件的工作方式及其管理 掌握数据库归档模式设置及归档管理,,系统的体系结构决定了数据库如何使用内存,硬件和网络,以及哪个进程或程序运行在哪台机器上5.1 Oracle数据库系统结构,Oracle 数据库系统结构由数据库实例和物理存储结构组成Oracle数据库的存储结构包括物理存储结构和逻辑存储结构 物理存储结构主要用于描述Oracle数据库外部数据的存储,即在操作系统中如何组织和管理数据,与具体的操作系统有关; 逻辑存储结构主要描述Oracle数据库内部数据的组织和管理方式,与操作系统没有关系 物理存储结构是逻辑存储结构在物理上的、可见的、可操作的、具体的体现形式Oracle数据库物理存储结构,数据文件:用于存储数据库中的所有数据; 控制文件:用于记录和描述数据库的物理存储结构信息的二进制文件; 重做日志文件:用于记录外部程序(用户)对数据库的改变操作; 归档文件:用于保存已经写满的重做日志文件; 初始化参数文件:用于设置数据库启动时的参数初始值; 跟踪文件:用于记录用户进程、数据库后台进程等的运行情况; 口令文件:用于保存具有SYSDBA,SYSOPER权限的用户名和SYS用户口令; 警告文件:用于记录数据库的重要活动以及发生的错误; 备份文件:用于存放数据库备份所产生的文件。

5.2 数据文件及其管理,数据文件概述 数据文件的管理,5.2.1数据文件概述,数据文件的内容 用于保存数据库中所有 数据的文件 临时数据文件是一种特殊的数据文件,其存储内容是临时性的,在一定条件下自动释放 Oralce数据库中的每个数据文件都具有两个文件号,称为绝对文件号和相对文件号,用于唯一地确定一个数据文件其中,绝对文件号用于在整个数据库范围内唯一标识一个数据文件;相对文件号用于在表空间范围内唯一标识一个数据文件5.2.1数据文件概述,数据文件与表空间的关系 一个表空间可以包含几个数据文件 一个数据文件只能从属于一个表空间,数据文件的管理策略 由于对数据库的操作最终转换为对数据文件的操作,因此在数据库运行过程中对数据文件进行频繁的读写操作为了提高I/O效率,应该合理的分配数据文件的存储位置 把不同存储内容的数据文件放置在不同的硬盘上,可以并行访问数据,提高系统读写的效率 初始化参数文件、控制文件、重做日志文件最好不要与数据文件存放在同一个磁盘上,以免数据库发生介质故障时,无法恢复数据库5.2.1数据文件概述,5.2.2 数据文件的管理,创建数据文件 修改数据文件的大小 改变数据文件的可用性 改变数据文件的名称或位置 删除数据文件 查询数据文件的信息 利用OEM管理数据文件,(1)创建数据文件,数据文件依附于表空间而存在,创建数据文件就是向表空间添加文件。

在创建数据文件时应该根据文件数据量的大小确定文件的大小以及文件的增长方式 语法 ALTER TABLESPACE…ADD DATAFILE ALTER TABLESPACE…ADD TEMPFILE,向ORCL数据库的USERS表空间中添加一个大小为10 MB的数据文件 ALTER TABLESPACE USERS ADD DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ ORCL\USERS02.DBF' SIZE 10M; 向ORCL数据库的TEMP表空间中添加一个大小为5 MB的临时数据文件 ALTER TABLESPACE TEMP ADD TEMPFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ ORCL\TEMP02.DBF' SIZE 5M;,(1)创建数据文件,(2)修改数据文件大小,方法 设置数据文件为自动增长方式 手工改变数据文件的大小 设置数据文件为自动增长方式 创建时设置数据文件为自动增长 创建后修改数据文件为自动增长 AUTOEXTEND ON NEXT …MAXSIZE…|UNLIMITED 手工改变数据文件的大小 ALTER DATABASE DATAFILE…RESIZE…,为ORCL数据库的USERS表空间添加一个自动增长的数据文件。

ALTER TABLESPACE USERS ADD DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ USERS03.DBF' SIZE 10M AUTOEXTEND ON NEXT 512K MAXSIZE 50M; 修改ORCL数据库USERS表空间的数据文件USERS02.DBF为自动增长方式 ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS02.DBF AUTOEXTEND ON NEXT 512K MAXSIZE ULIMITED;,(2)修改数据文件大小,取消ORCL数据库USERS表空间的数据文件USERS02.DBF的自动增长方式 ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ ORCL\USERS02.DBF ' AUTOEXTEND OFF; 将ORCL数据库USERS表空间的数据文件USERS02.DBF大小设置为8 MB ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ ORCL\USERS02.DBF' RESIZE 8M;,(2)修改数据文件大小,(3)改变数据文件的可用性,概念 可以通过将数据文件联机或脱机来改变数据文件的可用性。

处于脱机状态的数据文件对数据库来说是不可用的,直到它们被恢复为联机状态3)改变数据文件的可用性,在下面几种情况下需要改变数据文件的可用性: 要进行数据文件的脱机备份时,需要先将数据文件脱机; 需要重命名数据文件或改变数据文件的位置时,需要先将数据文件脱机; 如果Oracle在写入某个数据文件时发生错误,会自动将该数据文件设置为脱机状态,并且记录在警告文件中排除故障后,需要以手动方式重新将该数据文件恢复为联机状态 数据文件丢失或损坏,需要在启动数据库之前将数据文件脱机归档模式下数据文件可用性的改变,数据文件可用性的改变 ALTER DATABASE DATAFILE… ONLINE|OFFLINE 临时数据文件 ALTER DATABASE TEMPFILE… ONLINE|OFFLINE 可用性的概念改变,设置数据库归档/非归档,关闭数据库 SHUTDOWN IMMEDIATE 启动数据库到MOUNT状态 STARTUP MOUNT 使用ALTER DATABASE ARCHIVELOG语句将数据库设置为归档模式 ALTER DATABASE ARCHIVELOG; 或使用ALTER DATABASE NOARCHIVELOG语句将数据库设置为非归档模式。

ALTER DATABASE NOARCHIVELOG; 打开数据库 ALTER DATABASE OPEN;,在数据库处于归档模式下,将ORCL数据库USERS表空间的数据文件USERS02.DBF脱机 ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ ORCL\USERS02.DBF' OFFLINE;,(3)改变数据文件的可用性,(3)改变数据文件的可用性,将ORCL数据库USERS表空间的数据文件USERS02.DBF联机 ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ ORCL\USERS02.DBF' ONLINE; 注意:在归档模式下,将数据文件联机之前需要进行恢复操作可以使用RECOVER DATAFILE语句进行,例如: RECOVER DATAFILE ‘D:\ORACLE\PRODUCT\10.2.0\ORADATA\ ORCL\USERS02.DBF',非归档模式下数据文件可用性的改变,在非归档模式下,通常不能将数据文件脱机。

如果由于数据文件的损坏,需要将数据文件脱机,然后重新启动数据库,需要使用ALTER DATABASE DATAFILE…OFFLINE FOR DROP语句例如: ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ ORCL\USERS02.DBF'OFFLINE FOR DROP;,改变表空间中所有数据文件的可用性,在归档模式下,将表空间脱机或联机 ALTER TABLESPACE.DATAFILE ONLINE|OFFLINE 在归档模式下,将临时表空间联机或脱机 ALTER TABLESPACE.TEMPFILE ONLINE | OFFLINE,在归档模式下,将USERS表空间中所有的数据文件脱机,但USERS表空间不脱机然后再将USERS表空间中的所有数据文件联机 ALTER TABLESPACE USERS DATAFILE OFFLINE; RECOVER TABLESPACE USERS; ALTER TABLESPACE USERS DATAFILE ONLINE;,改变表空间中所有数据文件的可用性,(4)改变数据文件的名称或位置,改变同一个表空间中的数据文件的名称或位置 ALTER TABLESPACLE…RENAME DATAFILE…TO 改变多个表空间中的数据文件的名称或位置 ALTER DATABASE RENAME FILE…TO 注意 改变数据文件的名称或位置时,Oracle只是改变记录在控制文件和数据字典中的数据文件信息,并没有改变操作系统中数据文件的名称和位置,因此需要DBA手动更改操作系统中数据文件的名称和位置。

改变同一个表空间中的数据文件的名称或位置,更改ORCL数据库USERS表空间的USERS02.DBF文件名为USERS002.DBF 将包含数据文件的表空间置为脱机状态 ALTER TABLESPACE USERS OFFLINE; 在操作系统中重命名数据文件或移动数据文件到新的位置分别将USERS02.DBF文件重命名为USERS002.DBF 使用ALTER TABLESPACE…RENAME DATAFILE…TO语句进行操作 ALTER TABLESPACE USERS RENAME DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS02.DBF', TO 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS002.DBF‘; 将表空间联机 ALTER TABLESPACE USERS ONLINE;,(5)删除数据文件,删除某个表空间中的某个空数据文件 ALTER TABLESPACE…DROP DATAFILE 删除某个临时表空间中的某个空的临时数据文件 ALTER TABLESPACE… DROP TEMPFILE ALTER DATABASE TEMPFILE…DROP 所谓的空数据文件或空临时数据文件是指为该文件分配的所有区都被回收。

删除数据文件或临时数据文件的同时,将删除控制文件和数据字典中与该数据文件或临时数据文件的相关信息,同时也将删除操作系统中对应的物理文件删除USERS表空间中的数据文件USERS02.DBF和删除TEMP临时表空间中的临时数据文件TEMP02.DBF ALTER TABLESPACE USERS DROP DATAF。

下载提示
相似文档
正为您匹配相似的精品文档