shell 可以使用 root 运行,先切到 grid 用户删除某一天的归档,然后再切换到 Oracle 用户,使用 rman 删除过期归档。当然也可以分两个定时任务运行于 grid 和 Oracle 用户。
grid 下可以直接 asmcmd rm -rf 删除某日归档或者某个归档。grid 删除归档示例如下,希望对你有帮助。
JiekeR1:/home/grid(+ASM1)$ asmcmd ls +ARCH/JIEKEDB/ARCHIVELOG/2022_04_24
thread_1_seq_6716.258.1102874797
thread_1_seq_6717.260.1102877357
thread_1_seq_6718.263.1102877839
JiekeR1:/home/grid(+ASM1)$ asmcmd rm -rf +ARCH/JIEKEDB/ARCHIVELOG/2022_04_24
JiekeR1:/home/grid(+ASM1)$ asmcmd ls +ARCH/JIEKEDB/ARCHIVELOG/2022_04_24
ASMCMD-8002: entry '2022_04_24' does not exist in directory '+ARCH/JIEKEDB/ARCHIVELOG/'