欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    Oracle数据库开发实用教程第五章.ppt

    • 资源ID:6513546       资源大小:1.06MB        全文页数:72页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Oracle数据库开发实用教程第五章.ppt

    Oracle 11g实用教程,第五章 Oracle 11g数据库的物理结构,内容概要,Oracle数据库的系统结构,Oracle 11g数据库系统结构由数据库实例和物理存储结构组成。,Oracle数据库的存储结构物理存储结构:描述Oracle数据库外部数据的存储,即在操作系统中如何组织和管理数据,与具体的操作系统有关逻辑存储结构:描述在Oracle数据库内部数据的组织和存储方式的,与操作系统没有关系物理存储结构是逻辑存储结构在物理上的、可见的、可操作的、具体的体现形式。,物理存储结构,指存储在磁盘上的物理文件,逻辑存储结构,指的是内部数据的组织和管理方式,Oracle数据库物理存储结构,数据文件:用于存储数据库中的所有数据;控制文件:用于记录和描述数据库的物理存储结构信息;重做日志文件:用于记录外部程序(用户)对数据库的改变操作;归档文件:用于保存已经写满的重做日志文件;初始化参数文件:用于设置数据库启动时的参数初始值;跟踪文件:用于记录用户进程、数据库后台进程等的运行情况;口令文件:用于保存具有SYSDBA,SYSOPER权限的用户名和SYS用户口令;警告文件:用于记录数据库的重要活动以及发生的错误;备份文件:用于存放数据库备份所产生的文件。,数据文件及其管理,数据文件概述 数据文件的管理,数据文件,数据文件是用于保存数据库中数据的文件数据文件是依附于表空间而存在的数据文件的数量、文件大小受到初始化参数DB_FILES和控制文件中的Maxdatafiles 参数的限制为了提高I/O效率,要合理分配数据文件存储位置把不同存储内容的数据文件放置在不同的硬盘上初始化参数文件、控制文件、重做日志文件最好不要与数据文件存放在同一个磁盘临时数据文件:是一类特殊的数据文件,其内容是临时性的,在一定条件下自动释放数据文件与表空间的关系 数据文件依附于表空间存在表空间 数据文件,数据文件的管理,创建数据文件修改数据文件的大小改变数据文件的可用性改变数据文件的名称或位置删除数据文件 查询数据文件的信息利用OEM管理数据文件,数据文件的管理,创建数据文件CREATE TABLESPACE:创建表空间的同时创建数据文件CREATE TEMPORARY TABLESPACE:创建本地管理的临时表空间,同时创建临时数据文件。CREATE DATABASE:创建数据库和相关的数据文件。ALTER DATABASE.CREATE DATAFILE:数据库恢复操作时,新建一个空数据文件取代出现故障的数据文件。ALTER TABLESPACE.ADD DATAFILE:向表空间创建并添加数据文件。ALTER TABLESPACEADD TEMPFILE:向临时表空间创建并添加临时数据文件。注意:进行这些操作必须具备管理员权限!,创建文件,例1:向ORCL数据库的USERS表空间中添加一个大小为20 MB的数据文件。SQLALTER TABLESPACE USERS ADD DATAFILE/u01/app/oracle/oradata/orcl/users02.dbf size 20M;例2:向ORCL数据库的TEMP表空间中添加一个大小为5 MB的临时数据文件。SQLALTER TABLESPACE TEMP ADD TEMPFILE/u01/app/oracle/oradata/orcl/temp02.dbf size 5M;,修改数据文件大小,两种方法设置数据文件为自动增长方式优点:DBA无须过多干涉数据库存储空间的分配问题 可以保证应用程序不会因为分配空间不足而导致错误手工改变数据文件的大小设置数据文件为自动增长方式创建时设置:CREATE DATABASE/TABLESPACEALTER TABLESPACEADD DATAFILE创建后修改:ALTER DATABASE DATAFILEAUTOEXTEND ON NEXT MAXSIZE|UNLIMITED,AUTOEXTEND ON,指定数据文件每次自动增长的大小,指定数据文件的极限大小,指定数据文件大小没有限制,修改数据文件的大小,例1:为ORCL数据库的USERS表空间添加一个自动增长的数据文件SQLALTER TABLESPACE USERS ADD DATAFILE/u01/app/oracle/oradata/orcl/users03.dbf size 20M AUTOEXTEND ON NEXT 512K MAXSIZE 50M;例2:修改ORCL数据库的USERS表空间的数据文件USERS02.DB的自动增长方式SQLALTER DATABASE DATAFILE/u01/app/oracle/oradata/orcl/users02.dbf AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED;,修改数据文件的大小,手动改变数据文件的大小ALTER DATABASE DATAFILERESIZE例:将ORCL数据库的USERS表空间的数据文件USERS02.DBF大小设置为8MB。SQLALTER DATABASE DATAFILE/u01/app/oracle/oradata/orcl/users02.dbf RESIZE 10M;注意:不能随意减小数据文件的大小,因为数据文件中包含的数据可能超过设定的数值,这样数据库就会发生错误,可以通过将数据文件联机或脱机来改变数据文件或临时数据文件的可用性.改变文件可用性的几种情况:进行数据文件的脱机备份时;重命名数据文件或改变数据文件的位置时;写入某个数据文件时发生错误,会自动将该数据文件设置为脱机状态,并且记录在警告文件中。排除故障后,需要以手动方式重新将该数据文件恢复为联机状态。数据文件丢失或损坏,需要在启动数据库之前将数据文件脱机。,归档模式下数据文件可用性的改变,数据文件可用性的改变ALTER DATABASE DATAFILE ONLINE|OFFLINE临时数据文件可用性的概念改变ALTER DATABASE TEMPFILE ONLINE|OFFLINE例,在归档模式下,将ORCL数据库的USERS表空间的数据文件USERS02.DBF脱机之后再联机SQLALTER DATABASE DATAFILE/u01/app/oracle/oradata/orcl/users02.dbf OFFLINE;SQLALTER DATABASE DATAFILE/u01/app/oracle/oradata/orcl/users02.dbf ONLINE;,改变数据文件的可用性,非归档模式下数据文件脱机在非归档模式下,通常不能将数据文件脱机。当数据文件损坏,需要将数据文件脱机,然后重新启动数据库 ALTER DATABASE DATAFILEOFFLINE FOR DROP例如,在非归档模式下将users02.dbf脱机SQLALTER DATABASE DATAFILE/u01/app/oracle/oradata/orcl/users02.dbf OFFLINE FOR DROP;注意:此操作并不会实际删除数据文件,数据文件还留在数据字典中,改变数据文件的可用性,改变表空间中所有数据文件的可用性在归档模式下,将表空间所有文件脱机或联机 ALTER TABLESPACE.DATAFILE ONLINE|OFFLINE在归档模式下,将临时表空间所有临时文件联机或脱机ALTER TABLESPACE.TEMPFILE ONLINE|OFFLINE表空间本身的可用性并不变例如,在归档模式下,将USERS表空间中所有的数据文件脱机,但USERS表空间不脱机SQLALTER TABLESPACE USERS DATAFILE OFFLINE;SQLRECOVER TABLESPACE USERS;注意:如果数据库处于打开状态:则不能将SYSTEM表空间、UNDO表空间和默认的临时表空间中所有的数据文件或临时文件同时设置为脱机状态注意:在归档模式下,将数据文件联机前,需要进行恢复操作,使用RECOVER DATAFILE。,改变数据文件的可用性改变名称或位置,改变属于同一个表空间的数据文件,则使用ALTER TABLESPACERENAME DATAFILETO语句实现;改变数据文件的名称或位置时,Oracle只是改变记录在控制文件和数据字典中的数据文件信息,并没有改变操作系统中数据文件的名称和位置例如,将ORCL数据库USERS表空间的USERS02.DBF和USERS03.DBF文件重命名名为USERS002.DBF和USERS003.DBF,将包含数据文件的表空间置为脱机状态,并且数据库必须是打开的。SQLALTER TABLESPACE USERS OFFLINE;在操作系统中重命名数据文件或移动数据文件到新的位置。分别将USERS02.DBF和USERS03.DBF文件重命名为USERS002.DBF和USERS003.DBF。使用ALTER TABLFSPACERENAME DATAFILETO语句进行操作,以修改控制文件中的信息。SQLALTER TABLESPACE USERS RENAME DATAFILE/u01/app/oracle/oradata/orcl/users02.dbf,/u01/app/oracle/oradata/orcl/users03.dbf TO/u01/app/oracle/oradata/orcl/users002.dbf,/u01/app/oracle/oradata/orcl/users003.dbf;备份数据库,并将表空间联机。SQLALTER TABLESPACE USERS ONLINE;,改变数据文件的名称或位置,改变属于多个表空间的数据文件,则使用ALTER DATABASE RENAME FILETO语句实现例如,更改ORCL数据库USERS表空间中的USERS002.DBF文件位置,修改EXAMPLE表空间中的example01.DBF文件名注意:如果对系统表空间、默认临时表空间或活动的撤销表空间中的数据文件或临时数据文件进行重命名或改变位置,必须使用ALTER DATABASE 语句,因为这些表空间不能置为脱机状态,关闭数据库。SQLSHUTDOWN IMMEDIATE在操作系统中,将要改动的数据文件复制到新位置或改变它们的名称。将USERS表空间中的USERS002.DBF文件复制到一个新的位置,如D:ORACLEPRODUCT10.2.0ORADATA,修改EXAMPLE表空间的数据文件example01.DBF的名为example001.DBF。启动数据库到MOUNT状态。SQLSTARTUP MOUNT执行ALTER DATABASE RENAME FILETO语句更新数据文件名称或位置。SQLALTER DATABASE RENAME FILE/u01/app/oracle/oradata/orcl/users002.dbf,/u01/app/oracle/oradata/orcl/example01.dbf TO/u01/app/oracle/oradata/users002.dbf,/u01/app/oracle/oradata/orcl/example001.dbf;打开数据库,并对数据库进行备份。SQLALTER DATABASE OPEN;,删除数据文件,空数据文件或空临时数据文件,是指为该文件分配的所有区都被回收删除数据文件或临时数据文件,将删除控制文件和数据字典中与该数据文件或临时数据文件相关的信息,同时相应的物理文件也会从操作系统中删除删除某个表空间中的某个空数据文件ALTER TABLESPACEDROP DATAFILE语句删除某个临时表空间中的某个空的临时数据文件ALTER TABLESPACE.DROP TEMPFILE语句例,删除USERS表空间中的数据文件USERS003.DBF和删除TEMP临时表空间中的临时数据文件TEMP03.DBF,数据文件信息查询,包含数据文件相关信息的数据字典视图和动态性能视图,控制文件,描述整个数据库的物理结构信息的文件是一个二进制文件,DBA不能直接修改,只能由Oracle进程读/写其内容在数据库启动时,数据库实例依赖初始化参数定位控制文件,然后根据控制文件的信息加载数据文件和重做日志文件,最后打开数据文件和重做日志文件在数据库运行与维护阶段,数据文件与重做日志文件的结构变化信息都记录在控制文件中,控制文件的内容,数据库名称和标识;数据库创建的时间;表空间名称;数据文件和重做日志文件的名称和位置;当前重做日志文件序列号;数据库检查点的信息;回退段的开始和结束:重做日志的归档信息;备份信息;数据库恢复所需要的同步信息。,控制文件的最大化参数MAXLOGFILE最大重做日志文件组数量;MAXLOGMEMBERS重做日志文件组中最大成员数量;MAXLOGHISTORY最大历史重做日志文件数量;MAXDATAFILES最大数据文件数量;MAXINSTANCES可同时访问的数据库最大实例个数控制文件管理策略Oracle建议最少有两个控制文件,通过多路镜像技术,将多个控制文件分散到不同的磁盘中在数据库运行过程中,始终读取CONTROL_FILES参数指定的第一个控制文件,并同时写CONTROL_FILES参数指定的所有控制文件。如果其中一个控制文件不可用,则必须关闭数据库并进行恢复每次对数据库结构进行修改后(添加、修改、删除数据文件、重做日志文件),应该及时备份控制文件。,控制文件管理,创建控制文件实现多路镜像控制文件备份控制文件删除控制文件查看控制文件的信息,创建控制文件,创建数据库时,系统会根据初始化参数文件中CONTROL_FILES的设置创建控制文件。创建控制文件的方式:创建初始的控制文件创建额外的备份,重命名控制文件,控制文件改变位置创建新的控制文件,创建初始的控制文件,使用CREATE DATABASE语句可以创建ORACLE数据库的初始控制文件。在数据库创建过程中使用初始化参数文件中的CONTROL_FILES参数设定控制文件,并且文件名必须是使用带路径的全文件名例如CONTROL_FILES=(/u01/oracle/orcl/control01.ctl,/u02/oracle/orcl/control02.ctl,/u03/oracle/orcl/control03.ctl),控制文件多路镜像,对控制文件重命名和改变存储位置控制文件多路镜像或重命名的步骤如下:关闭数据库在操作系统中,复制一个已有控制文件到新目录中,并重新命名在数据库参数文件列表中编辑CONTROL_FILES参数,添加一个新的控制文件名或改变已有的控制文件名重启数据库。,创建新的控制文件的语句,CREATE CONTROLFILE REUSESET DATABASE database-重命名指定DB名称LOGFILE logfile_clause-指定联机重做日志文件RESETLOGS|NORESETLOGS/*重命名DB或丢失部分联机重做日志文件,则指定RESETLOGS;对DB进行完全恢复,则指定NORESETLOGS*/DATAFILE file_specificationMAXLOGFILESMAXLOGMEMBERSMAXLOGHISTORYMAXDATAFILESMAXINSTANCESARCHIVELOG|NOARCHIVELOG-指定DB运行在归档/非归档模式FORCE LOGGING-指定DB启动后,所有变更操作都记录到日志文件CHARACTER SET character_set-指定DB的字符集,新建控制文件的基本步骤,制作数据库中所有的数据文件和重做日志文件列表 SQLSELECT MEMBER FROM V$LOGFIIE;SQLSELECT NAME FROM V$DATAFIIE;SQLSELECT VALUE FROM V$PARAMETER WHERE NAME=control_files;如果数据库仍然处于运行状态,则关闭数据库SQLSHUTDOWN IMMEDIATE在操作系统级别备份所有的数据文件和联机重做日志文件启动实例到NOMOUNT状态SQLSTARTUP NOMOUNT,利用前面得到的文件列表,执行CREATE CONTROLFILE创建一个新控制文件。在操作系统级别对新建的控制文件进行备份。如果数据库重命名,则编辑DB_NAME参数来指定新的数据库名称。如果数据库需要恢复,则进行恢复数据库操作:如果创建控制文件时指定了NORESTLOGS,可以完全恢复数据库。如果创建控制文件时指定了RESETLOGS,则必须在恢复时指定USING BACKUP CONTROLFILE。,SQL RECOVER DATABASE;,SQL RECOVER DATABASE USING BACKUP CONTROLFILE;,打开数据库如果数据库不需要恢复或已经对数据库进行了完全恢复,则可以正常打开数据库。如果在创建控制文件时使用了RESETLOGS参数,则必须指定以RESETLOGS方式打开数据库。,SQL ALTER DATABASE OPEN;,SQL ALTER DATABASE OPEN RESETLOGS;,备份控制文件,根据备份生成的控制文件的类型不同,有两种方法:备份为二进制文件ALTER DATABASE BACKUP CONTROLFILE TO*.BKP备份为文本文件ALTER DATABASE BACKUP CONTROLFILE TO TRACE注意:此时,将控制文件备份到adminudump目录下的跟踪文件中。,删除控制文件,步骤:编辑CONTROL_FILES初始化参数,使其不包含要删除的控制文件;关闭数据库;在操作系统中删除控制文件;重新启动数据库。,查看控制文件信息,与控制文件相关的数据字典视图,重做日志文件,重做日志文件概述 重做日志文件的管理,重做日志文件概述,重做日志文件的概念 重做日志文件,保存了用户对数据库所作的更新操作(DDL、DML),包含的主要信息是记录事务的开始和结束、事务中每项操作的对象和类型、更新操作前后的数据值等。重做日志文件是由重做记录构成的,每个重做记录由一组修改相量组成。修改向量记录了对数据库中某个数据块所做的修改。,用户对数据库所做的 修改记录过程:利用重做日志文件恢复数据库是通过事务的重做(REDO)或回退(UNDO)实现的。重做:指由于某些原因导致事务对数据库的修改在写入数据文件之前丢失了,此时就可以利用重做日志文件重做该事务对数据库的修改操作。回退:指如果用户在事务提交之前要撤销事务,Oracle将通过重做记录中的回退信息撤销事务对数据库所做的修改。,重做日志文件的工作过程每个数据库至少需要两个重做日志文件,采用循环写的方式进行工作。当一个重做日志文件写满后,进程LGWR就会移到下一个日志文件,称为日志切换,同时信息会写到控制文件中。重做日志文件工作流程,为了保证LGWR进程的正常进行,通常采用重做日志文件组(GROUP),每个组中包含若干完全相同的重做日志文件成员(MEMBER),这些成员文件相互镜像。,重做日志文件的管理,创建重做日志文件组及成员修改重做日志文件组成员文件的名称和位置 删除重做日志文件组成员删除重做日志文件组 重做日志文件切换 清空重做日志文件组 查看重做日志文件信息,创建重做日志文件组及成员,创建重做日志文件组语法CREATE DATABASE LOGFILE ALTER DATABASE ADD LOGFILE示例,REDO2b.LOG,REDO1b.LOG,Group 1,Group 2,Group 3,REDO3b.LOG,REDO2a.LOG,REDO3a.LOG,REDO1a.LOG,Group 4,REDO4b.LOG,REDO4a.LOG,SQLALTER DATABASE ADD LOGFILE group 4(/oracle/dbs/redo4a.log,/oracle/dbs/redo4b.log)size l0M;,注意:一般情况下,日志文件的大小在10MB到50MB之间,默认为50MB。如果没有使用GROUP 子句指定组号,则系统会自动产生组号,为当前重做日志文件组的个数加1。在Oracle10.2.0之前的版本中,数据库最多允许的重做日志文件组的数量由控制文件中的MAXLOGFILES参数决定。在Oracle10.2.0之前的版本中,每个重做日志文件组中最多成员文件数量由控制文件中的MAXLOGMEMBERS参数决定。,添加重做日志文件组成员,语法ALTER DATABASE ADD LOGFILE MEMBER TO GROUP示例注意:同一个重做日志文件组中的成员文件存储位置应尽量分散。不需要指定文件大小。新成员文件大小由组中已有成员大小决定。,SQLALTER DATABASE ADD LOGFILE MEMBER D:appuseroradataorclredo2b.log to GROUP 2;SQLALTER DATABASE ADD LOGFILE MEMBER D:appuseroradataorclredo2c.log TO(D:appuseroradataorclredo2a.log,D:appuseroradataorclredo2b.log),改变重做日志文件组成员名称或位置,语法ALTER DATABASE RENAME FILETO注意 只能更改处于INACTIVE或UNUSED状态的重做日志文件组的成员文件的名称或位置。例:将重做日志文件D:appuseroradataorclredo03.log,重命名为该路径下的redo003.log,将D:appuseroradataorclredo02.log移到 E:appuseroradata orcl目录下。,修改重做日志文件的名称和位置的具体操作步骤关闭数据库。SQLSHUTDOWN在操作系统中重新命名重做日志文件,或者将重做日志文件复制到新的位置,然后再删除原来位置上的文件。重新启动数据库实例,加载数据库,但是不打开数据库。SQLCONNECT/AS SYSDBA SQLSTARTUP MOUNT使用带RENAME FILE子句的ALTER DATABASE语句重新设置重做日志文件的路径和名称,使用语句如下 SQLALTER DATABASE RENAME FILE D:appuseroradataorclredo03.log,D:appuseroradataorclredo02.log TO D:appuseroradataorclredo003.log E:appuseroradataorclredo02.log打开数据库SQLALTER DATABASE OPEN;备份控制文件,删除重做日志文件组及成员,语法ALTER DATABASE DROP LOGFILE MEMBER注意事项只能删除状态为INACTIVE或UNUSED的重做日志文件组中的成员;若要删除状态为CURRENT的重做日志文件组中的成员,则需执行一次手动日志切换。如果数据库处于归档模式下,则在删除重做日志文件之前要保证该文件所在的重做日志文件组已归档。每个重做日志文件组中至少要有一个可用的成员文件,即VALID状态的成员文件。如果要删除的重做日志文件是所在组中最后一个可用的成员文件,则无法删除。,例,删除了2号日志组的redo2c.log文件,Group 2,REDO2a.LOG,REDO2b.LOG,REDO2c.LOG,SQL ALTER DATABASE DROP LOGFILE MEMBER D:appuseroradatalogredo2c.log;,注意:执行完该命令后,只是更新了控制文件从数据库的结构中删除 了该重做日志文件。还应该在操作成功后,在OS中手动删除。,删除重做日志文件组语法ALTER DATABASE DROP LOGFILE GROUP 注意事项无论重做日志文件组中有多少个成员文件,一个数据库至少需要使用两个重做日志文件组。如果数据库处于归档模式下,则在删除重做日志文件组之前,必须确定该组已经被归档。只能删除处于INACTIVE状态或UNUSED状态的重做日志文件组,若要删除状态为CURRENT的重做日志文件组,则需要执行一次手动日志切换。,示例,REDO2a.LOG,REDO1a.LOG,Group 1,Group 2,Group 3,REDO3a.LOG,Group 4,REDO4a.LOG,REDO4b.LOG,SQL ALTER DATABASE DROP LOGFILE GROUP 4;,注意:执行完该命令后,只是更新了控制问文件从数据库的结构中删除 了该重做日志文件组。还应该在操作成功后,在OS中手动删除。,重做日志文件切换,当LGWR进程结束对当前重做日志文件组的使用,开始写入下一个重做日志文件组时,称为发生了一次“日志切换”。通常,只有当前的重做日志文件组写满后才发生日志切换,但是可以通过:设置参数ARCHIVE_LAG_TARGET控制日志切换的时间间隔采用手工强制进行日志切换如果需要将当前处于CURRENT 状态的重做日志组立即切换到INACTIVE状态,必须进行手工日志切换。,强制日志切换的语法ALTER SYSTEM SWITCH LOGFILE;查看日志切换状态SELECT*FROM V$LOGFILE;当发生日志切换时,系统将为新的重做日志文件产生一个日志序列号,在归档时该日志序列号一同被保存。日志序列号是在线日志文件和归档日志文件的唯一标识。,清除重做日志文件组,基本概念在不关闭数据库的情况下,手工清除损坏的重做日志文件内容,避免出现数据库停止运行的情况。清除重做日志文件就是将重做日志文件中的内容全部清除,相当于删除该重做日志文件,然后再重新建立它。清除重做日志文件组是将该文件组中的所有成员文件全部清空。语句ALTER DATABASE CLEAR LOGFILE GROUP,在下列两种情况下,清除重做日志文件组的操作将无法进行。数据库只有两个重做日志文件组;需要清除的重做日志文件组处于CURRENT状态。如果要清空的重做日志文件组尚未归档,则必须使用UNARCHIVED子句,以避免对这个重做日志文件组进行归档。,SQL ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP 4;,查看重做日志文件信息,数据字典视图 查询重做日志文件组的信息SQL SELECT GROUP#,SEQUENCE#,MEMBERS,STATUS,ARCHIVED FROM V$LOG;重做日志文件组的状态有下列4种 CURRENT:当前正在被LGWR进程写入的重做日志文件组 ACTIVE:当前用于实例恢复的重做日志文件组,如正在归档。INACTIVE:当前没有用于实例恢复的重做日志文件组。UNUSED:新创建当前还没有被使用的重做日志文件组。,查询重做日志文件的信息 SQL SELECT GROUP#,TYPE,MEMBER FROM V$LOGFILE ORDER BY GROUP#;重做日志文件的状态有下列3种 VALID:当前可用的重做日志文件。INVALID:当前不可用的重做日志文件。STALE:产生错误的重做日志文件。,归档重做日志文件,重做日志文件归档概述 数据库归档模式管理,重做日志文件归档概述,基本概念Oracle数据库能够把已经写满了的重做日志文件保存到指定的一个或多个位置,被保存的重做日志文件的集合称为归档重做日志文件,这个过程称为归档。根据是否进行重做日志文件归档,数据库运行可以分为归档模式或非归档模式。,归档模式与非归档模式比较在归档模式下,数据库中历史重做日志文件全部被保存,因此在数据库出现故障时,即使是介质故障,利用数据库备份、归档重做日志文件和联机重做日志文件也可以完全恢复数据库。在非归档模式下,由于没有保存过去的重做日志文件,数据库只能从实例崩溃中恢复,而无法进行介质恢复。在非归档模式下不能执行联机表空间备份操作,不能使用联机归档模式下建立的表空间备份进行恢复,而只能使用非归档模式下建立的完全备份来对数据库进行恢复。在归档模式和非归档模式下进行日志切换的条件也不同。在非归档模式下,日志切换的前提条件是已写满的重做日志文件在被覆盖之前,其所有重做记录所对应的事务的修改操作结果全部写入到数据文件中。在归档模式下,日志切换的前提条件是已写满的重做日志文件在被覆盖之前,不仅所有重做记录所对应的事务的修改操作结果全部写入到数据文件中,还需要等待归档进程完成对它的归档操作。,对重做日志文件进行归档的优势如果发生磁盘物理损坏,则可以使用数据库备份与归档重做日志恢复已经提交的事务,保证不会发生任何数据丢失。利用归档日志文件,可以实现使用数据库打开状态下创建的备份文件来进行数据库恢复。如果为当前数据库建立一个数据库备份,通过持续地为备份数据库备份应用归档重做日志,可以保证源数据库与备份数据库的一致性。可以使用LogMiner获取数据库的历史信息,数据库归档模式管理,设置数据库归档/非归档模式归档模式下归档方式的选择归档路径的设置设置可选或强制归档目标 查询归档信息,设置归档/非归档模式,关闭数据库启动数据库到MOUNT状态使用ALTER DATABASE ARCHIVELOG语句将数据库设置为归档模式。或使用ALTER DATABASE NOARCHIVELOG语句将数据库设置为非归档模式。打开数据库,SQL SHUTDOWN IMMEDIATE,SQL STARTUP MOUNT,SQL ALTER DATABASE ARCHIVELOG;,SQL ALTER DATABASE NOARCHIVELOG;,SQL ALTER DATABASE OPEN;,归档模式下归档方式的选择,数据库在归档模式下运行时,可以采用自动或手动两种方式归档重做日志文件。如果选择自动归档方式,那么在重做日志文件被覆盖之前,ARC0进程自动将重做日志文件内容归档;如果选择了手动归档,那么在重做日志文件被覆盖之前,需要DBA手动将重做日志文件归档,否则系统将处于挂起状态。,自动归档方式的设置 启动归档进程ALTER SYSTEM ARCHIVE LOG START;关闭归档进程ALTER SYSTEM ARCHIVE LOG STOP;手动归档手动归档方式的设置ALTER DATABASE ARCHIVELOG MANUAL;对所有已经写满的重做日志文件(组)进行归档:ALTER SYSTEM ARCHIVE LOG ALL;对当前的联机日志文件(组)进行归档:ALTER SYSTEM ARCHIVE LOG CURRENT;,归档目标设置,使用初始化参数LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST设置归档路径LOG_ARCHIVE_DEST参数指定本地主归档路径LOG_ARCHIVE_DUPLEX_DEST指定本地次归档路径。使用初始化参数LOG_ARCHIVE_DEST_n设置归档路径 最多可以指定10个归档路径,其归档目标可以是本地系统的目录,也可以是远程的数据库系统。注意这两组参数只能使用一组设置归档路径,而不能两组同时使用。,SQL ALTER SYSTEM SET LOG_ARCHIVE_DEST=D:ORACLEBACKUP SCOPE=SPFILE;,SQL ALTER SYSTEM SET LOG_ARCHIVE_DUPLEX_DEST=E:ORACLEBACKUP SCOPE=SPFILE;,SQL ALTER SYSTEM SET LOG_ARCHIVE_DEST_1=LOCATION=D:BACKUP ARCHIVE;,SQL ALTER SYSTEM SET LOG_ARCHIVE_DEST_2=SERVICE=QDUTEST;,设置归档文件命名方式设置参数LOG_ARCHIVE_FORMAT指定归档文件命名方式ALTER SYSTEM SET LOG_ARCHIVE_FORMAT=arch_%t_%s_%r.arc SCOPE=SPFILE;%s:代表日志文件序列号(Log Sequences Number);%S:代表日志文件序列号,不足3位的以0补齐;%t:代表线程号(Thread Number);%T:代表线程号,不足3位的以0补齐;%r:代表重做日志的ID(Resetlogs ID);%R:代表重做日志的ID,不足3位的以0补齐。,设置最大归档进程数/最小成功归档目标数,设置最小成功归档目标数LOG_ARCHIVE_MIN_SUCCESS_DEST 设置启动最大归档进程数 LOG_ARCHIVE_MAX_PROCESSES 设置强制归档目标和可选归档目标使用LOG_ARCHIVE_DEST_n参数时通过使用OPTIONAL或MANDATORY关键字指定可选或强制归档目标。ALTER SYSTEM SET LOG_ARCHIVE_DEST_1=LOCATION=D:BACKUPARCHIVE MANDATORY;ALTER SYSTEM SET LOG_ARCHIVE_DEST_2=SERVICE=QDUTEST OPTIONAL;,归档信息查询,执行ARCHIVE LOG LIST命令 查询数据字典视图或动态性能视图 例如,查询数据库所有归档路径信息。SELECT DESTINATION,BINDING FROM V$ARCHIVE_DEST;,总结,Oracle数据库体系结构及存储结构数据库物理结构的组成数据文件的作用及其管理控制文件的作用以及管理重做日志文件的作用及其管理归档日志文件的作用及其管理,Thank You!,

    注意事项

    本文(Oracle数据库开发实用教程第五章.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开