oracle7 怎样备份,循序渐进oracle第7章:备份与恢复之Nocatalog方式的备份方案制定...

/* 2008/06/06

*环境:linux5 + Oracle10g

*循序渐进oracle——数据库管理、优化与备份恢复

*循序渐进oracle第7章:备份与恢复之Nocatalog方式的备份方案制定

*每周两次全备份,其他每日执行归档日志的备份(即周日和周三进行全备份,其他每天执行归档日志的备份)

*/

测试环境:

1      操作系统:Redhat Linux 5

[oracle@mzl proc]$ cat /proc/version

Linux version 2.6.18-8.el5 (brewbuilder@ls20-bc2-14.build.redhat.com) (gcc version 4.1.1 20070105 (Red Hat 4.1.1-52)) #1 SMP Fri Jan 26 14:15:21 EST 2007

2     数据库版本:Oracle10g

SQL> select * from v$version;

BANNER

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

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod

PL/SQL Release 10.2.0.1.0 - Production

CORE    10.2.0.1.0      Production

TNS for Linux: Version 10.2.0.1.0 - Production

NLSRTL Version 10.2.0.1.0 - Production

3     数据库的名字:orcl

SQL> show parameter db_name;

NAME                                 TYPE        VALUE

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

db_name                              string      orcl

4  归档状态

SQL> archive log list;

Database log mode              Archive Mode

Automatic archival             Enabled

Archive destination            USE_DB_RECOVERY_FILE_DEST

Oldest online log sequence     22

Next log sequence to archive   24

Current log sequence           24

5  在/u01/backup/fullbackup.sql编写全备份脚本

文件内容:

run{

backup full tag 'orclfull' database

include current controlfile

format '/home/backup/orclful_%d_%T_%s'

plus archivelog

format '/home/backup/orclful_archive_%d_%T_%s' delete all input;

delete noprompt obsolete;

}

6  给脚本授予权限

[oracle@mzl backup]$ chmod +x  fullbackup.sql

7  在/u01/backup/archivelogbackup.sql编写归档备份脚本

文件内容:

run{

backup archivelog all

format '/home/backup/onlyarchivelog_%d_%T_%s' delete all input;

}

8  给脚本授予权限

[oracle@mzl backup]$ chmod +x  archivelogbackup.sql

9  编写一个判断星期几,然后调用相应的脚本/u01/backup/startrman.sh

脚本内容:

. /home/oracle/.bash_profile

SH_HOME=/u01/backup

export SH_HOME

DATE=`date +%Y%m%d`

week=`date +%w`

#------------------------------

#Confirm whether the oracle is runing

#-----------------------------

ps -ef|grep dbw0_$ORACLE_SID | grep -v grep

#-----------------------------

#Begin to backup

#-----------------------------

if [$? -eq 0]:then

if[ $week="0" ] || [ $week="3" ];then

rman target/ @/u01/backup/fullbackup.sql log=/home/backup/fullbackup`date +%Y%m%d`.log

else

rman target/ @/u01/backup/archivelogbackup.sql log=/home/backup/archivelogbackup`date +%Y%m%d`.log

fi

fi

8  给脚本授予权限

[oracle@mzl backup]$ chmod +x  startrman.sh

9   编写定时器crontab,定制每天1:30调用/u01/backup/startrman.sh脚本

[oracle@mzl ~]$ crontab -e

内容:

30 1 * * 0-6  /u01/backup/startrman.sh

查看crontab:

[oracle@mzl ~]$ crontab -l

30 1 * * 0-6  /u01/backup/startrman.sh

最后:测试日期可以用

[oracle@mzl ~]$ echo date=`date +%Y%m%d`

date=20080610

测试星期:

[oracle@mzl ~]$ echo week=`date +%w`

week=2

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12778571/viewspace-332698/,如需转载,请注明出处,否则将追究法律责任。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值