ALTER SYSTEM SWITCH LOGFILE和ALTER SYSTEM ARCHIVE LOG CURRENT区别

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

以前知道

ALTER SYSTEM SWITCH LOGFILE对单实例数据库或RAC中的当前实例执行日志切换,

ALTER SYSTEM ARCHIVE LOG CURRENT会对数据库中的所有实例执行日志切换,

所以在RAC环境上大多时间一般使用后者,而今天遇到了不管执行多少次ALTER SYSTEM ARCHIVE LOG CURRENT命令,日志就是不切换的情况

image

最后使用 ALTER SYSTEM SWITCH LOGFILE 进行强制切换才解决这个问题,而ALTER SYSTEM SWITCH LOGFILE这个命令需要去具体的节点执行,该命令单实例或当前节点有效

image

 

 

另外,SWITCH LOGFILE 只是强制切换日志组,归档功能是否打开与之没多大关系:

     归档如果打开,切换日志组附带着必然要归档,在开归档的情况下,日志切换必然会归档的

     归档如果关闭,肯定不能归档了,但该功能同样能切换日志组,因为它的功能就是强制切换日志组

而 archive log 则是归档的意思,常用的两个参数:

     alter system archive log current:归档当前的日志组,仅在归档模式下使用,因为是当前日志组,归档之前必先切换日志组,所以该命令伴随着切换日志组

     alter system archive log all: 归档除当前日志组以外,尚未归档的日志组,仅在归档模式下使用,该命令不会切换日志组

非归档模式下使用则会报以下错误:

 

补充说明:非归档模式下就不能使用 ARCHIVE LOG了吗?上面的ORA-00258提示说指定日志,相关参数如下:

ARCHIVE LOG
   [  INSTANCE 'instance_name' ]
   { { SEQUENCE integer
     | CHANGE integer
     | CURRENT [ NOSWITCH ]
     | GROUP integer
     | LOGFILE 'filename'
          [ USING BACKUP CONTROLFILE ]
     | NEXT
     | ALL
     | START
     }
     [ TO 'location' ]
   | STOP
   }

 非归档模式下可以使用该方式指定到具体的日志组进行归档,但group n 不能是当前日志组

SQL> alter system archive log group 2 to '/tmp';

总结:

ALTER SYSTEM SWITCH LOGFILE:就是切换日志,SWITCH(切换) ,LOGFILE(日志),就是字面的意思

ALTER SYSTEM ARCHIVE LOG CURRENT:就是归档当前日志,归档(ARCHIVE )日志(LOG)当前的(CURRENT),也是字面意思,

然后就是在不同的环境下(单机/RAC/是否开归档功能),由于功能设计的出发点不同,各自附带的效果也有所不同。

















本文转自xiaocao1314051CTO博客,原文链接:http://blog.51cto.com/xiaocao13140/1933628 ,如需转载请自行联系原作者


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
10月前
|
存储 数据库
ALTER MATERIALIZED VIEW LOG :语句来更改现有物化视图日志的存储特征或类型。
`ALTER MATERIALIZED VIEW LOG` 语句用于修改已有的物化视图日志的存储属性或类型。配合示例中的动画图像(由于格式限制无法显示),该语句帮助优化数据库的性能和管理。
108 0
|
10月前
|
Oracle 关系型数据库 MySQL
实时计算 Flink版操作报错之使用oracle-cdc的,遇到错误:ORA-01292: no log file has been specified for the current LogMiner session,该如何处理
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
8月前
|
架构师 存储
软件交付问题之在设计领域模型和状态机时,模型和状态机,如何解决
软件交付问题之在设计领域模型和状态机时,模型和状态机,如何解决
|
8月前
|
Oracle 关系型数据库
Log Archive Destinations to a Group
oracle 归档日志路径配置
51 1
|
消息中间件
failed to open log file at ‘/var/log/rabbitmq/rabbit@9f987b50c687_upgrade.log‘, reason: permission d
failed to open log file at ‘/var/log/rabbitmq/rabbit@9f987b50c687_upgrade.log‘, reason: permission d
384 0
|
10月前
|
存储 关系型数据库 数据库
关系型数据库文件方式存储LOG FILE(日志文件)
【5月更文挑战第11天】关系型数据库文件方式存储LOG FILE(日志文件)
258 1
|
10月前
|
Java 程序员
SpringBoot集成log4j2出现Logback configuration error detected: current ElementPath is
SpringBoot集成log4j2出现Logback configuration error detected: current ElementPath is
142 0
|
XML JavaScript 数据格式
JS console.log、console.dir、console.dirxml 区别
JS console.log、console.dir、console.dirxml 区别
170 0
|
关系型数据库 MySQL
Mysql Redo log和BinLog的区别
最开始 MySQL 里并没有 InnoDB 引擎。MySQL 自带的引擎是 MyISAM,但是 MyISAM没有 crash-safe 的能力,binlog 日志只能用于归档。而 InnoDB 是另一个公司以插件形式引入MySQL 的,既然只依靠 binlog 是没有 crash-safe 能力的,所以 InnoDB 使用另外一套日志系 统——也就是 redo log 来实现 crash-safe 能力
210 0
|
Oracle 前端开发 关系型数据库
log file sync 和 log file parallel write等待事件的区别和联系
log file parallel write 和log file sync这两个等待事件关系密切,很多人对这两个等待事件有一些误解,我们先来看看Oracle官方文档的解释:
209 0