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

news2024/9/8 23:04:06

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.coloradmin.cn/o/1230054.html

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

相关文章

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

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

Java集合大总结——Set的简单使用

Set的简单介绍 Set接口是Collection的子接口&#xff0c;Set接口相较于Collection接口没有提供额外的方法。Set 集合不允许包含相同的元素&#xff0c;如果试把两个相同的元素加入同一个 Set 集合中&#xff0c;则添加操作失败。Set集合支持的遍历方式和Collection集合一样&am…

【前端学java】Java中的异常处理(15)完结

往期回顾&#xff1a; 【前端学java】JAVA开发的依赖安装与环境配置 &#xff08;0&#xff09;【前端学java】java的基础语法&#xff08;1&#xff09;【前端学java】JAVA中的packge与import&#xff08;2&#xff09;【前端学java】面向对象编程基础-类的使用 &#xff08;…

Universal adversarial perturbations(2017 CVPR)

Universal adversarial perturbations----《普遍对抗扰动》 通俗UAP算法步骤理解&#xff1a;对于 x i ∈ X {x_i} \in X xi​∈X 的每个采样数据点&#xff0c;比较 k ^ ( x i v ) \hat k({x_i} v) k^(xi​v) 与 k ^ ( x i ) \hat k({x_i}) k^(xi​) &#xff0c;如果 k…

电脑监控软件都有哪些,哪款好用丨全网盘点

电脑监控软件是一种用于监视和控制计算机的软件工具&#xff0c;可以帮助企业和个人了解计算机的使用情况&#xff0c;保护数据安全&#xff0c;提高工作效率等。 电脑监控软件都有哪些&#xff1a; 1、域之盾软件 这是一款功能强大的电脑监控软件&#xff0c;可以实时监控电脑…

算法之回溯

我最近开了几个专栏&#xff0c;诚信互三&#xff01; > |||《算法专栏》&#xff1a;&#xff1a;刷题教程来自网站《代码随想录》。||| > |||《C专栏》&#xff1a;&#xff1a;记录我学习C的经历&#xff0c;看完你一定会有收获。||| > |||《Linux专栏》&#xff1…

Java SE——*API API帮助文档

1. API概述 Java中的API可以理解为一本编程字典或者工具包&#xff0c;它包含了许多预定义的类、接口和方法&#xff0c;可以帮助我们更方便地开发Java程序 想象一下&#xff0c;当你要做一个饭菜的时候&#xff0c;你需要食谱和厨具。食谱告诉你需要哪些食材和步骤&#xff…

腾讯云助力港华能源上线“碳汭星云2.0”,推动能源行业绿色低碳转型

11月17日&#xff0c;港华能源与腾讯云联合打造的港华智慧能源生态平台“碳汭星云2.0”升级上线。依托双方的连接、大数据能力和行业深耕经验&#xff0c;该平台打破了园区“数据孤岛”&#xff0c;进一步提升了数据治理、应用集成和复制推广能力&#xff0c;未来有望以综合能源…

记录一次较为完整的Jenkins发布流程

文章目录 1. Jenkins安装1.1 Jenkins Docker安装1.2 Jenkins apt-get install安装 2. 关联github/gitee服务与webhook2.1 配置ssh2.2 Jenkins关联2.3 WebHook 3. 前后端关联发布 1. Jenkins安装 1.1 Jenkins Docker安装 Docker很好&#xff0c;但是我没有玩明白如何使用Docke…

php伪随机数

利用工具 php_mt_seed <?php // php 7.2function white_list() {return mt_rand();}echo white_list(), "\n";echo white_list(), "\n";echo white_list(), "\n"; 输入命令&#xff1a; ./php_mt_seed 1035656029 <?phpmt_srand(181095…

通过U盘重装Win10教程图解

如果我们发现Win10电脑系统出现了问题&#xff0c;可以通过简单的操作来解决问题。如果还是不能解决系统问题&#xff0c;这时候用户就给电脑重新安装Win10系统&#xff0c;这样就能轻松解决问题了。接下来小编给大家详细介绍关于通过U盘重新安装系统Win10的方法步骤。 准备工作…

