Oracle大型数据库 实验五 重做日志文件、表空间管理操作

合集下载

Oracle大型数据库实验五重做日志文件、表空间管理操作

Oracle大型数据库实验五重做日志文件、表空间管理操作

Oracle大型数据库实验五重做日志文件、表空间管理操作第一篇:Oracle大型数据库实验五重做日志文件、表空间管理操作集美大学计算机工程学院实验报告课程名称:大型数据库技术指导教师:杨艳华班级:计算12 姓名:实验成绩:上机实践日期:2014.12 上机实践时间:2学时实验项目名称:重做日志文件、表空间管理操作学号:20 实验项目编号:实验五组号:一、实验目的1、理解重做日志文件的基本概念;2、掌握重做日志文件组及其成员的添加、移动、删除等操作;3、掌握归档重做日志的设置;4、理解表空间的基本概念和分类;5、掌握永久表空间的创建和管理操作;6、掌握还原表空间的管理。

二、实验要求1、完成重做日志文件组及其成员文件的管理操作;2、完成归档重做日志的设置;3、完成永久表空间和临时表空间的管理操作;4、完成还原表空间的管理。

三、实验内容(1)查看数据库当前重做日志文件组及成员的设置情况,然后,为数据库添加一组重做日志,组内包含两个成员文件,分别为redo4a.log和redo4b.log,大小分别为5MB。

1(2)为上面新添加的那组重做添加一个日志成员,命名为“redo4c-姓名简拼.log”,实现重做日志的多路存储。

(3)把数据库从非归档模式修改为归档模式,之后创造条件让数据库立即归档,并检查归档是否成功(4)创建永久表空间ν创建一个表空间名为“TB+学号后三位+姓名简拼” ν空间的大小为50M ν表空间包括两个数据文件:表空间名_01.dbf(30M)和表空间名_02.dbf(20M),大小均不能自动扩展ν数据文件均存放在Oracle 的安装根目录下ν区的分配方式为统一大小,192K ν段管理采用自动方式(5)改变上述永久表空间的可用性ν先将表空间脱机ν再进行联机(6)创建一个4K的非标准块表空间,命名为“tbf+学号后三位+姓名简拼”,数据文件存储在”oradataorcl姓名简拼”目录下,大小为(学号后三位*2)M。

Oracle重做日志文件

Oracle重做日志文件

Oracle重做⽇志⽂件⼀、Oracle中的⼏类⽇志⽂件Redo log files -->联机重做⽇志Archive log files -->归档⽇志Alert log files -->告警⽇志Trace files -->跟踪⽇志user_dump_dest -->⽤户跟踪⽇志backupground_dump_dest -->进程跟踪⽇志⼆、联机重做⽇志的规划管理1.联机重做⽇志记录了数据的所有变化(DML,DDL或管理员对数据所作的结构性更改等)提供恢复机制(对于意外删除或宕机利⽤⽇志⽂件实现数据恢复)可以被分组管理2.联机重做⽇志组由⼀个或多个相同的联机⽇志⽂件组成⼀个联机重做⽇志组⾄少两个⽇志组,每组⼀个成员(建议每组两个成员,分散放开到不同的磁盘),由LGWR后台进程同时将⽇志内容写⼊到⼀个组的所有成员LGWR的触发条件在事务提交的时候(COMMIT)Redo Log Buffer 三分之⼀满Redo Log Buffer 多于⼀兆的变化记录在DBWn写⼊数据⽂件之前3.联机重做⽇志成员重做⽇志组内的每⼀个联机⽇志⽂件称为⼀个成员⼀个组内的每⼀个成员具有相同的⽇志序列号(log sequence number),且成员的⼤⼩相同每次⽇志切换时,Oracle服务器分配⼀个新的LSN号给即将写⼊⽇志的⽇志⽂件组LSN号⽤于唯⼀区分每⼀个联机⽇志组和归档⽇志处于归档模式的联机⽇志,LSN号在归档时也被写⼊到归档⽇志之中4.⽇志⽂件的⼯作⽅式⽇志⽂件采⽤按顺序循环写的⽅式当⼀组联机⽇志组写满,LGWR则将⽇志写⼊到下⼀组,当最后⼀组写满则从第⼀组开始写⼊写⼊下⼀组的过程称为⽇志切换切换时发⽣检查点过程检查点的信息同时写⼊到控制⽂件5.联机⽇志⽂件的规划总原则分散放开,多路复⽤⽇志所在的磁盘应当具有较⾼的I/O⼀般⽇志组⼤⼩应满⾜⾃动切换间隔⾄少15-20分钟左右业务需求建议使⽤rdo结尾的⽇志⽂件名,避免误删⽇志⽂件。

