前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【DB笔试面试746】在O中,“...SWITCH LOGFILE”与“... ARCHIVE LOG CURRENT”区别

【DB笔试面试746】在O中,“...SWITCH LOGFILE”与“... ARCHIVE LOG CURRENT”区别

作者头像
AiDBA宝典
发布2020-02-24 10:32:24
5510
发布2020-02-24 10:32:24
举报
文章被收录于专栏:小麦苗的DB宝专栏

题目部分

在Oracle中,RAC环境下“ALTER SYSTEM SWITCH LOGFILE;”与“ALTER SYSTEM ARCHIVE LOG CURRENT;”有什么区别?

答案部分

“ALTER SYSTEM SWITCH LOGFILE;”仅对当前发布节点上的对应Redo Thread进行日志切换并归档。“ALTER SYSTEM ARCHIVE LOG CURRENT;”对集群内所有节点实例上的Redo Thread进行切换并归档(在节点实例可用情况下,分别归档到各节点主机的归档目的地,当节点不可用时候,该线程日志归档到命令发布节点的归档目的地)。

当然,命令“ALTER SYSTEM ARCHIVE LOG CURRENT;”对单实例的数据库也是起作用的,使用这个命令还可以对RAC环境中的指定实例进行日志切换:

代码语言:javascript
复制
alter system archive log instance 'lhrracdb2' current;

需要注意的是,命令“ALTER SYSTEM ARCHIVE LOG CURRENT;”对于非归档模式的数据库只能归档非当前Redo日志组,而对于归档模式的数据库则没有该限制,否则会报错:

代码语言:javascript
复制
SYS@lhrrac11> ALTER SYSTEM ARCHIVE LOG CURRENT;
ALTER SYSTEM ARCHIVE LOG CURRENT
*
ERROR at line 1:
ORA-00258: manual archiving in NOARCHIVELOG mode must identify log

SYS@lhrrac11> ALTER SYSTEM ARCHIVE LOG thread 1   sequence 14;

System altered.

SYS@lhrrac11> ALTER SYSTEM ARCHIVE LOG thread 1   sequence 15;
ALTER SYSTEM ARCHIVE LOG thread 1   sequence 15
*
ERROR at line 1:
ORA-00259: log 1 of open instance lhrrac11 (thread 1) is the current log, cannot archive

SYS@lhrrac11> ALTER SYSTEM ARCHIVE LOG thread 2   sequence 13 ;

System altered.

SYS@lhrrac11> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
[oracle@raclhr-11gR2-N1 ~]$ oerr ora 258
00258, 00000, "manual archiving in NOARCHIVELOG mode must identify log"
// *Cause: The database is in NOARCHIVELOG mode and a command to manually
//          archive a log did not specify the log explicitly by sequence
//          number, group number or filename.
// *Action: Specify log by filename, by group number or by thread and
//          sequence number.

最后提一下与日志相关的发出检查点操作的命令,在RAC数据库中也有所不同,以前的“alter system checkpoint;”与“alter system checkpoint global;”命令是等价的,将在所有数据库实例中触发检查点操作。如果想要在当前实例触发检查点,那么需要对命令稍作修改:

代码语言:javascript
复制
alter system checkpoint local;

本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-02-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DB宝 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档