刚开始做热备
来源:互联网 发布:股票技术软件 编辑:程序博客网 时间:2024/04/28 00:10
备份的sh
#!bin/sh
#hot.sh
FILE_TARGET=/home/oracle/admin/backup/hot
cd /home/oracle/admin/backup/sh
ARCH=`ls /home/oracle/admin/avatar/arch`
cd /home/oracle/admin/oranews/arch
rm $ARCH
#backup the password file
cp $ORACLE_HOME/dbs/orapw* $FILE_TARGET/.
#backup the parameter file
cp $ORACLE_HOME/dbs/initoranews.ora $FILE_TARGET/.
sqlplus -s sys/pass@sid as sysdba'<<EOF
@/home/oracle/admin/backup/sh/hot.sql;
commit;
quit
EOF
起初的备份的sql
--begin backup
alter database backup controlfile to '/home/oracle/admin/backup/hot/control01.ctl' reuse;
set pagesize 0 feedback off
spool begin_backup.sql;
select 'alter tablespace ' ||tablespace_name|| ' begin backup;'
from dba_tablespaces
where status <> 'invalid' and tablespace_name<>'temp';
spool off;
@begin_backup.sql;
--copy the .dbf files
!cp /home2/oracle/oradata/*.dbf /home/oracle/admin/backup/hot
!cp /home/oracle/oradata/dwtest/*.dbf /home/oracle/admin/backup/hot
-end backup
set pagesize 0 feedback off
spool end_backup.sql;
select 'alter tablespace ' ||tablespace_name|| ' end backup;'
from dba_tablespaces
where status <> 'invalid' and tablespace_name<>'temp';
spool off;
@end_backup.sql;
alter database backup controlfile to '/home/oracle/admin/backup/hot/control02.ctl' reuse;
alter system archive log current;
exit
这样的sql可以防止因为表空间的改变而丢失备份。但是操作开销过大,效率不是很好,所以,最后还是采取了原来一直采用的sql
alter database backup controlfile to '/home/oracle/admin/backup/hot/control01.ctl' reuse;
alter tablespace avtdata begin backup;
!cp /home2/oracle/oradata/avatar/avtdata*.dbf /home/oracle/admin/backup/hot
alter tablespace avtdata end backup;
alter tablespace avtindx begin backup;
!cp /home/oracle/oradata/avatar/avtindx*.dbf /home/oracle/admin/backup/hot
alter tablespace avtindx end backup;
alter tablespace users begin backup;
!cp /home2/oracle/oradata/avatar/users*.dbf /home/oracle/admin/backup/hot
alter tablespace users end backup;
alter tablespace system begin backup;
!cp /home2/oracle/oradata/avatar/system*.dbf /home/oracle/admin/backup/hot
alter tablespace system end backup;
alter tablespace tools begin backup;
!cp /home2/oracle/oradata/avatar/tools*.dbf /home/oracle/admin/backup/hot
alter tablespace tools end backup;
alter tablespace rbs begin backup;
!cp /home2/oracle/oradata/avatar/rbs*.dbf /home/oracle/admin/backup/hot
alter tablespace rbs end backup;
alter database backup controlfile to '/home/oracle/admin/backup/hot/control02.ctl' reuse;
alter system archive log current;
这些都还容易,最让我郁闷的是cron文件中的任务不执行,直到第二天,才发现,是其中日志目录居然没有创建,晕死。
比较理想的方法是利用sh脚本,直接找出每个tablespace的有效的.dbf文件,然后再进行begin_backup,cp,end_backup。需要对dba_data_file查询有效的.dbf文件。由于这几天事情比较多,有待以后试验
- 刚开始做热备
- 刚开始
- 刚开始
- 刚开始
- 刚开始
- 刚开始
- 刚开始学习
- 而立刚开始
- 只是刚开始!
- 我的BLOG刚开始
- 刚开始工作的两天。
- 刚开始写存储过程
- 刚开始学习c#
- 刚开始的迷茫
- 刚开始学习C#,
- 刚开始学习MFC
- 刚开始接触ARM
- 我才刚刚开始
- 有没有那么一首歌
- C#实现Web文件的上传-1
- 46个不可不知的生活小常识
- 查看linux启动过程的命令
- 验证和更改 MSDE 系统管理员密码
- 刚开始做热备
- 保护SQL Server数据库的十大绝招
- [真情提醒]小心IT界杀手——过劳死
- 一个可以帮你检查cookie是否可用的小技巧。
- DBGrid单元格画圆圈
- 感谢!
- XMLBEANS实践——自动化XML和Java之间的数据交换(一)
- 11种刷新按钮的方法
- 一篇震惊西方世界的中国人的论文!