Oracle管理重做日志文件

2023-10-22 14:10
文章标签 oracle 日志 管理 重做

本文主要是介绍Oracle管理重做日志文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一.重做日志文件

重做日志文件记录对数据所做的所有更改,并提供系统或介质故障的恢复机制

  • 重做日志文件按组组织
  • 一个Oracle数据库至少需要两个组。
  • 组中的每个重做日志都称为一个成员。

二.重做日志文件作用

恢复

三.重做日志文件结构

注:重做日志文件组中所有的文件内容是一样的。
在这里插入图片描述

四.重做日志文件工作情况

  • 重做日志以循环方式使用
  • 当重做日志文件已满时,LGWR将移动到下一个日志组
    - 这被称为日志切换
    - 检查点操作也会发生
    - 信息写入控制文件

五.查看重做日志文件信息

1.查看重做日志组文件组信息(v$log)

desc v$logselect  GROUP#,SEQUENCE#,STATUS from v$log;

2.查看重做日志成员信息

desc   v$logfilecol member for a 60select GROUP#,MEMBER from v$logfile;

3.查看数据库日志模式
日志模式类型

  • 归档日志模式 : 保存日志,日志文件写满后产生归档日志文件另存
  • 非归档日志模式 :不保存日志,日志文件写满直接覆盖
desc  v$databaseselect LOG_MODE from v$DATABASE;--查看当前数据库日志模式archive log list  --查看当前数据库日志模式

4.强制日志切换和检查点

ALTER SYSTEM SWITCH LOGFILE;  ---强制执行日志切换。ALTER SYSTEM CHECKPOINT;    --使用强制检查点

六.增加重做日志用户组

ALTER DATABASE ADD LOGFILE GROUP 3 
('$HOME/ORADATA/u01/log3a.rdo',
'$HOME/ORADATA/u02/log3b.rdo')
SIZE 1M;

七.增加重做日志成员

ALTER DATABASE ADD LOGFILE MEMBER
'$HOME/ORADATA/u04/log1c.rdo' TO GROUP 1,
'$HOME/ORADATA/u04/log2c.rdo' TO GROUP 2,
'$HOME/ORADATA/u04/log3c.rdo' TO GROUP 3;

八. 删除重做日志组

ALTER DATABASE DROP LOGFILE GROUP 3;
current,active状态下的日志组不能删除

九.删除重做日志成员

ALTER DATABASE DROP LOGFILE MEMBER 
'$HOME/ORADATA/u04/log3c.rdo';

十.清除、重新定位或重命名联机重做日志文件

清除联机重做日志文件

ALTER DATABASE CLEAR LOGFILE 
'$HOME/ORADATA/u01/log2a.rdo';重新定位或重命名联机重做日志文件可以通过添加新成员和删除旧成员。

十一.使用OMF管理联机重做日志

设置oracle系统自动命名文件路径地址(日志文件不需要这样的操作,数据文件需要制定omf文件存放地址)

show  parameter  db_create_file_dest;---查看地址路径mkdir   /u01/dem/omf/alter  system  db_create_file_dest='/u01/dem/omf/';--开启omf
alter  system  db_create_file_dest='';关闭omf

可以在不指定文件的情况下添加完整的组

ALTER DATABASE ADD LOGFILE;

如果删除了一个组,则会在操作系统级别删除所有相应的OMF文件

ALTER DATABASE DROP LOGFILE GROUP 3;

十二存档的重做日志文件

1.已填充的在线重做日志文件可以存档

  • 归档重做日志有两个优点
    - 恢复:数据库备份以及在线和存档的重做日志文件可以保证恢复所有提交的事务。
    - 备份:可以在数据库打开时执行。
  • 默认情况下,数据库是在NOARCHIVELOG模式下创建的。
  • 归档重做日志文件由ARCn(Archiver)或通过SQL语句手动完成。
  • 每当重做日志成功归档时,都会在控制文件中创建一个条目,记录归档日志名称、日志序列号以及高SCN号和低SCN号。
  • 填充的重做日志文件不能重复使用,直到发生检查点,并且重做日志文件已在ARCn进程中备份。
  • 存档的重做日志文件可以多路传输。
  • 存档的重做日志文件必须由DBA维护。
archive log list  --查看当前数据库日志模式shutdown  immediatestartup mountalter  database archivelog--切换日志模式需要在mount下进行

2.查看归档日志信息(v$archived_log)

desc v$archived_log;查看表结构select name,* from v$archived_log;查看表alter system archive log current;切换当前日志文件select name v$archived_log;查看归档文件路径

3.设置日志归档路径

