15.ORACLE11g的归档方式和日志文件的相关操作

ORACLE11g的归档方式和日志文件的相关操作

  • 一、什么是日志文件
    • 1、在线日志文件
    • 2、归档日志文件
  • 二、Oracle 11g 归档方式:
    • 1、归档方式状态
    • 2、归档日志方式下数据库的工作原理
    • 3、配置归档日志方式
      • 3.1 开启归档模式
      • 3.2 日志文件相关操作:
    • 4、oracle11g联机日志文件和联机日志文件组
      • 4.1 创建联机日志文件组:
      • 4.2 添加联机日志文件到现有的联机日志文件组:
      • 4.3 切换到下一个联机日志文件组:
      • 4.4 清除联机日志文件
      • 4.5 联机日志文件组有四种常见状态(从v$log中查看):

一、什么是日志文件

  在Oracle数据库中,日志文件是用来记录数据库操作和事务变更的文件。主要有两种类型的日志文件:在线日志文件和归档日志文件。归档日志文件是在线日志文件的历史备份。

1、在线日志文件

  • 在线日志文件是数据库当前正在使用的日志文件,用于记录正在进行的事务的变更。
  • 在Oracle数据库中,通常有多个在线日志文件,这样可以在一个日志文件被写满时切换到下一个日志文件,确保事务的持续记录。
  • 在线日志文件的作用是在数据库发生故障时,可以使用这些日志文件进行恢复。

2、归档日志文件

  • 归档日志文件是已经被归档的日志文件,即已经被复制到归档目录中以便进行备份和恢复。
  • 当数据库处于归档模式时,数据库引擎会自动将在线日志文件切换到归档日志文件,并将这些归档日志文件复制到指定的归档目录中。
  • 归档日志文件的作用是在数据库发生故障时,可以使用这些日志文件进行完整的恢复。

  总的来说,日志文件在Oracle数据库中起着非常重要的作用,可以用于数据库的恢复和备份,确保数据的完整性和可靠性。日志按照组来组织,每一个组里面有多个文件。日志组按照循环方式来工作,所以ORACLE中,至少应该有两个日志组,当一个联机重做日志组被写满的时候,就会发生日志切换,这时联机重做日志组2成为当前使用的日志,当联机重做日志组2写满的时 候,又会发生日志切换,去写联机重做日志组1,就这样反复进行。

  如果数据库处于非归档模式,联机日志在切换时就会丢弃. 而在归档模式下,当发生日志切换的时候,被切换的日志会进行归档。比如,当前在使用联机重做日志1,当1写满的时候,发生日志切换,开始写联机重做日志 2,这时联机重做日志1的内容会被拷贝到另外一个指定的目录下。这个目录叫做归档目录,拷贝的文件叫归档重做日志。

  数据库使用归档方式运行时才可以进行灾难性恢复


二、Oracle 11g 归档方式:

1、归档方式状态

Oracle数据库可以运行在两种归档方式:归档日志模式(ARCHIVELOG)和非归档日志模式(NOARCHIVELOG)。

1.1 归档日志模式(ARCHIVELOG):
  在归档日志模式下,数据库会将已经满的在线日志文件切换到归档日志文件,并将这些归档日志文件保存到指定的归档目录中。归档日志模式适合于需要进行备份和恢复操作的生产环境,因为它可以提供完整的恢复能力,包括可以恢复到任意的时间点。

1.2 非归档日志模式(NOARCHIVELOG):
  在非归档日志模式下,数据库不会将已经满的在线日志文件切换到归档日志文件,而是直接覆盖在线日志文件。这意味着数据库只能进行完全恢复,无法进行基于时间点的恢复。非归档日志模式适合于测试环境或者一些不需要进行备份和恢复操作的数据库,因为它简化了数据库的日常管理。非归档日志方式可以避免实例故障,但无法避免介质故障。在此方式下,数据库只能实施冷备份

1.3 区别:
  主要区别在于归档日志模式可以提供完整的备份和恢复能力,包括可以进行基于时间点的恢复,而非归档日志模式只能进行完全恢复,无法进行基于时间点的恢复。因此,归档日志模式适合于生产环境或者对数据完整性要求高的场景,而非归档日志模式适合于测试环境或者对备份和恢复要求不高的场景。

