新-第6章物理存储结构.ppt_第1页
新-第6章物理存储结构.ppt_第2页
新-第6章物理存储结构.ppt_第3页
新-第6章物理存储结构.ppt_第4页
新-第6章物理存储结构.ppt_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

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

文档简介

第6章物理存储结构,本章内容,Oracle数据库系统结构数据文件控制文件重做日志文件归档重做日志文件,本章要求,理解掌握Oracle的系统结构掌握数据文件及管理掌握控制文件的管理掌握重做日志文件管理掌握数据库归档模式设置及归档操作,6.1Oracle数据库系统结构,Oracle数据库,拥有者,模式,1,表,视图,1,2,3,序列,用户视图,物理文件,表空间,逻辑结构,数据段,区间,数据块,物理块,物理结构,数据文件,控制文件,联机日志文件,索引段,段,模式的概念Oracle中,数据对象是以模式为单位进行组织和管理的。模式是一系列逻辑数据结构或对象的集合。模式与用户相对应,一个模式只能被一个数据库用户所拥有,且模式的名称与用户的名称相同。通常情况下,用户所创建的数据库对象都保存在与自己同名的模式中。同一模式中数据库对象的名称必须唯一,而在不同模式中数据库对象可以同名。例用户usera和userb都可以在数据库中创建名为test的表格,用户usera创建的test表放在usera的模式中,用户userb创建的test表放在userb的模式中.默认时用户引用的对象是自己同名模式的对象,如果要引用其他模式中的对象,需要指明对象所属模式。如用户usera要引用userb的test表,需使用userb.test格式。,Oracle实列的概念数据库管理系统是处于用户与物理数据库之间的一个中间层软件,又称为实例。由内存结构和后台进程组成。启动数据库时,oracle首先在内存中获取一定得空间,启动各种用途的后台进程,即创建一个数据库实例,然后由实例装载数据文件和重做日志文件,最后打开数据库。用户操作数据库的过程实际上是与数据库实例建立连接,然后通过实例来连接、操作数据库的过程。,物理存储结构的构成,数据文件:用于存储数据库中所有数据;控制文件:用于记录和描述数据库的物理存储结构信息;重做日志文件:用于记录外部程序(用户)对数据库的修改操作;初始化参数:用于设置数据库启动时参数初始值;跟踪文件:用于记录用户进程、数据库后台进程的运行情况;归档文件:用于保存已经写满的重做日志文件;口令文件:用于保存具有SYSDBA,SYSOPER权限的用户名和SYS用户口令。,6.2数据文件及其管理,数据文件概述数据文件的管理,6.2.1数据文件概述,数据文件的内容用于保存数据库中数据的文件(扩展名:DBF)系统数据、数据字典数据、临时数据、索引数据、应用数据等都物理的存储在数据文件中。数据库的操作,本质都是对数据文件进行操作。数据文件与表空间的关系数据文件都依附于表空间而存在一个表空间可以包含几个数据文件一个数据文件只能对应一个表空间数据库对象存放在表空间所对应的数据文件中,数据文件的存储策略由于对数据库的操作最终转换为对数据文件的操作,因此在数据库运行过程中对数据文件进行频繁的读写操作。为了提供I/O效率,应该合理的分配数据文件的存储位置。把不同存储内容的数据文件放置在不同的硬盘上,可以并行访问数据,提高系统读写的效率。初始化参数文件、控制文件、重做日志文件最好不要与数据文件存放在同一个磁盘上,以免数据库发生介质故障时,无法恢复数据库。,6.2.2数据文件的管理,创建数据文件修改数据文件的大小改变数据文件的可用性改变数据文件的名称和位置查询数据文件的信息,创建数据文件,数据文件依附于表空间而存在,创建数据文件就是向表空间添加文件在创建数据文件时应该根据文件数据量的大小确定文件的大小以及文件的增长方式。语法CREATETABLESPACECREATEDTABASEALTERTABLESPACEADDDATAFILEALTERTABLESPACEADDTEMPFILE,例:向ORCL数据库的USERS表空间中添加一个大小为10MB的数据文件。ALTERTABLESPACEUSERSADDDATAFILED:Oracleoradataorcluserdata02.dbfSIZE10M;例:向ORCL数据库的TEMP表空间添加一个大小为5MB的临时数据文件。ALTERTABLESPACETEMPADDTEMPFILED:Oracleoradataorcltemp02.dbfSIZE5M;,修改数据文件大小,方法设置数据文件为自动增长方式。手工改变数据文件的大小。设置数据文件为自动增长方式创建时设置数据文件为自动增长创建后修改数据文件为自动增长AUTOEXTENDONNEXTMAXSIZE|UNLIMITED手工改变数据文件的大小ALTERDATABASEDATAFILERESIZE,例:为ORCL数据库的USERS表空间添加一个自动增长的数据文件。ALTERTABLESPACEUSERSADDDATAFILED:Oracleoradataorcluserdata03.dbfSIZE10MAUTOEXTENDONNEXT512KMAXSIZE250M;例:ORCL数据库USERS表空间的数据文件userdata02.dbf为自动增长。ALTERDATABASEDATAFILED:Oracleoradataorcluserdata02.dbfAUTOEXTENDONNEXT512KMAXSIZEUNLIMITED;,例:取消ORCL数据库USERS表空间的数据文件userdata02.dbf的自动增长。ALTERDATABASEDATAFILED:Oracleoradataorcluserdata02.dbfAUTOEXTENDOFF;例:将ORCL数据库USERS表空间的数据文件userdata02.dbf大小设置为8MB。ALTERDATABASEDATAFILED:Oracleoradataorcluserdata02.dbfRESIZE8M,改变数据文件的可用性,可以通过将数据文件联机或者脱机来改变数据文件的可用性处于脱机状态的数据文件对数据库来说是不可用的,直到它们被恢复为联机状态ALTERDATABASEDATAFILEONLINE|OFFLINE改变数据文件的状态时,数据库必须运行在归档模式下,改变数据文件的名称和位置,改变数据文件的名称或位置操作分为两种情况:如果要改变的数据文件属于同一个表空间,使用:ALTERTABLESPACEtablespace_nameRENAMEDATAFILETO如果要改变的数据文件属于多个表空间,使用:ALTERDATABASERENAMEDATAFILETO,改变同一个表空间的数据文件,(1)表空间脱机ALTERTABLESPACEtablespace_nameOFFLINE(2)修改操作系统中文件名称或位置(3)执行ALTER语句ALTERTABLESPACEtablespace_nameRENAMEDATAFILETO(4)表空间联机ALTERTABLESPACEtablespaceONLINE,改变同一个表空间的数据文件,例:更改ORCL数据库USERS表空间的userdata02.dbf和userdata03.dbf文件名为userdata002.dbf和userdata003.dbf(1)将包含数据文件的表空间置为脱机状态。ALTERTABLESPACEUSERSOFFLINE;(2)在操作系统中重命名数据文件或移动数据文件到新的位置。分别将userdata02.dbf和userdata03.dbf文件重命名为userdata002.dbf和userdata003.dbf。(3)重新连接数据库,使用ALTERTABLESPACERENAMEDATAFILETO语句进行操作。,CONNECTsys/llx123ORCLASSYSDBAALTERTABLESPACEUSERSRENAMEDATAFILED:Oracleoradataorcluserdata02.dbf,D:Oracleoradataorcluserdata03.dbfTOD:Oracleoradataorcluserdata002.dbf,D:Oracleoradataorcluserdata003.dbf;(4)将表空间联机ALTERTABLESPACEusersONLINE;,改变属于多个表空间的数据文件,(1)关闭数据库SHUTDOWNIMMEDIATE(2)修改操作系统文件名称或位置(3)启动数据库到MOUNT状态STARTUPMOUNT(4)执行ALTER语句ALTERDATABASERENAMEFILETO(5)打开数据库ALTERDATABASEOPEN,例:更改ORCL数据库USERS表空间的userdata002.dbf文件位置和修改TOOLS表空的tools01.dbf文件名(1)关闭数据库SHUTDOWN(2)在操作系统中,将要改动的数据文件复制到新位置或改变它们名称。将USERS表空间的userdata002.dbf文件复制到一个新的位置,如D:Oracleoradatauserdata002.dbf;修改TOOLS表空间的数据文件tools01.dbf名为tools001.dbf,(3)启动数据库到MOUNT状态STARTUPMOUNT(4)执行ALTERDATABASERENAMEFILETO语句更新数据文件名称或位置。ALTERDATABASERENAMEFILED:Oracleoradataorcluserdata02.dbf,D:Oracleoradataorcltools01.dbfTOD:Oracleoradatauserdata02.dbf,D:Oracleoradataorcltools001.dbf;(5)打开数据库。ALTERDATABASEOPEN;,查询数据文件信息,数据文件信息DBA_DATA_FILESV$DATAFILE临时文件信息DBA_TEMP_FILESV$TEMPFILE,查询数据文件动态信息SELECTNAME,FILE#,STATUS,CHECKPOINT_CHANGE#FROMV$DATAFILE查询数据文件的增长方式SELECTTABLESPACE_NAME,BYTES,AUTOEXTENSIBLE,FILE_NAMEFROMDBA_DATA_FILES查询临时数据文件信息SELECTTABLESPACE_NAME,FILE_NAME,AUTOEXTENSIBLEFROMDBA_TEMP_FILES;,利用OEM管理数据文件,查询数据文件信息创建数据文件修改数据文件,6.3控制文件,控制文件概述控制文件管理,6.3.1控制文件概述,控制文件的性质(扩展名为CTL)是最重要的物理文件,是一个很小的二进制文件在加载数据库时,实例必须首先通过初始化参数文件找到数据库的控制文件。控制文件描述了整个数据库的结构。控制文件主要包括数据文件和重做日志文件的位置、数据库名称、需要恢复的信息等内容。控制文件是不需DBA编辑的二进制文件。在数据库运行期间,控制文件始终在不断更新,以便记录数据文件和重做日志文件的变化每个数据库至少拥有一个控制文件。一个数据库也可以同时拥有多个控制文件。分配在不同的物理硬盘中,以免数据库或硬盘损坏时,能够利用备份的控制文件启动数据库实例,可以提高数据库的可靠性。,控制文件的内容数据库名称和标识数据库创建的时间表空间名称数据文件和重做日志文件的名称和位置当前重做日志文件的序号检查点的信息回退段的开始和结束重做日志的归档信息备份信息数据库恢复所需要的同步信息,此外,控制文件中还存储了一些决定数据库规模的最大化参数,控制文件中的最大化参数包括:MAXLOGFILES:最大重做日志文件组数量MAXLOGMEMBERS:重做日志文件组中最大成员数量MAXLOGHISTORY:最大历史重做日志文件数量MAXDATAFILES:最大数据文件数量MAXINSTANCES:可同时访问的数据库最大实例个数,6.3.2控制文件的管理,ORACLE建议最少有两个控制文件,通过多路复用技术或操作系统磁盘镜像技术,将多个控制文件分散到不同的磁盘中。每次对数据库结构进行修改后,应该即时备份控制文件。,6.3.2控制文件的管理,创建控制文件实现多路复用控制文件备份控制文件删除控制文件查看控制文件的信息,创建控制文件,创建控制文件的情形创建数据库时,需要创建控制文件;控制文件全部丢失或损坏;需要修改某个永久性数据库结构参数,如数据库名称、MAXLOGFILES、MAXLOGMEMBERS、MAXDATAFILES、MAXINSTANCES等。创建控制文件的基本步骤列出数据库中所有的数据文件和重做日志文件的名称和路径如果数据库仍然处于运行状态,则关闭数据库在操作系统级别备份所有的数据文件和联机重做日志文件,(1)启动实例,STARTUPNOMOUNT(2)利用前面得到的文件列表,执行CREATECONTROLFILE创建一个新控制文件。(3)在操作系统级别对新建的控制文件进行备份(4)修改初始化的参数文件中CONTROL_FILES参数,指向新的控制文件。(5)如果需要,对数据库进行恢复;(6)重新打开数据库,实现多路复用控制文件,(1)编辑初始化参数CONTROL_FILESALTERSYSTEMSETCONTROL_FILES=SCOPE=SPFILE;(2)关闭数据库SHUTDOWNIMMEDIATE;(3)拷贝一个原有的控制文件到新的位置,并重新命名(4)重新启动数据库STARTUP,例:(1)编辑初始化参数CONTROL_FILES。ALTERSYSTEMSETCONTROL_FILES=D:ORACLEORADATAORCLCONTROL01.CTL,D:ORACLEORADATAORCLCONTROL02.CTL,D:ORACLEORADATAORCLCONTROL03.CTL,D:ORACLEORADATACONTROL04.CTLSCOPE=SPFILE;注意:前3个控制文件是原有的控制文件,最后一个控制文件是将要添加的。(2)关闭数据库SHUTDOWNIMMEDIATE;(3)拷贝一个原有的控制文件到新的位置,并重新命名。拷贝D:ORACLEORADATACONTROL01.CTL文件到D:ORACLEORADATA目录下,并重命名为CONTROL04.DBF。(4)重新启动数据库STARTUP,备份控制文件,将控制文件备份为二进制文件ALTERDATABASEBACKUPCONTROLFILETO将控制文件备份为文本文件ALTERDATABASEBACKUPCONTROLFILETOTRACE(ORACLE_BASEadminudump)控制文件备份之后,如果控制文件丢失或者损坏,只需要修改control_files参数指向备份的控制文件,重新启动数据文件即可。,将控制文件备份为二进制文件。ALTERDATABASEBACKUPCONTROLFILETOD:ORACLEORADATACONTROL.BKP;将控制文件备份为文本文件。ALTERDATABASEBACKUPCONTROLFILETOTRACE;,删除控制文件,编辑CONTROL_FILES初始化参数,使其不包含要删除的控制文件关闭数据库在操作系统中删除控制文件重新启动数据库,查询控制文件的信息,V$CONTROLFILE列出了与实例有关的所有控制文件的名称和状态V$PARAMETER列出了所有参数的状态和位置.V$CONTROLFILE_RECORD_SECTION提供控制文件记录区的信息.SHOWPARAMETERSCONTROL_FILES列出控制文件的名称、状态和位置,利用OEM管理控制文件,查看控制文件信息备份控制文件,6.4重做日志文件,重做日志文件概述重做日志文件的管理,重做日志文件概述,重做日志文件的概念重做日志文件,保存了用户对数据库所作的更新操作(插入、删除或修改),包含的主要信息是记录事务的开始和结束、事务中每项操作的对象和类型、更新操作前后的数据值等。重做日志文件是由重做记录构成的,每个重做记录由一组修改相量组成。用户对数据库所做的修改都是在数据库的数据高速缓冲区中进行的,同时将产生的重做记录写入重做日志缓冲区。在一定条件下由DBWR进程将数据高速缓冲区中修改后的结果成批写回数据文件中,而重做日志缓冲区中的重做记录由LGWR进程周期性的写入重做日志文件。利用重做日志文件恢复数据库是通过事务的重做(REDO)或回退(UNDO)实现的。,重做日志文件的工作过程每个数据库至少需要两个重做日志文件,采用循环写的方式进行工作。当一个重做日志文件写满后,进程LGWR就会移到下一个日志组,称为日志切换,同时信息会写到控制文件中。重做日志文件工作流程,为了保证LGWR进程的正常进行,通常采用重做日志文件组(GROUP),每个组中包含若干完全相同的重做日志文件成员(MEMBER),这些成员文件相互镜像。,6.4.2重做日志文件的管理,添加重做日志文件组添加重做日志文件组成员文件改变重做日志文件组成员文件的名称和位置删除重做日志文件组成员删除重做日志文件组重做日志文件切换清空重做日志文件组查看重做日志文件信息,添加重做日志文件组,语法ALTERDATABASEADDLOGFILE示例ALTERDATABASEADDLOGFILEGROUP4(D:ORACLEORADATAORCLREDO4a.LOG,D:ORACLEORADATAORCLREDO4b.LOG)SIZE1M;,REDO2b.LOG,REDO1b.LOG,Group1,Group2,Group3,REDO3b.LOG,REDO2a.LOG,REDO3a.LOG,REDO1a.LOG,Group4,REDO4b.LOG,REDO4a.LOG,添加重做日志文件组成员,语法ALTERDATABASEADDLOGFILEMEMBERTOGROUP示例,ALTERDATABASEADDLOGFILEMEMBERD:ORACLEORADATAORCLREDO1c.LOGTOGROUP1,D:ORACLEORADATAORCLREDO4c.LOGTOGROUP4;,Group4,REDO4a.LOG,REDO4b.LOG,REDO4c.LOG,改变重做日志文件组成员名称和位置,语法ALTERDATABASERENAMEFILETO注意只能更改处于INACTIVE或UNUSED状态的重做日志文件组的成员文件的名称或位置。步骤关闭数据库SHUTDOWNIMMEDIATE在操作系统中重新命名重做日志文件或将重做日志文件复制到新的位置(删除原有文件)重新启动实例STARTUPMOUNT使用ALTERDATABASE语句修改数据库ALTERDATABASERENAMEFILETO打开数据库ALTERDATABASEOPEN,将重做日志文件REDO02.LOG重命名为REDO002.LOG,将REDO4C.LOG移到D:ORACLEORADATA目录下。(1)检查要修改的成员文件所在的重做日志文件组状态。SELECTgroup#,statusFROMv$log;(2)在操作系统中重命名重做日志文件或将重做日志文件移到新位置。打开D:ORACLEORADATAORCL文件夹,将REDO02.LOG更名为REDO002.LOG,同时将REDO4C.LOG移到D:ORACLEORADATA文件夹下。(3)执行ALTERDATABASERENAMEFILETO语句ALTERDATABASERENAMEFILED:ORACLEORADATAORCLREDO022.LOG,D:ORACLEORADATAORCLREDO4C.LOGTOD:ORACLEORADATAORCLREDO002.LOG,D:ORACLEORADATAREDO4C.LOG;,删除重做日志文件组成员文件,语法ALTERDATABASEDROPLOGFILEMEMBER注意事项只能删除状态为INACTIVE的重做日志文件组中成员;若要删除状态为CURRENT的重做日志文件组中成员,需执行一次手工日志切换。如果数据库处于归档模式下,在删除重做日志文件之前要保证该文件所在的重做日志文件组已归档。每个重做日志文件组中至少要有一个可用的成员文件,即VALID状态的成员文件。如果要删除的重做日志文件是所在组中的最后一个可用的成员文件则无法删除。,ALTERDATABASEDROPLOGFILEMEMBERC:ORACLEORADATAREDO4C.LOG;,Group4,REDO4a.LOG,REDO4b.LOG,REDO4c.LOG,删除重做日志文件组,语法ALTERDATABASEDROPLOGFILEGROUP注意事项无论重做日志文件组中有多少个成员文件,一个数据库至少需要使用两个重做日志文件组。如果数据库处于归档模式下,在删除重做日志文件组之前,必须确定该组已经被归档。只能删除处于INACTIVE状态的重做日志文件组,若要删除状态为CURRENT的重做日志文件组,则需执行一次手工日志切换。,示例ALTERDATABASEDROPLOGFILEGROUP4;,REDO2a.LOG,REDO1a.LOG,Group1,Group2,Group3,REDO3a.LOG,Group4,REDO4a.LOG,REDO4b.LOG,重做日志文件组切换,如果需要将当前处于CURRENT状态的重做日志组立即切换到INACTIVE状态,必须进行手工日志切换ALTERSYSTEMSWITCHLOGFILE切换后日志文件信息可检索动态性能视图来查,SELECT*FROMV$LOGFILE;,清空重做日志文件,清空重做日志文件就是将重做日志文件中的内容全部初始化,相当于删除该重做日志文件,然后再重新建立它。ALTERDATABASECLEARLOGFILEGROUP3;如果要清空的重做日志组尚未归档,则必须使用UNARCHIVED子句,避免对这个重做日志组进行归档,但是其中保存的重做记录暂时不会丢失。ALTERDATABASECLEARUNARCHIVEDLOGFILEGROUP3;,查看重做日志文件信息,V$LOGSELECTgroup#,sequence#,bytes,members,statusFROMv$log;V$LOGFILESELECT*FROMV$LOGFILE;V$LOG_HISTORY,利用OEM管理重做日志文件,添加重做日志组添加成员日志文件手工切换日志,6.5归档重做日志文件,重做日志文件归档概述数据库归档模式管理,6.5.1重做日志文件归档概述,归档模式ARCHIVELOG把已经写满了的重做日志文件保存到指定的一个或多个位置,被保存的重做日志文件的集合成为归档重做日志非归档模式,归档模式与非归档模式比较归档模式的作用数据库恢复一个数据库的备份,与在线和归档的重做日志文件一起来保证所有已经提交的事物完全恢复数据库备份能够在数据库打开时进行备份,6.5.2数据库归档模式管理,数据库归档/非归档模式设置归档模式下归档方式的选择归档路径的设置设置可选或强制归档目标查询归档信息,设置归档/非归档模式,(1)关闭数据库SHUTDOWNIMMEDIATE(2)启动数据库到MOUNT状态STARTUPMOUNT(3)使用ALTERDATABASEARCHIVELOG语句将数据库设置为归档模式。ALTERDATABASEARCHIVELOG;或使用ALTERDATABASENOARCHIVELOG语句将数据库设置为非归档模式。ALTERDATABASENOARCHIVELOG;(4)打开数据库ALTERDATABASEOPEN;,关闭数据库,编辑初始化参数启动数据库于MOUNT状态修改数据库为归档模式打开数据库,SQLSHUTDOWNIMMEDIATE;,SQLSTARTUPMOUNT;,SQLALTERDATABASEARCHIVELOG;,SQLALTERDATABASEOPEN;,设置非归档模式,关闭数据库,编辑初始化参数启动数据库到MOUNT状态修改数据库为非归档模式打开数据库,SQLSHUTDOWNIMMEDIATE;,SQLSTARTUPMOUNT;,SQLALTERDATABASENOARCHIVELOG;,SQLALTERDATABASEOPEN;,在归档模式下启动或禁

温馨提示

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

评论

0/150

提交评论