oracle 重做日志文件

oracle 重做日志文件

重做日志文件重做日志文件记录的两类数据:1.修改前的数据2.修改后的数据当满足一定条件时先将修改操作所产生的重做记录写入重做日志文件中,然后才将内存中的修改结果成批的写入数据文件,最后在提交事务重做日志文件是由重做记录组成的,重做记录是由修改向量组成的。

当用户执行一条update 语句对某一个表中的记录进行修改时,会生成一条记录,这条记录用多个向量记录下了被这条语句修改过的各个db块中的信息。

重做记录采用循环的方式在SGA区的重做日志缓存区中进行缓冲,并且由后台进程LGWR 写入到其中的某个重做日志文件中。

用户无论何时提交事务,LGWR都会将该事务的重做记录从SGA的重做日志缓存区写入到某个重做日志文件中,并且为提交的每个事务分别分配一个识别重做记录的系统修改编号。

只有当与已知事务相关的所有重做记录都安全的写入重做日志文件后,用户进程才被告之已经提交。

LGWR进程在开始写入下一个重做日志文件之前,必须确保这个即将覆盖的重做日志文件已经完成了如下的工作:1.如果数据库处于“非归档日志模式(noarchivelog)”,则该重做日志文件中的所有重做记录所对应的修改结果,必须全部被写入到数据文件中。

2.如果数据库处于“归档日志模式(archivelog)”,则该重做日志文件中的所有重做记录所对应的修改结果,必须全部被写入到数据文件中,并且归档进程ARCH已经将该重做日志文件进行了归档。

活动的,非活动的,当前的联机重做日志文件LGWR当前写入的重做日志文件称为当前的联机重做日志文件,例程恢复时需要的重做日志文件称为活动的重做日志文件,例程恢复时不需要的重做日志文件称为非活动的重做日志文件。

如果已经能够进行归档,oracle就不能重新使用或重写活动的重做日志文件,知道ARCH 存储了这个文件的内容。

如果不能进行归档,当最后一个重做日志文件被填满是时,将通过重写的方法继续使用第一个可用的活动重做日志文件。

日志切换1.当一个重做日志文件被完全填满,必须填写下一个联机重做日志文件2.手动强制执行日志切换强制切换日志,需要有alter system权限,使用alter system switch logfile强制切换日志顺序号没次发生日志切换和LGWR开始进行填写时,oracle都会为每个联机重做日志文件分配一个新的日志序列号重做日志文件的归档归档就是在重做日志文件被覆盖之前,将该重做日志文件通过复制操作系统文件的方式,保存到指定的位置。

17-重做日志文件管理

17-重做日志文件管理

日志文件复用
• 复用的方法:
–创建数据库时指定 –通过手工添加成员(后讲)
新增日志组 • 新增日志组
新增日志组
• 添加不指定组号:
ALTER DATABASE ADD LOGFILE ('/oradata/u01/PROD_redo31' ,'/oradata/u02/PROD_redo32') SIZE 10M REUSE;
描述
日之切换 • 重做日志文件被循环使用。 • 当一组日志文件写满,LGWR将 写下一组日志文件。
–Called a log switch –Checkpoint operation also occurs –Information written to the control file
日之切换
–一个实例至少需要2组重做日志文 件 –当前的和活动的日志组不能被删除 –日志组删除后,该日志组成员文件 还在磁盘上
清除重做日志 • 当一个重做日志内容被破坏后, 可以删除后再重建。 • 但当这是最后两个重做日志 呢?? • 或者这个日志文件没 Nhomakorabea归档呢?
清除重做日志
日志成员重新命名
•两个问题:
Oracle Database Administration
Oracle重做日志文件管理
主要内容
• 重做日志文件描述 • 日志切换操作 • 复用重做日志文件 • 维护重做日志文件 • 重做日志文件查询
Redo Log Files Redo Log Files
描述 • 重做日志文件的特点:
–Record all changes made to data –Provide a recovery mechanism –Can be organized into groups –At least two groups required

第五章重做日志文件

