暂无图片
RMAN里为何要些alter system archive log current
我来答
分享
Thomas
2022-08-10
RMAN里为何要些alter system archive log current

如题,RMAN脚本里发现经常有这句。其作用是什么?另外,这句是放在什么位置,备份DB前,备份完成后,还是对ARCHIVELOG备份前?

我来答
添加附件
收藏
分享
问题补充
5条回答
默认
最新
布衣
暂无图片

被充一下:
image.png

暂无图片 评论
暂无图片 有用 1
打赏 0
暂无图片
严军
2022-08-11
专业
赵勇
2022-08-12
个人理解,switch logfile只是切换redo log,但并不是强制归档,或者说不是立即归档。而archive log current 是切换redo log并将未归档的所有redo log立即归档。
布衣
暂无图片
-- 对所有数据库实例进行归档切换 alter system archive log current;
复制

rman 脚本里面增加这一句是为了就当前的redo日志进行归档,方便后续的归档备份。
我一般会备份前和备份后都做一次:
备份前做一次归档切换,然后进行数据库备份,
备份完后再做一次归档切换,把最后一归档也保留下来,这样万无一失。

希望对你有所帮助,如有帮助,请点击采纳

暂无图片 评论
暂无图片 有用 0
打赏 0
Edward
2023-04-06
我在执行日志备份的时候遇到了加上alter system archive log current; oracle提示log 4 sequence# 697 not archived, no available destinations,导致整个归档进程全部停止,数据库也停止运行了。这是什么原因导致的?
Edward
2023-04-06
官方对 对 archive log current 的解释是 Specify CURRENT to manually archive the current redo log file group of the specified thread, forcing a log switch. If you omit the THREAD parameter, then Oracle Database archives all redo log file groups from all enabled threads, including logs previous to current logs. You can specify CURRENT only when the database is open. 对 SWITCH LOGFILE的解释 The SWITCH LOGFILE clause lets you explicitly force Oracle Database to begin writing to a new redo log file group, regardless of whether the files in the current redo log file group are full. When you force a log switch, Oracle Database begins to perform a checkpoint but returns control to you immediately rather than when the checkpoint is complete. To use this clause, your instance must have the database open. 这样看,是否用SWITCH LOGFILE更安全一些,避免归档没有完成导致的卡死?
Thomas

如果RMAN里不写这句,会有什么隐患呢?能否举个例子。

暂无图片 评论
暂无图片 有用 0
打赏 0
布衣
2022-08-12
如果你能保留备份前后的归档,不会有其它问题。
Thomas

我感觉按ORACLE的机制来说,应该能保存啊。如果备份归档前不写这句,而备份归档的语句带all delete input, 那么假设备份那一刻有10个归档,1-10号,而备份期间产生了一个新归档11号,我理解是1-10号被备份并被删除,11号肯定没有被备份,但仍然保留在归档目录里。不是也正常么?如果备份后些这句,更感觉没啥意义啊,都备完了,要归档当前日志好像没意义吧。

暂无图片 评论
暂无图片 有用 0
打赏 0
布衣
暂无图片

image.png

其实这句就说的很明白了,加这个语句的目地就是为了保证备份的完整和一致性。

有的备份时间很长,例如1小时左右,备份后加这句是为了在备份过程中的数据变化也归档起来,和你的备份放在一个目录里面,这样才算一个完成的备份。

如果你不注意保留最后一份归档的话,只留意备份文件的话,等你恢复的时候就会报缺少归档文件,有的可以用不完全恢复,但也的就恢复不起来:https://www.modb.pro/doc/48691 (就这是一个惨痛的经历)
所以备份完后加上这句,然后再把最后一份归档+备份文件才是完成的备份。

备份前可以不加,但备份后个人觉得还是很有必要加上的。

以上代表个人见解,希望对你有所帮助。。

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
Oracle的位图索引与B*Tree索引有什么不同?
回答 5
已采纳
位图索引的结构与BTree索引不同。它的一个索引键条目会指向多行数据,而在BTree索引中,索引键和表中的行存在一对一的关系;位图索引特别不适用OLTP系统,而BTree适用OLTP。
有没有Oracle 11g安装包, window版本?
回答 1
链接:https://pan.baidu.com/s/18mwApBI5VFeOMvJnsNNGA?pwdu14j提取码:u14j复制这段内容后打开百度网盘手机App,操作更方便哦7天有效
RAC 环境,在RAC02上执行数据导出,但是备份文件会跑到rac01上,如何避免这个问题。
回答 3
你的esbpdb是怎么配置
oracle 能用触发器触发储存过程吗?
回答 1
已采纳
可以,其实触发器本身也可以看成是一个存储过程,在存储过程中调用另一个存储过程是再自然不过的事情
Oracle19C
回答 1
可以有偿
oracle能再线把表中 的索引从表空间a 迁移到表空间b ,数据不移动?
回答 2
不能
Oracle如何根据出生日期判断公民是否成年呢?
回答 6
已采纳
createtableinfo(namevarchar2(50),birthvarchar2(8));insertintoinfovalues('小赵','20000101');insertintoi
oracle pdb克隆
回答 5
已采纳
支持的,克隆的时候,数据文件的路径填需要的地址就行。
简单测试jdbc连接
回答 3
供参考https://www.modb.pro/db/603901
想查看dba的恢复操作,如何获取如下图所示的操作信息?谢谢各位专家们。
回答 1
升级问题到:一般问题