Oracle 10g物理存储结构课件_第1页
Oracle 10g物理存储结构课件_第2页
Oracle 10g物理存储结构课件_第3页
Oracle 10g物理存储结构课件_第4页
Oracle 10g物理存储结构课件_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三讲Oracle10g物理存储结构Oracle数据库系统结构数据文件控制文件重做日志文件归档重做日志文件1Oracle数据库系统结构Oracle数据库系统结构由数据库实例和物理存储结构组成。2台州学院·计算机系·大型数据库系统在Oracle数据库的存储结构包括物理存储结构和逻辑存储结构。物理存储结构主要用于描述Oracle数据库外部数据的存储,即在操作系统中如何组织和管理数据,与具体的操作系统有关;逻辑存储结构主要描述Oracle数据库内部数据的组织和管理方式,与操作系统没有关系。物理存储结构是逻辑存储结构在物理上的、可见的、可操作的、具体的体现形式。3台州学院·计算机系·大型数据库系统Oracle数据库物理存储结构5台州学院·计算机系·大型数据库系统数据文件:用于存储数据库中的所有数据;控制文件:用于记录和描述数据库的物理存储结构信息;重做日志文件:用于记录外部程序(用户)对数据库的改变操作;归档文件:用于保存已经写满的重做日志文件;初始化参数文件:用于设置数据库启动时的参数初始值;跟踪文件:用于记录用户进程、数据库后台进程等的运行情况;口令文件:用于保存具有SYSDBA,SYSOPER权限的用户名和SYS用户口令;警告文件:用于记录数据库的重要活动以及发生的错误;备份文件:用于存放数据库备份所产生的文件。6台州学院·计算机系·大型数据库系统数据文件及其管理数据文件的内容用于保存数据库中所有数据的文件。临时数据文件是一种特殊的数据文件,其存储内容是临时性的,在一定条件下自动释放。Oralce数据库中的每个数据文件都具有两个文件号,称为绝对文件号和相对文件号,用于唯一地确定一个数据文件。其中,绝对文件号用于在整个数据库范围内唯一标识一个数据文件;相对文件号用于在表空间范围内唯一标识一个数据文件。数据文件与表空间的关系一个表空间可以包含几个数据文件一个数据文件只能从属于一个表空间7台州学院·计算机系·大型数据库系统数据文件的管理创建数据文件修改数据文件的大小改变数据文件的可用性改变数据文件的名称或位置删除数据文件查询数据文件的信息利用OEM管理数据文件9台州学院·计算机系·大型数据库系统创建数据文件数据文件依附于表空间而存在,创建数据文件就是向表空间添加文件在创建数据文件时应该根据文件数据量的大小确定文件的大小以及文件的增长方式。语法ALTERTABLESPACE…ADDDATAFILEALTERTABLESPACE…ADDTEMPFILE向ORCL数据库的USERS表空间中添加一个大小为10MB的数据文件。ALTERTABLESPACEUSERSADDDATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS02.DBF'SIZE10M;向ORCL数据库的TEMP表空间中添加一个大小为5MB的临时数据文件。ALTERTABLESPACETEMPADDTEMPFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEMP02.DBF'SIZE5M;10台州学院·计算机系·大型数据库系统修改数据文件大小方法设置数据文件为自动增长方式。手工改变数据文件的大小。设置数据文件为自动增长方式创建时设置数据文件为自动增长创建后修改数据文件为自动增长AUTOEXTENDONNEXT…MAXSIZE…|UNLIMITED手工改变数据文件的大小ALTERDATABASEDATA…为ORCL数据库的USERS表空间添加一个自动增长的数据文件。ALTERTABLESPACEUSERSADDDATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS03.DBF'SIZE10MAUTOEXTENDONNEXT512KMAXSIZE50M;11台州学院·计算机系·大型数据库系统改变数据文件的可用性概念可以通过将数据文件联机或脱机来改变数据文件的可用性。在下面几种情况下需要改变数据文件的可用性:要进行数据文件的脱机备份时,需要先将数据文件脱机;需要重命名数据文件或改变数据文件的位置时,需要先将数据文件脱机;如果Oracle在写入某个数据文件时发生错误,会自动将该数据文件设置为脱机状态,并且记录在警告文件中。排除故障后,需要以手动方式重新将该数据文件恢复为联机状态。数据文件丢失或损坏,需要在启动数据库之前将数据文件脱机。13台州学院·计算机系·大型数据库系统归档模式下数据文件可用性的改变数据文件可用性的改变ALTERDATABASEDATAFILE…ONLINE|OFFLINE临时数据文件可用性的概念改变ALTERDATABASETEMPFILE…ONLINE|OFFLINE在数据库处于归档模式下,将ORCL数据库USERS表空间的数据文件USERS02.DBF脱机。ALTERDATABASEDATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS02.DBF'OFFLINE;将ORCL数据库USERS表空间的数据文件USERS02.DBF联机。ALTER

DATABASE

DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS02.DBF'ONLINE;14台州学院·计算机系·大型数据库系统非归档模式下数据文件可用性的改变在非归档模式下,通常不能将数据文件脱机。如果由于数据文件的损坏,需要将数据文件脱机,然后重新启动数据库,需要使用ALTERDATABASEDATAFORDROP语句。例如:ALTER

DATABASE

DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS02.DBF'OFFLINEFORDROP;15台州学院·计算机系·大型数据库系统改变数据文件的名称或位置改变同一个表空间中的数据文件的名称或位置ALTERTABLESPACLE…RENAMEDATA改变多个表空间中的数据文件的名称或位置ALTERDATABASERENAME注意改变数据文件的名称或位置时,Oracle只是改变记录在控制文件和数据字典中的数据文件信息,并没有改变操作系统中数据文件的名称和位置,因此需要DBA手动更改操作系统中数据文件的名称和位置。17台州学院·计算机系·大型数据库系统改变同一个表空间中的数据文件的名称或位置更改ORCL数据库USERS表空间的USERS02.DBF和USERS03.DBF文件名为USERS002.DBF和USERS003.DBF。将包含数据文件的表空间置为脱机状态。ALTERTABLESPACEUSERSOFFLINE;在操作系统中重命名数据文件或移动数据文件到新的位置。分别将USERS02.DBF和USERS03.DBF文件重命名为USERS002.DBF和USERS003.DBF。使用ALTERTABLESPACE…RENAMEDATA语句进行操作ALTERTABLESPACEUSERSRENAMEDATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS02.DBF','D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS03.DBF'TO'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS002.DBF','D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS003.DBF';将表空间联机。ALTERTABLESPACEUSERSONLINE;18台州学院·计算机系·大型数据库系统改变多个表空间中的数据文件的名称或位置更改ORCL数据库USERS表空间中的USERS002.DBF文件位置和修改TOOLS表空间中的TOOLS01.DBF文件名关闭数据库。SHUTDOWN在操作系统中,将USERS表空间中的USERS002.DBF文件复制到一个新的位置,如D:\ORACLE\PRODUCT\10.2.0\ORADATA,修改TOOLS表空间的数据文件TOOLS01.DBF的名为TOOLS001.DBF。启动数据库到MOUNT状态。STARTUPMOUNT执行ALTERDATABASERENAME语句更新数据文件名称或位置。ALTERDATABASERENAMEFILE

'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS002.DBF',

'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TOOLS01.DBF'TO

'D:\ORACLE\PRODUCT\10.2.0\ORADATA\USERS002.DBF',

'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TOOLS001.DBF';打开数据库。ALTERDATABASEOPEN;19台州学院·计算机系·大型数据库系统删除USERS表空间中的数据文件USERS03.DBF和删除TEMP临时表空间中的临时数据文件TEMP03.DBF。ALTERTABLESPACEUSERSDROPDATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS03.DBF';ALTERTABLESPACETEMPDROPTEMPFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEMP03.DBF';删除临时数据文件TEMP03.DBF还可以表示为ALTERDATABASETEMPFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEMP02.DBF'DROPINCLUDINGDATAFILES;21台州学院·计算机系·大型数据库系统删除数据文件或临时数据文件时受到以下约束:数据库运行在打开状态数据文件或临时数据文件必须是空的不能删除表空间的第一个或唯一的一个数据文件或临时数据文件不能删除只读表空间中的数据文件不能删除SYSTEM表空间的数据文件不能删除采用本地管理的处于脱机状态的数据文件。22台州学院·计算机系·大型数据库系统查询数据文件信息DBA_DATA_FILES:包含数据库中所有数据文件的信息,包括数据文件所属的表空间、数据文件编号等。DBA_TEMP_FILES:包含数据库中所有临时数据文件的信息。DBA_EXTENTS:包含所有表空间中已分配的区的描述信息。USER_EXTENTS:包含当前用户所拥有的对象在所有表空间中已分配的区的描述信息。DBA_FREE_SPACE:包含表空间中空闲区的描述信息。USER_FREE_SPACE:包含当前用户可访问的表空间中空闲区的描述信息。V$DATAFILE:包含从控制文件中获取的数据文件信息。V$DATA:包含从数据文件头部获取的信息。V$TEMPFILE:包含所有临时文件的基本信息。23台州学院·计算机系·大型数据库系统利用OEM管理数据文件创建数据文件编辑数据文件查看数据文件信息删除数据文件25台州学院·计算机系·大型数据库系统控制文件控制文件的性质控制文件是一个很小的二进制文件。控制文件描述了整个数据库的结构。在加载数据库时,实例必须首先通过初始化参数文件找到数据库的控制文件。在数据库运行期间,控制文件始终在不断更新,以便记录数据文件和重做日志文件的变化每个数据库至少拥有一个控制文件。一个数据库也可以同时拥有多个控制文件。分配在不同的物理硬盘中,以免数据库或硬盘损坏时,能够利用备份的控制文件启动数据库实例,可以提高数据库的可靠性。26台州学院·计算机系·大型数据库系统控制文件管理策略Oracle建议最少有两个控制文件,通过多路镜像技术,将多个控制文件分散到不同的磁盘中。在数据库运行过程中,始终读取CONTROL_FILES参数指定的第一个控制文件,并同时写CONTROL_FILES参数指定的所有控制文件。如果其中一个控制文件不可用,则必须关闭数据库并进行恢复。每次对数据库结构进行修改后(添加、修改、删除数据文件、重做日志文件),应该及时备份控制文件。29台州学院·计算机系·大型数据库系统控制文件的管理创建控制文件实现多路镜像控制文件备份控制文件删除控制文件查看控制文件的信息利用OEM管理控制文件30台州学院·计算机系·大型数据库系统创建控制文件创建控制文件的情形控制文件全部丢失或损坏;需要修改数据库名称;在Oracle10.2.0之前的版本中,需要修改某个最大化参数。创建控制文件的基本步骤制作数据库中所有的数据文件和重做日志文件列表SELECTMEMBERFROMV$LOGFILE;SELECTNAMEFROMV$DATAFILE;SELECTVALUEFROMV$PARAMETERWHERENAME='CONTROL_FILES';如果数据库仍然处于运行状态,则关闭数据库SHUTDOWN在操作系统级别备份所有的数据文件和联机重做日志文件启动实例到NOMOUNT状态STARTUPNOMOUNT31台州学院·计算机系·大型数据库系统利用前面得到的文件列表,执行CREATECONTROLFILE创建一个新控制文件。在操作系统级别对新建的控制文件进行备份如果数据库重命名,则编辑DB_NAME参数来指定新的数据库名称如果数据库需要恢复,则进行恢复数据库操作如果创建控制文件时指定了NORESTLOGS,可以完全恢复数据库。RECOVERDATABASE;如果创建控制文件时指定了RESETLOGS,则必须在恢复时指定USINGBACKUPCONTROLFILE。RECOVERDATABASEUSINGBACKUPCONTROLFILE;打开数据库如果数据库不需要恢复或已经对数据库进行了完全恢复,则可以正常打开数据库。ALTERDATABASEOPEN;如果在创建控制文件时使用了RESETLOGS参数,则必须指定以RESETLOGS方式打开数据库。ALTERDATABASEOPENRESETLOGS;32台州学院·计算机系·大型数据库系统实现多路镜像控制文件编辑初始化参数CONTROL_FILESALTERSYSTEMSETCONTROL_FILES=…SCOPE=SPFILE;关闭数据库SHUTDOWNIMMEDIATE;拷贝一个原有的控制文件到新的位置,并重新命名重新启动数据库