第五章重做日志文件

第五章重做日志文件一:重做日志文件的目的:1.重做日志文件:为了存储更多的变化信息,为此oracle提供了一种复杂的日志结构→重做日志2.引入重做日志文件的目的?是为了方便数据库的恢复。

3.引入重做日志文件的目的:主要是提高数据库恢复的效率。

4.重做日志组:每个重做日志组有三个成员,如果oracle正常工作需要两个重做日志组。

注意:重做日志写进程当前只能向一组重做日志组写内容。

把当前正在写的这组重做日志组叫做当前重做日志组。

当写完一组后,它就开始下一组,这个过程叫做日志切换。

如下组已写完,就要进行重写,这样为了保留已有的记录信息,oracle引入了归档/存档日志。

数据库默认情况下为非归档模式:注意:当数据库为归档模式时,在日志文件没有被归档日志文件接收时,LGWR是不能向日志文件进行写操作的。

5.重做日志成员:见书上p90第三节第二段:Oracle是使用文件冗余的方法来解决这一难题的。

尽管oracle默认为每个重做日志组中只有一个成员,但是oracle建议在生产数据库中应该每个重做日志组至少有两个成员(每个成员以独立的物理文件),而且最好将它们放在不同的物理磁盘上,以防止重做日志(成员)文件的物理错误,在许多生产数据库中每个重做日志中有3个成员。

6.日志文件切换:切换的命令为:alter system switch logfile;7.关于日志文件的查看:查归档日志语句:achive log list;日志文件正常情况下有四种状态:(1)inactive;表示实例恢复已不再需要这组联机重做日志组了。

(2)active;表示这组联机重做日志是活动的但不是当前组,在实例恢复时需要这组联机重做日志组。

如:这组重做日志正在归档。

(3)current;表示这组联机重做日志是当前组,并也隐含该联机重做日志刚被添加到数据库中的状态。

(4)unused;表示oracle服务器从来没写过该组联机重做日志组,这是重做日志被添加到数据库中的状态。

5重做日志文件

5重做日志文件

5重做⽇志⽂件重做⽇志⽂件时为了数据库恢复的物理⽂件,其中保存了数据库的变更操作信息。

通过重做⽇志⽂件通常是通过重做(REDO)或者是回退(UNDO)实现的。

重做(REDO)就是有些原因到导致事务对数据库的操作的修改在写⼊数据⽂件之前丢失了,此时就可以利⽤重做⽇志⽂件做该事务对数据库的变更。

回退(UNDO)如果⽤户在事务提交之前想回滚事务,那么可以利⽤重做⽇志⽂件撤销事务对数据库所做的变更。

重做⽇志⽂件的⼯作原理:每个数据库⾄少有两个重做⽇志⽂件,采⽤循环邪写的⽅式进⾏⼯作。

这样就能保证当⼀个重做⽇志⽂件在进⾏归档时,还有另⼀个重做⽇志⽂件可⽤。

当⼀个重做⽇志⽂件被写满后,后台进⾏就开始写下⼀个重做⽇志⽂件。

当所有的重做⽇志⽂件都写满后,LGWR进程再重新开始写⼊第⼀个重做⽇志⽂件,开始新的循环。

通常LGWR进程再开始下⼀个重做⽇志之前要确定:该重做⽇志⽂件中的所有重做记录所对应的变更操作结果必须全部写⼊数据⽂件中。

如果数据库处于“归档模式”,要确定对该重做⽇志⽂件进⾏了归档。

重做⽇志⽂件切换与⽇志序列号重做⽇志⽂件切换是指LGWR对⼀个重做⽇志⽂件停⽌写⼊,开始对另⼀个重做⽇志⽂件写⼊的过程。

⽇志序列号:当每次发⽣重做⽇志切换时,数据库赋予重做⽇志⽂件⼀个⽇志序列号(log sequence number),LGWR进程将该序列号写⼊相应的重做⽇志⽂件。

重做⽇志⽂件组的概念:每个重做⽇志⽂件的拷贝称为重做⽇志⽂件组的成员(MEMBER)。

重做⽇志⽂件组使⽤数字标号,如group 1、group 2等。

重做⽇志⽂件故障响应:当重做⽇志⽂件组中某个成员⽂件不可⽤时,LGWR进程⽆法对该重做⽇志⽂件进⾏写⼊操作,数据库将表⽰该重做⽇志⽂件的状态为INVALID,将错误信息写⼊LGWR进程跟增⽂件中,同时,还会将该重做⽇志⽂件不可⽤的原因写⼊报警⽂件中。

