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.mzph.cn/news/150049.shtml

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

相关文章

七、文件包含漏洞

一、文件包含漏洞 解释&#xff1a;文件包含漏洞是一种注入型漏洞&#xff0c;其本质就是输入一段用户能够控制的脚本或者代码&#xff0c;并让服务端执行&#xff1b;其还能够使得服务器上的源代码被读取&#xff0c;在PHP里面我们把可重复使用的函数写入到单个文件中&#x…

【Linux】线程互斥

文章目录 线程互斥互斥量 mutex初始化互斥量加锁与解锁 可重入和线程安全常见的线程安全情况常见的线程安全的情况常见的不可重入情况常见的可重入情况可重入与线程安全联系可重入与线程安全区别 死锁死锁的四个必要条件避免死锁 线程互斥 进程线程间的互斥相关背景概念 临界…

深度学习:欠拟合与过拟合

1 定义 1.1 模型欠拟合 AI模型的欠拟合&#xff08;Underfitting&#xff09;发生在模型未能充分学习训练数据中的模式和结构时&#xff0c;导致它在训练集和验证集上都表现不佳。欠拟合通常是由于模型太过简单&#xff0c;没有足够的能力捕捉到数据的复杂性和细节。 1.2 模型…

API接口测试工具为什么尤其重要

在现代软件开发中&#xff0c;API接口测试工具扮演着关键的角色&#xff0c;连接不同的软件组件&#xff0c;实现数据传递和功能调用。为确保API的可靠性、安全性和性能&#xff0c;此工具成为不可或缺的一部分。本文将介绍API接口测试工具的重要性! 1. 自动化测试的效率 API接…

2023数维杯数学建模C题完整版本

已经完成全部版本&#xff0c;获取请查看文末下方名片 摘要 随着人工智能在多个领域的快速发展&#xff0c;其在文本生成上的应用引起了广泛关注。本研究聚焦于辨识人工智能&#xff08;AI&#xff09;生成文本的基本规则&#xff0c;并探究AI文本的检测及其与人类文本的区分…

哪些软件可以监控电脑(保姆级教程!值得收藏!)

今天了解到了一个软件&#xff0c;真的把我吓到了。 我才知道原来我上班时摸鱼时多么愚蠢的一件事情。原来老板可以通过一些软件轻而易举的知道你用电脑做的所有事情&#xff0c;怪不得我每次摸鱼时老板看我的眼神都不对…… 安装好域之盾软件以后&#xff0c;打开就能监控你使…

Typescript 的 class 类

介绍 1. 类介绍 传统的JavaScript通过函数和基于原型的继承来创建可重用的组件&#xff0c;从ES6开始&#xff0c;JavaScript程序员也可以使用面向对象的方法来创建对象。例如&#xff0c;下列通过class关键词&#xff0c;来声明了一个类&#xff1a;Greeter class Greeter …

SystemV共享内存

一、原理 申请&#xff1a;与共享库类似&#xff0c;OS先在共享区开辟/申请一段共享内存&#xff0c;然后通过页表映射&#xff0c;挂接到进程地址空间&#xff0c;返回这块内存的首地址&#xff0c;使得不同进程能访问同一份资源。 释放&#xff1a;去关联释放共享内存 一个进…

Java智慧工地SaaS管理平台源码:AI/云计算/物联网

智慧工地是指运用信息化手段&#xff0c;围绕施工过程管理&#xff0c;建立互联协同、智能生产、科学管理的施工项目信息化生态圈&#xff0c;并将此数据在虚拟现实环境下与物联网采集到的工程信息进行数据挖掘分析&#xff0c;提供过程趋势预测及专家预案&#xff0c;实现工程…

《网络协议》08. 概念补充

title: 《网络协议》08. 概念补充 date: 2022-10-06 18:33:04 updated: 2023-11-17 10:35:52 categories: 学习记录&#xff1a;网络协议 excerpt: 代理、VPN、CDN、网络爬虫、无线网络、缓存、Cookie & Session、RESTful。 comments: false tags: top_image: /images/back…

