Windows 2008 R2 做RMAN定时自动备份;日期格式影响日志文件生成


                              编写的脚本

Level0备份脚本

run{

backup incremental level 0 database format 'H:\backup\db_level0_%d_%s_%Y%M%D.bak';

sql 'alter system archive log current';

backup archivelog all format'H:\backup1\arch_%d_%s_%Y%M%D_%U.bak' delete all input;

backup current controlfile format 'H:\backup1\control_%d_%s_%Y%M%D_%U.bak';

}

Level1备份脚本

run{

backup incremental level 1 database format 'H:\backup\db_level1_%d_%s_%Y%M%D_%U.bak';

sql 'alter system archive log current';

backup archivelog all format 'H:\backup1\arch_%d_%s_%Y%M%D_%U.bak' delete all input;

backup current controlfile format 'H:\backup1\control_%d_%s_%Y%M%D_%U.bak';

}

check检查清理脚本

run{

CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 15 DAYS;

crosscheck backup of database;

crosscheck archivelog all;

delete noprompt expired backup;

delete noprompt expired archivelog all;

delete noprompt obsolete;

delete noprompt backup completed before 'sysdate-15';

delete noprompt archivelog until time 'sysdate-15';

}

Windows命令bat文件

Rman0.bat

@echo off

set ORACLE_SID=xcky

set oraclepath="D:\app\Administrator\product\11.2.0\dbhome_1\BIN"

%oraclepath%\rman target / cmdfile=H:\Rman备份脚本\level0.txt msglog=H:\Rman备份脚本\%date:~0,10%.log

Rman1.bat

@echo off

set ORACLE_SID=xcky

set oraclepath="D:\app\Administrator\product\11.2.0\dbhome_1\BIN"

%oraclepath%\rman target / cmdfile=H:\Rman备份脚本\level1.txt log=H:\Rman备份脚本\%date:~0,10%.log

Rmanchk.bat

@echo off

set ORACLE_SID=xcky

set oraclepath="D:\app\Administrator\product\11.2.0\dbhome_1\BIN"

%oraclepath%\rman target / cmdfile='H:\Rman备份脚本\check.sql' msglog='H:\Rman备份脚本\chk_%date:~0,10%.log'

 

将以上bat文件添加到定时计划任务里就可以。添加完毕使用schtasks /query查看计划任务状态。

 

1、遇到的问题

A、测试执行脚本,发现不按着指定的日志格式产生备份日志。

chk_%date:~0,10%.log

报错信息是~无法打开指定的日志文件。

尝试按着报错格式创建好文件名称chk_2015/08/19.log再重新尝试,但是报错:


原来date日期格式是yyyy/MM/dd格式的,系统无法生成含有‘/’的log文件:


修改日期格式yyyy-MM-dd,测试能正常生成日志:

 

B、进入cmd命令行,使用schtasks /query|more命令查看任务计划状态时,

报错:无法加载列资源。

解决:

查看cmd编码,chcp命令,如果是936,代表中文GBK编码,

Windows 2008 R2使用schtasks /query 会报错,错误内容便是:无法加载列资源。

 

调整 936 437美国编码则可以运行,但是无法打印出非ascii字符。

(非ascii字符都显示为‘?’)

 

调整方法:chcp 437,换回去,就用chcp 936或者退出。

xp/windows7/window 8没这个问题)

开启块跟踪服务:

1、 查看是否开启

SQL> select status,filename from v$block_change_tracking;

STATUS    FILENAME

---------- ----------

DISABLED

2、开启块跟踪(BLKTRK.BLK文件不能手工创建,并且D:\APP\DATA\BLK.TRK\要存在)(RAC的块跟踪文件要放到共享存储)

SQL> alter database enable block change tracking

using file ' D:\APP\DATA\BLK.TRK\BLKTRK.BLK';

Database altered.

 

如果更改跟踪文件所在的路径:

 

SQL> select status ,filename from v$block_change_tracking;

STATUS    FILENAME

---------------------------------------------------------------

ENABLED D:\APP\DATA\BLK.TRK\BLKTRK.BLK

SQL> shutdown immediate;

D:\APP\DATA\BLK.TRK\BLKTRK.BLK复制到D:\app\data\trckblk.trc\BLKTRK.BLK

SQL> startup mount;

SQL> alter database rename file

'D:\app\data\blk.trk\blktrk.blk' to 'D:\app\data\trckblk.trc\BLKTRK.BLK';

SQL> alter database open ;

SQL> select status ,filename from v$block_change_tracking;

STATUS    FILENAME

---------- ---------------------------------------------------

ENABLED   D:\APP\DATA\TRCKBLK.TRC\BLKTRK.BLK

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值