重做⽇志⽂件规划(1)重做⽇志⽂件组的数量:在oracle数据库中,重做⽇志⽂件采⽤循环写的⽅式⼯作,因此⾄少需要两个可⽤的重做⽇志⽂件组。

oracle重做日志文件管理

oracle重做日志文件管理
查点,如fast_start_mttr_target =900表示实例恢 复的时间不会超过900秒。
oracle重做日志文件管理
oracle重做日志文件管理
oracle重做日志文件管理
移动重做日志文件
• 要改变重做日志文件的位置或名称,必须拥有 alter database系统权限。
oracle重做日志文件管理
• 不管组中包含多少成员,一个例程至少需要2个有效 的重做日志文件组,每组有一个或多个成员。如果 要删除的成员是组的最后一个有效成员,那么就不 能删除该成员,直到其他成员变为有效为止。
• 只有当要删除的重做日志成员current时才能删除。 如果想删除某个活动组的成员,首先要手动地进行 日志切换,将该组变成active/inactive状态。
复时使用 – members和bytes:重做日志组成员的个数和大小 – archived:是否归档 – status:状态,有inactive 、active、 current和
unused 4种常用状态
oracle重做日志文件管理
重做日志文件组的管理 ——重做日志文件组查询
l status字段的4种状态
files files
ARCH Archived redo log files
oracle重做日志文件管理
本章内容导航
l 重做日志文件的作用 l 重做日志文件组的管理 l 重做日志成员的管理 l 数据库的两种日志模式 l 日志切换和检查点
oracle重做日志文件管理
日志切换
l 日志切换是指停止向某个重做日志文件组写 入而向另一个联机的重做日志文件组写入。
oracle重做日志文件管理
重做日志文件组的管理 ——创建重做日志文件组

Oracle重做日志文件

Oracle重做日志文件

Oracle重做⽇志⽂件⼀.简介Oracle引⼊重做⽇志的⽬的:数据库的恢复。

Oracle相关进程:重做⽇志写进程(LGWR)。

重做⽇志性质:联机⽇志⽂件,oracle服务器运⾏时需要管理它们。

相关数据字典:v$log ; v$logfile 。

操作者权限:具有sys⽤户或system⽤户权限。

重做⽇志⽂件⽇志⽂件的数据⽂件类型:在线⽇志⽂件(⼜叫联机⽇志)与归档⽇志⽂件(在线⽇志⽂件的历史备份)⽇志运⾏的模式:归档模式、⾮归档模式(是否⾃动归档)⽇志的运⾏流程:写⽂件是依靠LGWR后台进程⽇志按照有序循环的⽅式被使⽤,即当⼀组⽇志⽂件被填满后,循环覆盖下⼀组⽇志⽂件,不断循环。

重做⽇志⽂件的⽬的:1. 记录数据的改变 2. 提供数据恢复 3. 维护数据库完整性。

⼆.获取重做⽇志的信息1. 获得数据库中有多少个重做⽇志组,每个组中有多少个成员、⽇志⼤⼩及状态。

SELECT GROUP#,SEQUENCE#,MEMBERS,BYTES,STATUS,ARCHIVEDFROM V$LOG;结果如下图:状态列(status)所显⽰常⽤状态的含义:inactive:表⽰实例恢复已不再需要这组联机重做⽇志组了。

active:表⽰该组是活动的但不是当前组,实例恢复时需要这组⽇志。

current:表⽰该组⽇志是当前组,该联机重做⽇志组是活动的。

unused:表⽰该⽇志组从未写过,是重做⽇志刚刚添加到状态。

2. 获得数据库中每个重做⽇志组的成员所在⽬录、⽂件名及状态。

SELECT GROUP#,STATUS,TYPE,MEMBERFROM V$LOGFILE;结果如下图:状态列(status)所显⽰常⽤状态的含义:空⽩:表⽰该⽂正在使⽤。

stale:表⽰该⽂件中的内容是不完全的。

invalid:表⽰该⽂件是不可以被访问的。

deleted:表⽰该⽂件已不在有⽤了。