2、归档日志方式下数据库的工作原理

在这里插入图片描述

3、配置归档日志方式

  Oracle 11g 的归档方式是将 redo log 文件归档到另一个地方。这样,即使一个 redo log 文件损坏了,Oracle 也可以恢复数据。以下是归档方式的步骤:

3.1 开启归档模式

3.1.1 确认数据库的归档模式:

SELECT LOG_MODE FROM V$DATABASE;

如果 LOG_MODE 的值是 ARCHIVELOG,则数据库已经启用了归档模式。

3.1.2 确认redo log 文件的组数及大小:

SELECT GROUP#, MEMBER FROM V$LOGFILE;

GROUP# 列显示组编号,MEMBER 列显示 redo log 文件的完整路径。

3.1.3 开启归档模式:

ALTER DATABASE ARCHIVELOG;

使得数据库从归档模式调整到非归档模式只需将ARCHIVELOG改为NOARCHIVELOG,其余方式均相同。

3.1.4 确认是否启用自动归档:

SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME LIKE '%ARCHIVE%';

如果值为 true,则自动归档已启用。

3.1.5 重启数据库:

SHUTDOWN IMMEDIATE;
STARTUP;

3.2 日志文件相关操作:

3.2.1 查看当前 redo log 文件的状态:

SELECT GROUP#, THREAD#, SEQUENCE#, ARCHIVED, STATUS FROM V$LOG;

3.2.2 切换到下一个 redo log 文件:

ALTER SYSTEM SWITCH LOGFILE;

3.2.3 强制进行CHECKPOINT:

ALTER SYSTEM CHECKPOINT;

3.2.4 手动归档当前 redo log 文件:

ALTER SYSTEM ARCHIVE LOG CURRENT;

3.2.5 查看已经归档的日志文件:

SELECT NAME, ARCHIVED FROM V$ARCHIVED_LOG ORDER BY COMPLETION_TIME DESC;

可以通过数据字典视图查看归档日志信息:

  • V$ARCHIVE_DEST - 显示当前所有归档日志存储位置及其状态
  • V$ARCHIVE_LOG - 显示历史归档日志信息

4、oracle11g联机日志文件和联机日志文件组

在 Oracle 11g 中,您可以通过以下示例来了解如何创建联机日志文件组、添加联机日志文件、切换日志文件组等操作:

4.1 创建联机日志文件组:

ALTER DATABASE
ADD LOGFILE GROUP 1 ('/u01/oracle/oradata/redo01a.log', '/u01/oracle/oradata/redo01b.log') SIZE 100M,GROUP 2 ('/u01/oracle/oradata/redo02a.log', '/u01/oracle/oradata/redo02b.log') SIZE 100M,GROUP 3 ('/u01/oracle/oradata/redo03a.log', '/u01/oracle/oradata/redo03b.log') SIZE 100M;

上述代码中,我们使用 ALTER DATABASE ADD LOGFILE 命令来创建了一个包含三个联机日志文件组的联机日志文件,并指定了每个文件的大小和路径。
不同日志组可以不同大小,但是同一个组内的所有日志文件必须同样大小。

4.2 添加联机日志文件到现有的联机日志文件组:

ALTER DATABASE
ADD LOGFILE ('/u01/oracle/oradata/redo04a.log', '/u01/oracle/oradata/redo04b.log') SIZE 100M TO GROUP 1;

上述代码中,我们使用 ALTER DATABASE ADD LOGFILE 命令将新的联机日志文件添加到了现有的联机日志文件组中。

4.3 切换到下一个联机日志文件组:

ALTER SYSTEM SWITCH LOGFILE;

上述代码中,我们使用 ALTER SYSTEM SWITCH LOGFILE 命令来切换到下一个联机日志文件组,这会触发数据库开始在新的联机日志文件组中记录日志。

4.4 清除联机日志文件

alter database clear logfile  group <group>

使用alter database clear logfile group <group号>;可以清除联机日志文件组内的所有成员,适用于日志文件组损坏了部分成员的情况,被清除的日志组必须是INACTIVE状态。清除后的日志组的状态变成UNUSED。