show   parameter log_archive1.log_archive_dest与log_archive_dest1互斥只能用其中一个
2.log_archive_duplex_dest与log_archive_dest搭配使用mkdir /u01/demo/arch1alter system set log_archive_dest1='(servers=服务名)/location=/u01/demo/arch1';alter system set log_archive_dest1='location=/u01/demo/arch1';

4.修改日志归档文件格式

log_archive_format    %t_%s_%r.dbf
t--线程号
s--序列号
r--发生版本
dbf扩展名容易与数据库文件混淆alter system set log_archive_format=' %t_%s_%r.arc'  scop=spfile;
该参数是静态参数需要重启才能生效

5.修复重做日志文件
1)非当前重做日志文件损坏

select  GROUP#,SEQUENCE#,STATUS from v$log;查看日志文件信息select MEMBER from v$logfile;  查看文件地址startup  mount;alter database clear logfile  group 4;alter database opean;

2)当前重做日志文件损坏
1.正常关闭,数据写盘了。

删除当前日志文件
startup  mount;alter database clear logfile  group 1;recover database until cancel;alter database opean resetlogs;archive log list;

2.非正常关闭,修改后数据未提交(数据回不来)。

修改数据不提交,删除当前日志
shutdown   abort--关闭数据库startup  mount;alter database clear logfile  group 1;recover database until cancel;select  status from v$instance;alter system set="_ALLOW_RESETLOGS_CORRUPTION"=TRUE  scope=spfile;shutdown   immediate;startupalter database opean resetlogs;

这篇关于Oracle管理重做日志文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/261938

相关文章

Spring Boot集成Druid实现数据源管理与监控的详细步骤

《SpringBoot集成Druid实现数据源管理与监控的详细步骤》本文介绍如何在SpringBoot项目中集成Druid数据库连接池,包括环境搭建、Maven依赖配置、SpringBoot配置文件... 目录1. 引言1.1 环境准备1.2 Druid介绍2. 配置Druid连接池3. 查看Druid监控

C++ Log4cpp跨平台日志库的使用小结

《C++Log4cpp跨平台日志库的使用小结》Log4cpp是c++类库,本文详细介绍了C++日志库log4cpp的使用方法,及设置日志输出格式和优先级,具有一定的参考价值,感兴趣的可以了解一下... 目录一、介绍1. log4cpp的日志方式2.设置日志输出的格式3. 设置日志的输出优先级二、Window

Knife4j+Axios+Redis前后端分离架构下的 API 管理与会话方案(最新推荐)

《Knife4j+Axios+Redis前后端分离架构下的API管理与会话方案(最新推荐)》本文主要介绍了Swagger与Knife4j的配置要点、前后端对接方法以及分布式Session实现原理,... 目录一、Swagger 与 Knife4j 的深度理解及配置要点Knife4j 配置关键要点1.Spri

怎样通过分析GC日志来定位Java进程的内存问题

《怎样通过分析GC日志来定位Java进程的内存问题》:本文主要介绍怎样通过分析GC日志来定位Java进程的内存问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、GC 日志基础配置1. 启用详细 GC 日志2. 不同收集器的日志格式二、关键指标与分析维度1.

解读GC日志中的各项指标用法

《解读GC日志中的各项指标用法》:本文主要介绍GC日志中的各项指标用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、基础 GC 日志格式(以 G1 为例)1. Minor GC 日志2. Full GC 日志二、关键指标解析1. GC 类型与触发原因2. 堆

Oracle 数据库数据操作如何精通 INSERT, UPDATE, DELETE

《Oracle数据库数据操作如何精通INSERT,UPDATE,DELETE》在Oracle数据库中,对表内数据进行增加、修改和删除操作是通过数据操作语言来完成的,下面给大家介绍Oracle数... 目录思维导图一、插入数据 (INSERT)1.1 插入单行数据,指定所有列的值语法:1.2 插入单行数据,指

MySQL 打开binlog日志的方法及注意事项

《MySQL打开binlog日志的方法及注意事项》本文给大家介绍MySQL打开binlog日志的方法及注意事项,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录一、默认状态二、如何检查 binlog 状态三、如何开启 binlog3.1 临时开启(重启后失效)

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

Oracle修改端口号之后无法启动的解决方案

《Oracle修改端口号之后无法启动的解决方案》Oracle数据库更改端口后出现监听器无法启动的问题确实较为常见,但并非必然发生,这一问题通常源于​​配置错误或环境冲突​​,而非端口修改本身,以下是系... 目录一、问题根源分析​​​二、保姆级解决方案​​​​步骤1:修正监听器配置文件 (listener.