三.⽇志切换联机重做⽇志⽂件是以⼀种循环的⽅式来使⽤,当⼀组联机重做⽇志⽂件被写满时,LGWR将开始写下⼀组⽇志⽂件,这被称为⽇志切换。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

集美大学计算机工程学院实验报告
课程名称:大型数据库技术班级:计算12实验成绩:
指导教师:杨艳华姓名:
实验项目名称:重做日志文件、表空间管理操作学号:20上机实践日期:2014.12实验项目编号:实验五组号:上机实践时间:2学时
一、实验目的
1、理解重做日志文件的基本概念;
2、掌握重做日志文件组及其成员的添加、移动、删除等操作;
3、掌握归档重做日志的设置;
4、理解表空间的基本概念和分类;
5、掌握永久表空间的创建和管理操作;
6、掌握还原表空间的管理。

二、实验要求
1、完成重做日志文件组及其成员文件的管理操作;
2、完成归档重做日志的设置;
3、完成永久表空间和临时表空间的管理操作;
4、完成还原表空间的管理。

三、实验内容
(1)查看数据库当前重做日志文件组及成员的设置情况,然后,为数据库添加一组重做日志,组内包含两个成员文件,分别为redo4a.log和redo4b.log,大小分别为5MB。

(2)为上面新添加的那组重做添加一个日志成员,命名为“redo4c-姓名简拼.log”,实现重做日志的多路存储。

(3)把数据库从非归档模式修改为归档模式,之后创造条件让数据库立即归档,并检查归档是否成功
(4)创建永久表空间
⏹创建一个表空间名为“TB+学号后三位+姓名简拼”
⏹空间的大小为50M
⏹表空间包括两个数据文件:表空间名_01.dbf(30M)和表空间名_02.dbf(20M),大
小均不能自动扩展
⏹数据文件均存放在Oracle的安装根目录<ORACLE_BASE>下
⏹区的分配方式为统一大小,192K
⏹段管理采用自动方式
(5)改变上述永久表空间的可用性
⏹先将表空间脱机
⏹再进行联机
(6)创建一个4K的非标准块表空间,命名为“tbf+学号后三位+姓名简拼”,数据文件存储在”<ORACLE_BASE>\oradata\orcl\姓名简拼”目录下,大小为(学号后三位*2)M。

(7)创建一个临时表空间
⏹名为“TTB+学号后三位+姓名简拼”
⏹包含一个数据文件:表空间名_01.dbf,大小为(学号后三位*2)M,存储
在”<ORACLE_BASE>\oradata\orcl\姓名简拼”目录下,文件的大小可以自动扩
展。

⏹将该临时表空间设置为数据库的默认临时表空间
⏹再将该临时表空间设置为scott用户的默认临时表空间
⏹查询相关的数据字典验证上面的设置。

(8)查看数据库内各个表空间及其类型,以及区管理方式、分配类型和段空间管理方法、表空间的状态。

(9)删除前面创建的非标准块表空间,同时删除表空间的内容和对应的操作系统文件。

(10)创建一个还原表空间,命名为“UNDO+学号后三位+姓名简拼”,其中包含一个数据文件(存储在”<ORACLE_BASE>\oradata\orcl\姓名简拼”目录下,命名为“表空间名_01.dbf”),大小为200M,设置该表空间的RETENTION_GUARANTEE属性。

然后,将它设置为数据库的当前表空间。

(11)为前面创建的永久表空间添加一个数据文件,命名为“表空间名_03.dbf”,该文件初始大小为50M,允许自动扩展,存储在”<ORACLE_BASE>\oradata\orcl\姓名简拼”目录下。

(12)将永久表空间中初始的两个文件移动到”<ORACLE_BASE>\oradata\orcl\姓名简拼”目录下。

(13)同时将前面创建的永久表空间和UNDO表空间内的文件进行重命名,把文件名中的“_”去掉。

三、实验小结
1、通过本次实验,我对重做日志文件组及其成员的添加、移动、删除等操作、归档重做日志的设置、表空间的基本概念和分类、永久表空间的创建和管理操作、还原表空间的管理都有了更为深入的了解和掌握;
2、切换数据库状态前,必须关闭数据库,由于没有关闭数据库,导致在数据库状态切换过程中遇到了很多问题;
3、通过本次实验,我能够完成重做日志文件组及其成员文件的管理操作、完成归档重做日志的设置、完成永久表空间和临时表空间的管理操作。

相关文档
最新文档