Oracle--将归档日志从 ASM 拷贝到 Linux 文件系统中操作步骤
适用场景:
备份出现问题,ASM 中归档日志磁盘组空间不足,暂时无法扩容,数据库不可用。
操作前提:
可以备份情况下,先备份之后直接清理日志文件。
如果没法第一时间备份情况下,先将数据库文件拷贝到本地,先将asm中日志文件清理,恢复数据库业务使用,之后再将本地拷贝出来的日志文件,重新拷贝回asm磁盘组中,再进行备份
检查事项:
执行后需要校验归档日志当前状态
csharp
RMAN> validate archivelog all;
操作步骤:
先将归档日志文件从ASM磁盘中拷贝到本地
csharp
su - grid
asmcmd
cp +FRA/.../archivelog* /tmp/archivelog *
rm +FRA/.../ archivelog *
将ASM中的归档日志文件清理
csharp
su - oracle
rman target /
crosscheck archivelog all;
delete expired archivelog all;
备份问题解决后,将这些日志重新拷贝回 ASM 后再备份
csharp
ASMCMD> cp /tmp/thread_2_seq_25.307.1162018389 +fra/orcl/archivelog/2024_02_27/thread_2_seq_25.307;
copying /tmp/thread_2_seq_25.307.1162018389 -> +fra/orcl/archivelog/2024_02_27/thread_2_seq_25.307
ASMCMD> ls
thread_1_seq_29.301.1162017979
thread_1_seq_30.302.1162017981
thread_1_seq_31.303.1162017983
thread_1_seq_32.305.1162017983
thread_2_seq_23.304.1162017983
thread_2_seq_24.306.1162018359
thread_2_seq_25.307
风险提示:
备份问题解决后,将这些日志重新拷贝回 ASM 后再备份时注意日志磁盘空间使用情况,防止再次出现档日志磁盘组空间不足。