search
HomeDatabaseMysql TutorialOracle重做日志管理

Oracle重做日志操作是为了记录数据的改变,提供数据库的恢复,下面就为您介绍重做日志的运行流程,希望对您能够有所帮助。 一、ORACLE引入重做日志目的:记录数据的改变,提供数据库的恢复。 1、日志文件需要分组,同一个重做日志组的每个成员所存的信息完全

Oracle重做日志操作是为了记录数据的改变,提供数据库的恢复,下面就为您介绍重做日志的运行流程,希望对您能够有所帮助。

一、ORACLE引入重做日志目的:记录数据的改变,提供数据库的恢复。

1、日志文件需要分组,同一个重做日志组的每个成员所存的信息完全相同。(当为当前联机日志组添加成员时,造成该组的成员间数据不完全一样,因此添加成员时应注意被添加组是否处于CURRENT状态,如果是则可Alter system swtich logfile 来改变当前使用的日志组)

2、每个组中的重做日志文件均被称为成员

3、每组最好有2、3个成员,分别放置不同的物理磁盘,这样安全性较高。

4、最少需要两个重做日志组

二、Oracle重做日志的运行流程:

Oracle重做日志按照有序循环的方式被使用,即当一组日志文件被填满后,循环覆盖下一组日志文件,不断循环。此时称为日志切换。检查点操作也在此时发生,检查点操作是用来实现同步的,它会写数据文件的头信息、控制文件。在归档模式下,当一组日志文件被填满后,ARCH(归档写进程)将这组复制到归档日志文件中。(在ARCH正在写的重做日志文件LGWR是不可以写的)

1、Oracle重做日志文件的定稿是依靠LGWR后台进程

2、.LGWR正在写的重做日志组称为:当前重做日志组。

3、重做日志文件------联机日志文件;归档日志文件------脱机日志文件

三、查询重做日志组:

1、日志组:

select group#, sequence#, members, bytes, status, archived from v$log;

Status列中各值的意义:

Current:当前组。

Inactive:实例恢复已不需要这组日志了

Activie:这组日志是活动的,但非当前组。例如正在归档。

Unused:此组从未被写过。是日志刚被添加到DB中的状态。

2、日志文件:

Select * from v$logfile;

Status列中各值的含义:

空白:此文件正在使用。

Stale:该文件内容是不完全的。

Invalid:该文件不可以被访问。例如刚建立

Deleted:该文件已不再有用。

四、创建与删除重做日志文件组:

1、添加删除重做日志文件组:

Alter database add logfile (‘d:\**.log’, ‘e:\**.log’ ) size15m;

(这样创建的2个重做日志文件都会是同一组)

Alter database drop logfile group 4;

删除指定组号的重做日志组(删除后实际文件并未删除,需手动删除)

删除过程中出现的各种限制条件如下:

current log group当前日志组不可删除,要删除当前日志组需要先对当前日志组进行切换,使用命令为alter system switch logfile;

active log group活动的日志组不可删除

no archived log group没有归档的日志组不可删除(前提是已运行在归档模式下)

2、添加/删除重做日志文件:

Alter database add logfile member‘d:\red004.log’ to group 1,‘d:\red005.log’ to group2;

Alter database drop logfile member ‘d:\red004.log’;
删除时遇到的限制条件:

不能删除当前组的成员,如要删除则:强制性切换重做日志的命令:alter system switch logfile;

active log group活动的日志成员不可删除

no archived log group没有归档的日志成员不可删除(前提是已运行在归档模式下)

at least one member per group当日志成员中只有一个成员

特例:

有的时候在删除重做日志文件redo log file时,会出现如下错误

ERROR位于第1行:

ORA-00362:要求输入成员以组成组4中的有效日志文件

ORA-01517:日志成员: 'C:\ORACLE\ORADATA\GXCNC\REDO041.LOG'

(之所以不能drop logfile member from group 2,是因为group 2的其他redo log file的状态不对。这种情况,应该作几次alter system switch logfile ,使group 2的其他redo log file的状态变为正常 就可以了。)

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
oracle怎么查询所有索引oracle怎么查询所有索引May 13, 2022 pm 05:23 PM

方法:1、利用“select*from user_indexes where table_name=表名”语句查询表中索引;2、利用“select*from all_indexes where table_name=表名”语句查询所有索引。

什么是oracle asm什么是oracle asmApr 18, 2022 pm 04:16 PM

oracle asm指的是“自动存储管理”,是一种卷管理器,可自动管理磁盘组并提供有效的数据冗余功能;它是做为单独的Oracle实例实施和部署。asm的优势:1、配置简单、可最大化推动数据库合并的存储资源利用;2、支持BIGFILE文件等。

oracle全角怎么转半角oracle全角怎么转半角May 13, 2022 pm 03:21 PM

在oracle中,可以利用“TO_SINGLE_BYTE(String)”将全角转换为半角;“TO_SINGLE_BYTE”函数可以将参数中所有多字节字符都替换为等价的单字节字符,只有当数据库字符集同时包含多字节和单字节字符的时候有效。

Oracle怎么查询端口号Oracle怎么查询端口号May 13, 2022 am 10:10 AM

在Oracle中,可利用lsnrctl命令查询端口号,该命令是Oracle的监听命令;在启动、关闭或重启oracle监听器之前可使用该命令检查oracle监听器的状态,语法为“lsnrctl status”,结果PORT后的内容就是端口号。

oracle怎么删除sequenceoracle怎么删除sequenceMay 13, 2022 pm 03:35 PM

在oracle中,可以利用“drop sequence sequence名”来删除sequence;sequence是自动增加数字序列的意思,也就是序列号,序列号自动增加不能重置,因此需要利用drop sequence语句来删除序列。

oracle怎么查询数据类型oracle怎么查询数据类型May 13, 2022 pm 04:19 PM

在oracle中,可以利用“select ... From all_tab_columns where table_name=upper('表名') AND owner=upper('数据库登录用户名');”语句查询数据库表的数据类型。

oracle查询怎么不区分大小写oracle查询怎么不区分大小写May 10, 2022 pm 05:45 PM

方法:1、利用“LOWER(字段值)”将字段转为小写,或者利用“UPPER(字段值)”将字段转为大写;2、利用“REGEXP_LIKE(字符串,正则表达式,'i')”,当参数设置为“i”时,说明进行匹配不区分大小写。

Oracle怎么修改sessionOracle怎么修改sessionMay 13, 2022 pm 05:06 PM

方法:1、利用“alter system set sessions=修改后的数值 scope=spfile”语句修改session参数;2、修改参数之后利用“shutdown immediate – startup”语句重启服务器即可生效。

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.