4.5 联机日志文件组有四种常见状态(从v$log中查看):

  • CURRENT:表示这是当前正在使用的联机日志文件组
  • ACTIVE:表示这个日志文件组中,所记录的重做记录所对应的内存中的脏数据块还没有被完全写入到数据文件中。
  • INACTIVE:表示这个日志文件组中,所记录的重做记录所对应的内存中的脏数据块已经被写入到数据文件中。
  • UNUSED:表示还没有被使用过。

v$logfile中查看每一个联机日志文件的信息。

这些示例可以帮助您了解如何创建联机日志文件组、添加联机日志文件以及切换日志文件组等操作。请根据您的实际需求和环境进行相应的调整。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/198760.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【图像分类】【深度学习】【Pytorch版本】GoogLeNet(InceptionV4)模型算法详解

【图像分类】【深度学习】【Pytorch版本】GoogLeNet(InceptionV4)模型算法详解 文章目录 【图像分类】【深度学习】【Pytorch版本】GoogLeNet(InceptionV4)模型算法详解前言GoogLeNet(InceptionV4)讲解Stem结构Inception-A结构Inception- B结构Inception-C结构redution-A结构re…

2024年山东省职业院校技能大赛中职组 “网络安全”赛项竞赛试题-A卷

2024年山东省职业院校技能大赛中职组 “网络安全”赛项竞赛试题-A卷 2024年山东省职业院校技能大赛中职组 “网络安全”赛项竞赛试题-A卷A模块基础设施设置/安全加固&#xff08;200分&#xff09;A-1&#xff1a;登录安全加固&#xff08;Windows, Linux&#xff09;A-2&#…

大力说企微入门系列第二课:搭建体系

对于大部分人来说&#xff0c;学习有三动&#xff1a; 学习之前非常激动&#xff1b; 学习时候非常感动&#xff1b;学习之后是一动不动&#xff1b; 不知道大家看了上一课的《大力说企微入门系列第一课&#xff1a;企业微信的注册验证和认证》之后&#xff0c;是一动不动还是…

java基础练习缺少项目?看这篇文章就够了(下)!

公众号&#xff1a;全干开发 。 专注分享简洁但高质量的动图技术文章&#xff01; 回顾 在上节内容中&#xff0c;我们实现了用户开户的功能createAccount public void start(){System.out.println("欢迎您进入到了ATM系统");System.out.println("1、用户登录&…

基于JavaWeb的智慧停车管理系统设计与实现

项目描述 临近学期结束&#xff0c;还是毕业设计&#xff0c;你还在做java程序网络编程&#xff0c;期末作业&#xff0c;老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。你想解决的问题&#xff0c;今天给大家介绍…

2024年测试工程师必看系列之fiddler设置手机端抓包全套教程

fiddler设置手机端抓包 安卓手机抓包 第一步&#xff1a;配置电脑和安卓的相关设置 1、手机和fiddler位于同一个局域网内&#xff1b;首先从fiddler处获取到ip地址和端口号&#xff1a; &#xff0c;点击online&#xff0c;最后一行就是ip地址 2、路径&#xff1a;Tools》Op…

(动手学习深度学习)第13章 计算机视觉---微调

文章目录 微调总结 微调代码实现 微调 总结 微调通过使用在大数据上的恶道的预训练好的模型来初始化模型权重来完成提升精度。预训练模型质量很重要微调通常速度更快、精确度更高 微调代码实现 导入相关库 %matplotlib inline import os import torch import torchvision f…

Linux网络——HTTP

目录 一.应用层 二.认识URL 1.域名 2.urlencode和urldecode 三.HTTP协议格式 1.请求格式http 2.响应格式 四.HTTP响应状态码 五.HTTP常见Header 六.简单的HTTP服务器 七.HTTP的方法 1.GET方法 2.POST方法 一.应用层 我们程序员写的一个个解决我们实际问题, 满足…

深入分析高性能互连点对点通信开销

今天分享最近阅读的一篇文章&#xff1a;“Breaking Band&#xff0c;A Breakdown of High-Performance Communication”&#xff0c;这篇文章发表在ICPP 2019会议。由加州大学欧文分校和ARM公司合作完成。从题目中可以看到&#xff0c;这篇文章是一篇评测型的文章&#xff0c;…