Vue3+Vite实现工程化,事件绑定以及修饰符

我们可以使用v-on来监听DOM事件&#xff0c;并在事件触发时执行对应的Vue的Javascript代码。 用法&#xff1a;v-on:click "handler" 或简写为 click "handler"vue中的事件名原生事件名去掉 on 前缀 如:onClick --> clickhandler的值可以是方法事件…

OpenCV图像处理、计算机视觉实战应用

OpenCV图像处理、计算机视觉实战应用 专栏简介一、基于差异模型模板匹配缺陷检测二、基于NCC多角度多目标匹配三、基于zxing多二维码识别四、基于tesseract OCR字符识别 专栏简介 基于OpenCV C分享一些图像处理、计算机视觉实战项目。不定期持续更新&#xff0c;干货满满&…

设置 wsl 桥接模式

一、环境要求 Win10/Win11 专业版&#xff0c;并已安装 Hyper-V 二、具体步骤 打开 Hyper-V 管理器 创建虚拟交换机 WSL Bridge 修改wsl配置文件 .wslconfig .wslconfig 文件所在路径如下&#xff1a; C:\Users\<UserName>\.wslconfig若 .wslconfig 文件不存在&am…

全面揭秘!微信传输助手的用处有哪些!

微信文件传输助手不是真人。它主要是通过服务器和网络技术来完成文件传输功能的。用户可通过微信文件传输助手实现文件在手机到电脑端的快速传输&#xff0c;而不需要其他有线设备。 微信文件传输助手是由微信官方提供的功能&#xff0c;主要用于文件的传输和保存。以下是其主要…

基于STC12C5A60S2系列1T 8051单片机的SPI总线器件数模芯片TLC5615实现数模转换应用

基于STC12C5A60S2系列1T 8051单片的SPI总线器件数模芯片TLC5615实现数模转换应用 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍SPI总线器件数模芯片TLC5615介绍通过按…

数据结构与算法编程题5

从有序表中删除重复元素&#xff0c;使表中所有元素值均不相同。 #include <iostream> using namespace std;typedef int ElemType; #define Maxsize 100 #define OK 1 #define ERROR 0 typedef struct SqList {ElemType data[Maxsize];int length; }SqList;void Init_…

单链表相关面试题--2.反转一个单链表

/* 解题思路&#xff1a; 此题一般常用的方法有两种&#xff0c;三指针翻转法和头插法 1. 三指针翻转法记录连续的三个节点&#xff0c;原地修改节点指向 2. 头插法每一个节点都进行头插 */ // 三个指针翻转的思想完成逆置 struct ListNode* reverseList(struct ListNode* head…

python-opencv 培训课程笔记(1)

python-opencv 培训课程笔记&#xff08;1&#xff09; 博主参加了一次opencv库的培训课程&#xff0c;把课程所学整理成笔记&#xff0c;供大家学习&#xff0c;第一次课程包括如下内容&#xff1a; 1.读取图像 2.保存图像 3.使用opencv库显示图像 4.读取图像为灰度图像 …

PlayCover“模拟器”作弊解决方案

当下的游戏市场&#xff0c;移动游戏已占据了主导地位&#xff0c;但移动端游戏碍于屏幕大小影响操作、性能限制导致卡顿等因素&#xff0c;开始逐步支持多端互通。但仍有一些游戏存在移动端与 PC 端不互通、不支持 PC 端或没有 Mac 版本&#xff0c;导致 Mac 设备体验游戏不方…

【以图会意】操作系统的加载流程

声明&#xff1a;本图为博主方便自己记忆理解&#xff0c;诸多疏漏望请博友理性观看&#xff01;如有错误不足恳请指正。 首先&#xff0c;操作系统是一段程序&#xff0c;他保存在ROM中&#xff0c;在开机时&#xff0c;CPU被激活&#xff0c;首先将IR置为BIOS&#xff08;Bas…