STARTUP33台州学院·计算机系·大型数据库系统备份控制文件将控制文件备份为二进制文件ALTERDATABASEBACKUPCONTROL…将控制文件备份为文本文件ALTERDATABASEBACKUPCONTROLFILETOTRACE将控制文件备份到<ORACLE_BASE>\admin\<SID>\udump目录下的跟踪文件中将控制文件备份为二进制文件。ALTERDATABASEBACKUPCONTROLFILETO'D:\ORACLE\CONTROL.BKP';将控制文件备份为文本文件。ALTERDATABASEBACKUPCONTROLFILETOTRACE;34台州学院·计算机系·大型数据库系统删除控制文件编辑CONTROL_FILES初始化参数,使其不包含要删除的控制文件;关闭数据库;在操作系统中删除控制文件;重新启动数据库。35台州学院·计算机系·大型数据库系统查询控制文件的信息V$DATABASE:从控制文件中获取的数据库信息;V$CONTROLFILE:包含所有控制文件名称与状态信息;V$CONTROL:包含控制文件中各记录文档段信息;V$PARAMETER:可以获取初始化参数CONTROL_FILES的值。36台州学院·计算机系·大型数据库系统利用OEM管理控制文件查看控制文件信息备份控制文件37台州学院·计算机系·大型数据库系统重做日志文件重做日志文件的概念重做日志文件,保存了用户对数据库所作的更新操作(DDL、DML),包含的主要信息是记录事务的开始和结束、事务中每项操作的对象和类型、更新操作前后的数据值等。重做日志文件是由重做记录构成的,每个重做记录由一组修改相量组成。用户对数据库所做的修改都是在数据库的数据高速缓冲区中进行的,同时将产生的重做记录写入重做日志缓冲区。在一定条件下由DBWR进程将数据高速缓冲区中修改后的结果成批写回数据文件中,而重做日志缓冲区中的重做记录由LGWR进程周期性的写入重做日志文件。

利用重做日志文件恢复数据库是通过事务的重做(REDO)或回退(UNDO)实现的。38台州学院·计算机系·大型数据库系统重做日志文件的工作过程每个数据库至少需要两个重做日志文件,采用循环写的方式进行工作。当一个重做日志文件写满后,进程LGWR就会移到下一个日志组,称为日志切换,同时信息会写到控制文件中。重做日志文件工作流程39台州学院·计算机系·大型数据库系统为了保证LGWR进程的正常进行,通常采用重做日志文件组(GROUP),每个组中包含若干

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论