oracle归档日志的概念,浅谈Oracle归档日志
什么是归档日志
归档日志(Archive Log)是非活动的重做日志备份.通过使用归档日志,可以保留所有重做历史记录,当数据库处于ARCHIVELOG模式并进行日志切换式,后台进程ARCH会将重做日志的内容保存到归档日志中.当数据库出现介质失败时,使用数据文件备份,归档日志和重做日志可以完全恢复数据库。
如何开启归档模式
查询是否开启归档
[oracle@osc ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Mon Nov 12 17:36:13 2018
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> archive log list;
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 1124
Current log sequence 1126
由上可见,数据库未开启归档
开启归档模式
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.
Total System Global Area 2421825536 bytes
Fixed Size 2255632 bytes
Variable Size 620758256 bytes
Database Buffers 1778384896 bytes
Redo Buffers 20426752 bytes
Database mounted.
SQL> alter database archivelog;
Database altered.
SQL> alter database open;
Database altered.
再观察归档情况
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 1124
Next log sequence to archive 1126
Current log sequence 1126
归档已经开启
经常会遇到的问题
错误代码:ORA-00257
在项目中可能经常会遇到ORA-00257归档写满这种情况,先看一下官方描述:
[oracle@osc ~]$ oerr ORA 00257
00257, 00000, "archiver error. Connect internal only, until freed."
// *Cause: The archiver process received an error while trying to archive
// a redo log. If the problem is not resolved soon, the database
// will stop executing transactions. The most likely cause of this
// message is the destination device is out of space to store the
// redo log file.
// *Action: Check archiver trace file for a detailed description
// of the problem. Also verify that the
// device specified in the initialization parameter
// ARCHIVE_LOG_DEST is set up properly for archiving.
也就是说当空间问题导致归档日志无法继续写入的时候会报错误,当前也只能允许内部链接。
这种情况下也只能最快速的清理归档日志。
清理归档日志
[oracle@osc ~]$ rman target /
Recovery Manager: Release 11.2.0.4.0 - Production on Mon Nov 12 17:48:41 2018
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
connected to target database: ORCL (DBID=1511487649)
RMAN> crosscheck archivelog all;
RMAN> delete archivelog until time 'sysdate-1';
RMAN> delete expired archivelog all;
分别看一下这三句话的意思
crosscheck archivelog all
验证的是DB的归档日志即log_archive_dest参数指定位置的文件,当手工删除了归档日志以后,Rman备份会检测到日志缺失,从而无法进一步继续执行。
所以此时需要手工执行crosscheck过程,之后Rman备份可以恢复正常。
也就是说当无法进入rman的时候,可以直接删除归档日志文件,然后再执行这条语句!
delete archivelog until time 'sysdate-1'
这句话是删除当前时间-1天的归档日志
-3就表示保留3天归档日志
delete expired archivelog all
删除过期或无效的归档日志
强烈建议:在删除归档日志后做一次物理备份
为什么会产生上面的问题
当归档日志每天都有大量的生成的时候,说明数据库存在了大量DML语句,而归档日志就是记录这些操作,所以我们要考虑能不能避免这些操作,如:
是不是数据库设计不合理,需要不要进行频繁操作
大量的操作有可能是日志类(日志、操作记录等)的数据,那么是不是考虑把日志表放入非关系数据库中
DML语句:SQL语言中,负责对数据库对象运行数据访问工作的指令集,以INSERT、UPDATE、DELETE三种指令为核心
非关系数据库如文档型文数据MongoDB、键值数据库Redis等
在了解了归档日志的副作用后,是否觉得不开启归档模式,更省心一些呢?
下面我们看一看归档模式的优缺点(摘自网络)
归档模式和非归档模式的优缺点
归档模式的优点
可以进行完全、不完全恢复:由于对数据库所做的全部改动都记录在日志文件中,如果发生硬盘故 障等导致数据文件丢失的话,则可以利用物理备份和归档日志完全恢复数据库,不会丢失任何数据。
可以进行联机热备:所谓联机热备,就是在数据库运行状态下,对数据库进行备份。备份时用户对 数据库的使用不受任何影响。
可以实施 Data Guard:可以部署 1 个或多个备用数据库,从而最大限度地提供灾难保护手段。
可以实施 Stream:利用 Stream 技术,可以实现最简单的单向复制到复杂的双向复制、多向复制, 提供更加灵活的数据冗余方案。
表空间可以脱机:可以备份部分数据库,比如重要的表空间。
能够增量备份:只需做一次完全备份,以后只备份发生改变的数据,可以提高备份速度。
更多的优化选项:随着 Oracle 版本升级,在联机热备方面不断有新的优化策略出现。
归档模式的缺点
需要更多的磁盘空间保存归档日志;
DBA 会有更多的管理工作,包括维护归档空间、备份归档日志。
非归档模式的缺点
只能进行脱机备份,也就是所谓的“ 冷备份”,和联机备份的“ 热备份” 相对应,数据库必须完全 关闭后备份,在备份过程中数据库不可用;
必须备份整个数据库,不能只备份部分数据库;
不能增量备份,对于 TB 级数据库(VLDB) ,这是一个非常大的缺点;
只能部分恢复,如果数据文件丢失需要恢复,DBA 只能恢复最后一次的完全备份,而之后的所有 数据库改变全部丢失。
非归档模式的优点
DBA 的管理工作减少,因为非归档模式不产生归档日志,因此 DBA 不用考虑对归档的管理;
性能会有提升。
非归档模式不生成归档日志,从数据安全角度来说,这种模式缺点是主要的,而优点可以忽略不计。
在了解了归档模式和非归档模式的优缺点后,选择哪种模式各位心里也有点谱,在工作中都应该考虑实际情况去做出合适的选择。最后也请大家一起总结、归纳
oracle归档日志的概念,浅谈Oracle归档日志相关推荐
- oracle hash join outer,CSS_浅谈Oracle中的三种Join方法,基本概念
Nested loop join:
Outer - phpStudy...
浅谈Oracle中的三种Join方法 基本概念 Nested loop join: Outer table中的每一行与inner table中的相应记录join,类似一个嵌套的循环. Sort mer ...
- oracle 删除补全日志组_浅谈Oracle 20c ASM文件组模板技术
首先,Oracle ASM file group 是一组文件,它们共享相同的属性和特征.文件组最主要的好处是在相同的磁盘组里为不同的数据库文件定义不同的可用性属性,这一特性让在多租户架构的pdb (可 ...
- oracle pdb是什么意思,浅谈Oracle数据库12c PDB技术
PDB大致功能描述: 创建: 用create pluggable database的命令, 用file_name_convert的方式拷贝seed pdb的文件到对应的新pdb的路径下.拷贝的是最基本 ...
- oracle数据库加复合组件,浅谈oracle复合数据类型 (2)
二.集合 类似C语言中的数组,在ORACLE7.3及以前的版本中只有一种集合称为PL/SQL表,这种类型的集合依然保留,就是索引(INDEX_BY)表. PL/SQL有三种类型的集合a.Index_b ...
- 浅谈Oracle RAC --集群管理软件GI
浅谈Oracle RAC --集群管理软件GI基本架构 今天周五,想想可以过周末,心情大好.一周中最喜欢过的就是周五晚上,最不喜欢过的是周日晚上和周一,看来我不是个热爱劳动的人啊.趁着现在心情愉悦,赶 ...
- 浅谈oracle树状结构层级查询
oracle树状结构查询即层次递归查询,是sql语句经常用到的,在实际开发中组织结构实现及其层次化实现功能也是经常遇到的,虽然我是一个java程序开发者,我一直觉得只要精通数据库那么对于java开发你 ...
- 浅谈oracle树状结构层级查询测试数据
浅谈oracle树状结构层级查询 oracle树状结构查询即层次递归查询,是sql语句经常用到的,在实际开发中组织结构实现及其层次化实现功能也是经常遇到的,虽然我是一个java程序开发者,我一直觉得只 ...
- 单引号oracle如何转义_浅谈oracle中单引号转义
ORACLE 单引号转义: 在ORACLE中,单引号有两个作用: 1:字符串是由单引号引用 2:转义. 单引号的使用是就近配对,即就近原则.而在单引号充当转义角色时相对不好理解 1.从第二个单引号开始 ...
- 浅谈Oracle RAC -- OHAS组件
浅谈Oracle RAC – OHAS组件 懒惰了一周没有更新博客.这两天天气不好,索性利用今天下午的时间继续写一篇关于OHAS组件的介绍. 之前我们多次提到了OHAS组件是GI的根守护进程.这个组件 ...
最新文章
- 使用RNNs进行机器翻译——介绍RNN和LSTM网络及其应用
- mac catalina删除系统多余文件 内存不足_macOS Catalina Patcher(如何在旧mac上安装Catalina系统)...
- 树莓派远程监控的实现
- MFC制作员工信息管理系统
- 算法:递归-八皇后问题(回溯算法)
- ckeditor:基本使用方法
- python机器学习库keras——CNN卷积神经网络人脸识别
- 利用java的jsoup实现:短视频无水印下载
- 项目管理过程标准及绩效考核
- mysql人脉图_根据二度人脉推荐好友sql
- 端游网易我的世界服务器未响应,我的世界 PC 端游戏启动异常处理指引(2018.09.21)...
- PyTorch基础(六)-- optim模块
- Visualizing and understanding -- 论文阅读笔记
- 解决you-get下载视频速度慢和下载MP4文件问题
- window.print 打印文章时设置字体及解决每页跨页截断问题
- 海报设计师必做3件事
- phpstudy环境下laravel项目,Nginx报错CreateFile failed
- 如何在正则表达式里表达可能存在也可能不存在的内容?
- 开源,阿里内部Spring Cloud Alibaba微服务神仙文档(全彩版)
- 懂得放弃才能收获更多
热门文章
- .NET Core实战项目之CMS 第九章 设计篇-白话架构设计
- 老衣的微服务实践简要指引2017版
- 微软Tech Summit 2017,等你来打Call
- MySql 使用 EF Core 2.0 CodeFirst、DbFirst、数据库迁移(Migration)介绍及示例
- 分布式事务与一致性算法Paxos amp; raft amp; zab
- .NET Core VS Code 环境配置
- hibernate mysql 主从_MYSQL主从复制和写分离
- 【PhotoScan精品教程】任务三:生成密集点云、生成网格、生成DEM、生成DOM
- linux之readelf命令
- 数据结构-Hash总结(二)