oracle数据库shell冷备份和热备份

冷备份的脚本代码:

#!/bin/bash

backup_dir=/oracle/bakup

log_file=$ORACLE_BASE/admin/$ORACLE_SID/cold_backup_$ORACLE_SID.log

echo "Beginning coldbackup...">$log_file

date>>$log_file

sqlplus -s / as sysdba<<EOF>$log_file

set pagesize 0

set linesize 1000

spool file_copy_$ORACLE_SID.sh

select 'cp '||name||' $backup_dir/' from v\$controlfile;

select 'cp '||file_name||' $backup_dir/' from dba_data_files;

select 'cp '||member||' $backup_dir/' from v\$logfile;

spool off

shutdown immediate

!bash file_copy_$ORACLE_SID.sh

startup

exit;

EOF

rm -f file_copy_$ORACLE_SID.sh

 

if [ -e $ORACLE_HOME/dbs/init$ORACLE_SID.ora ]

then

cp $ORACLE_HOME/dbs/init$ORACLE_SID.ora $backup_dir/

fi

if [ -e $ORACLE_HOME/dbs/spfile$ORACLE_SID.ora ]

then

cp $ORACLE_HOME/dbs/spfile$ORACLE_SID.ora $backup_dir/

fi

if [ -e $ORACLE_HOME/dbs/orapw$ORACLE_SID ]

then

cp $ORACLE_HOME/dbs/orapw$ORACLE_SID $backup_dir/

fi

echo "Cold backupfinished.">>$log_file

date>>$log_file

 

热备份的脚本代码:

 

#!/bin/bash
backup_dir=/oracle/bakup
log_file=$ORACLE_BASE/admin/$ORACLE_SID/hot_backup_$ORACLE_SID.log
echo "Beginning backup...">$log_file
date>>$log_file

sqlplus -s / as sysdba<<EOF>>$log_file
alter database backup controlfile to '/$backup_dir/backup_controlfile.ctl';
set pagesize 0
set linesize 1000
set set feedback off
col tablespace_name noprin
col sortorder noprin
col textout format a120


spool hot_backup_$ORACLE_SID.sql
select tablespace_name,'1' sortorder,'alter tablespace ' || tablespace_name || 'begin backup;' textout from dba_data_files
union
select tablespace_name,'2' sortorder,
'host cp ' || file_name || ' ' || '$backup_dir' textout
from dba_data_files
union
select tablespace_name, '3' sortorder,
'alter tablespace ' || tablespace_name || ' end backup; ' textout
from dba_data_files
order by tablespace_name, sortorder, textout;
select 'alter system archive log current;' from dual;
spool off


@hot_backup_$ORACLE_SID.sql
exit
EOF
rm -f hot_backup_$ORACLE_SID.sql
echo "Hot backup finished.">>$log_file

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值