PC3329L DC-DC降压 10V-100V输入3A大流输出带EN功能实现零功耗只需极少元器件

1. PC3392L特性  通过使能脚关断实现零功耗  宽电压输入范围 10V 至 100V  最大输出电流 3A  集成功率 MOS 管  外围器件少  输出短路保护  温度保护  逐周期限流  输出电压灵活可靠  ESOP8 2. 描述 PC3392L 一款宽电压范围降压型 DC-DC 电源管…

Java面试题07

1.线程池都有哪些状态&#xff1f; 线程池的状态有RUNNING&#xff08;运行中&#xff09;、SHUTDOWN&#xff08;关闭中&#xff0c;不接受新任务&#xff09;、 STOP&#xff08;立即关闭&#xff0c;中断正在执行任务的线程&#xff09;和TERMINATED&#xff08;终止&#x…

Blender洪水淹没毁墙效果

本文中用到了两个Blender插件&#xff1a;FLIP Fluid(流体模拟相关插件) 和 RBDLab&#xff08;碎裂插件&#xff09;: 1.用FLIP Fluid制作流体、域、障碍&#xff0c;确定好流体的冲刷方向&#xff08;后期好摆放被摧毁的墙体&#xff09;&#xff0c;利用插件做出水流动画&a…

信息中心网络提出的背景、研究现状及研究内容

信息中心网络什么时候提出的&#xff1f;未来发展前景&#xff1f;有什么著名实验室在做&#xff1f; 1、提出背景&#xff1a; 互联网产生于上世纪60年代&#xff1a; &#xff08;1&#xff09;网络设备数量呈指数性增长 截至2022年底全球范围内预计将有超过280亿台终端设…

【openGauss/MogDB的TPCH测试】

TPC-H是一个决策支持基准&#xff08;Decision Support Benchmark&#xff09;&#xff0c;它由一套面向业务的特别查询和并发数据修改组成。查询和填充数据库的数据具有广泛的行业相关性。这个基准测试演示了检查大量数据、执行高度复杂的查询并回答关键业务问题的决策支持系统…

MobaXterm配置ssh端口转发(tensorboard使用)

背景&#xff1a; 我有一台本地Windows电脑&#xff0c;上面安装了MobaXterm软件。 MobaXterm通过ssh连接了一台服务器&#xff08;默认是通过22端口连&#xff0c;我这里配了一下&#xff0c;要填别的&#xff09; 现在服务器在跑模型&#xff0c;其6006端口是tensorboard端口…

沸点 | Ultipa 图数据库金融应用场景优秀案例首批入选,金融街论坛年会发布

为推进图数据库在金融行业的创新应用试点&#xff0c;近日&#xff0c;在2023金融街论坛年会“全球金融科技中心网络年会暨ZIBS北京论坛”上&#xff0c;北京前沿金融监管科技研究院发布了基于国际标准组织——国际关联数据基准委员会&#xff08;LDBC&#xff09;的《图数据库…

安全+Linux!IBM新一代大型机Z14全新发布

导读本周&#xff0c;以“架构 人机同行”为主题的IBM Systems创行者高峰论坛在北京召开&#xff0c;IBM全球及大中华区硬件系统部负责人&#xff0c;金融、医疗、制造等领域的企业、合作伙伴共与这一年度盛会&#xff0c;探讨认知时代下的基础架构技术趋势及IBM硬件系统业务的…

【MySQL】_JDBC

目录 1. JDBC原理 2. 导入JDBC驱动包 3. 编写JDBC代码实现Insert 3.1 创建并初始化一个数据源 3.2 和数据库服务器建立连接 3.3 构造SQL语句 3.4 执行SQL语句 3.5 释放必要的资源 4. JDBC代码的优化 4.1 从控制台输入 4.2 避免SQL注入的SQL语句 5. 编写JDBC代码实现…