关于我们
技术分享
技术分享
RMAN备份全自动解决方案
RMAN备份全自动解决方案
2021-06-02
一 开启归档日志,并指定归档路径:
1.archive log list 查看是否已开启归档日志
2.shutdown immediate
3.startup mount
4.alter database archivelog
5.SQL> alter system set log_archive_dest_1='location=F:\archive' scope=spfile;
6.alter database open;
7.archive log list;
二 运行RMAN脚本,并加系统自带计划任务,自动执行
这个脚本可以改成配置ORACLE RMAN相关策略,可以自动保留或删除保留的文件。
connect target sys/password@oamis;
run {
allocate channel c1 type disk maxpiecesize=3G;
allocate channel c2 type disk maxpiecesize=3G;
allocate channel c3 type disk maxpiecesize=3G;
allocate channel c4 type disk maxpiecesize=3G;
allocate channel c5 type disk maxpiecesize=3G;
backup full database tag 'full'
filesperset 5
format 'f:\fullbak\Full_%d_%T_%s_%p.BAK'
include current controlfile
plus archivelog
filesperset 6
format 'f:\fullbak\Arch_%d_%T_%s_%p.BAK'
delete all input;
release channel c1;
release channel c2;
release channel c3;
release channel c4;
release channel c5;
}
三 做个脚本定期删除早于多少天的备份,防止因为磁盘空间不足导致归档没法进行而宕机。我设置为早一七天的备份文件会被自动删除。
第二步的脚本完善之后,这一步可以废掉。当然这个脚本也很有用。
@echo off
setlocal enabledelayedexpansion
set SrcDir=F:\fullbak
>"F:\rman\MyDel.vbs" echo dt=date()-7
>>"F:\rman\MyDel.vbs" echo s=right(year(dt),4) ^& right("0" ^& month(dt),2) ^& right("0" ^& day(dt),2)
>>"F:\rman\MyDel.vbs" echo wscript.echo s
for /f %%a in ('cscript /nologo "F:\rman\MyDel.vbs"') do set DateFlag=%%a
for /f "tokens=*" %%a in ('dir /s /b /a-d "%SrcDir%"') do (
set FileDate=%%~ta
set FileDate=!FileDate:-=!
set FileDate=!FileDate:~0,8!
if !FileDate! lss %DateFlag% (
del /f /q "%%a"
)
)
四 把RMAN的全备份放一份到远程服务器上,做远程同步
可以用SyncBack(免费的软件),做个文件同步,并做个同步计划。
五 若因为手动删除过归档日志,会导致RMAN做全备份失败
启动 backup 于 26-8月 -08
当前日志已存档
释放的通道: c1
释放的通道: c2
释放的通道: c3
释放的通道: c4
释放的通道: c5
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of backup plus archivelog command at 08/26/2008 18:16:45
RMAN-06059: expected archived log not found, lost of archived log compromises re
coverability
ORA-19625: 识别文件F:\ARCHIVELOG\ARC_1_445_652140357.DBF时出错
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。
这时可以手动运行一下:crosscheck archivelog all;
再次执行RMAN全备份,就可以顺利进行了。
1.archive log list 查看是否已开启归档日志
2.shutdown immediate
3.startup mount
4.alter database archivelog
5.SQL> alter system set log_archive_dest_1='location=F:\archive' scope=spfile;
6.alter database open;
7.archive log list;
二 运行RMAN脚本,并加系统自带计划任务,自动执行
这个脚本可以改成配置ORACLE RMAN相关策略,可以自动保留或删除保留的文件。
connect target sys/password@oamis;
run {
allocate channel c1 type disk maxpiecesize=3G;
allocate channel c2 type disk maxpiecesize=3G;
allocate channel c3 type disk maxpiecesize=3G;
allocate channel c4 type disk maxpiecesize=3G;
allocate channel c5 type disk maxpiecesize=3G;
backup full database tag 'full'
filesperset 5
format 'f:\fullbak\Full_%d_%T_%s_%p.BAK'
include current controlfile
plus archivelog
filesperset 6
format 'f:\fullbak\Arch_%d_%T_%s_%p.BAK'
delete all input;
release channel c1;
release channel c2;
release channel c3;
release channel c4;
release channel c5;
}
三 做个脚本定期删除早于多少天的备份,防止因为磁盘空间不足导致归档没法进行而宕机。我设置为早一七天的备份文件会被自动删除。
第二步的脚本完善之后,这一步可以废掉。当然这个脚本也很有用。
@echo off
setlocal enabledelayedexpansion
set SrcDir=F:\fullbak
>"F:\rman\MyDel.vbs" echo dt=date()-7
>>"F:\rman\MyDel.vbs" echo s=right(year(dt),4) ^& right("0" ^& month(dt),2) ^& right("0" ^& day(dt),2)
>>"F:\rman\MyDel.vbs" echo wscript.echo s
for /f %%a in ('cscript /nologo "F:\rman\MyDel.vbs"') do set DateFlag=%%a
for /f "tokens=*" %%a in ('dir /s /b /a-d "%SrcDir%"') do (
set FileDate=%%~ta
set FileDate=!FileDate:-=!
set FileDate=!FileDate:~0,8!
if !FileDate! lss %DateFlag% (
del /f /q "%%a"
)
)
四 把RMAN的全备份放一份到远程服务器上,做远程同步
可以用SyncBack(免费的软件),做个文件同步,并做个同步计划。
五 若因为手动删除过归档日志,会导致RMAN做全备份失败
启动 backup 于 26-8月 -08
当前日志已存档
释放的通道: c1
释放的通道: c2
释放的通道: c3
释放的通道: c4
释放的通道: c5
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of backup plus archivelog command at 08/26/2008 18:16:45
RMAN-06059: expected archived log not found, lost of archived log compromises re
coverability
ORA-19625: 识别文件F:\ARCHIVELOG\ARC_1_445_652140357.DBF时出错
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。
这时可以手动运行一下:crosscheck archivelog all;
再次执行RMAN全备份,就可以顺利进行了。
- 标签:
-
云计算
您可能感兴趣的新闻 换一批
热门文章
现在下载,可享30天免费试用