JDY蓝牙注意事项

波特率设置&#xff1a;9600&#xff0c;不接受115200&#xff0c;或者38400. 不同于WiFi测试&#xff0c;jdy蓝牙不接受AT"指令&#xff0c;可以使用“ATVERSION"指令测试 安信可公司的那个蓝牙指令在这里没有用&#xff0c;不知道是不是生产的公司不一样

网络协议入门 笔记一

一、服务器和客户端及java的概念 JVM (Java Virtual Machine) : Java虚拟机&#xff0c;Java的跨平台:一次编译&#xff0c;到处运行&#xff0c;编译生成跟平台无关的字节码文件 (class文件)&#xff0c;由对应平台的JVM解析字节码为机器指令 (010101)。 如下图所示&#xff0…

Java入门篇 之 抽象类接口

本篇碎碎念&#xff1a;个人认为压力是一种前进的动力&#xff0c;但是不要有太多压力&#xff0c;不然会使心情烦躁&#xff0c;会控制不住自己的情绪&#xff0c;会在一个临界值爆发&#xff0c;一旦爆发&#xff0c;将迟迟不能消散 今日份励志文案: 努力的背后必有加倍的赏赐…

Word中NoteExpress不显示的问题

首先确认我们以及安装了word插件 我们打开word却没有。此时我们打开&#xff1a;文件->选项->加载项 我们发现被禁用了 选择【禁用项目】&#xff08;如果没有&#xff0c;试一试【缓慢且禁用的加载项】&#xff09;&#xff0c;点击转到 选择启用 如果没有禁用且没有出…

海康威视综合安防管理平台任意文件上传

系统介绍 HIKVISION iSecure Center综合安防管理平台是一套“集成化”、“智能化”的平台&#xff0c;通过接入视频监控、一卡通、停车场、报警检测等系统的设备&#xff0c;获取边缘节点数据&#xff0c;实现安防信息化集成与联动&#xff0c;公众号&#xff1a;web安全工具库…

使用centos搭建内网的yum源

1.安装httpd服务 2.启动服务&#xff0c;设置开机自启 #启动服务 systemctl start httpd # 设置开机自动启动 systemctl enable httpd systemctl status httpd3.新建一个目录&#xff0c;将rpm文件放到该目录下 4.将/etc/httpd/conf/httpd.conf文件中的DocumentRoot "…

SASS/SCSS精华干货教程

目录 介绍 基本说明 特点 sass语法格式sass的语法格式一共有两种&#xff0c;一种是以".scss"作为拓展名&#xff0c;一种是以".sass"作为拓展名&#xff0c;这里我们只讲拓展名&#xff1a; 编译环境安装 Vscode安装编译插件 简单使用 sass语法扩张…

合并两个有序链表(冒泡排序实现)

实例要求&#xff1a;将两个升序链表合并为一个新的 升序 链表并返回&#xff1b;新链表是通过拼接给定的两个链表的所有节点组成的&#xff1b;实例分析&#xff1a;先拼接两个链表&#xff0c;在使用冒泡排序即可&#xff1b;示例代码&#xff1a; struct ListNode* mergeTwo…

docker的基本使用以及使用Docker 运行D435i

1.一些基本的指令 1.1 容器 要查看正在运行的容器&#xff1a; sudo docker ps 查看所有的容器&#xff08;包括停止状态的容器&#xff09; sudo docker ps -a 重新命名容器 sudo docker rename <old_name> <new_name> <old_name> 替换为你的容器名称…

查询数据库DQL

DQL 查询基本语法 -- DQL :基本语法; -- 1查询指定的字段 name entrydate 并返回select name , entrydate from tb_emp;-- 2 查询 所有字段 并返回select id, username, password, name, gender, image, job, entrydate, create_time, update_time from tb_emp;-- 2 查询…

C++ 继承和派生 万字长文超详解

本文章内容来源于C课堂上的听课笔记 继承和派生基础 继承是一种概念&#xff0c;它允许一个新创建的类&#xff08;称为子类或派生类&#xff09;获取另一个已经存在的类&#xff08;称为父类或基类&#xff09;的属性和行为。这就好比是子类继承了父类的特征。想象一下&…