欢迎进入oracle社区论坛,与200万技术人员互动交流 >>进入
oracle数据定时备份
有个简单需求:oracle数据库放到host-a上面,我希望在host-b每天早上3点备份host-a指定oracle table数据。
步骤一、在host-b安装oracle环境或者oracle instant client
步骤二、在host-b配置tns name
java代码
# 编辑并添加下面配置
vi /u01/app/oracle/network/admin/tnsnames.ora
java代码
host_a_db =
(description =
(address_list =
(address = (protocol = tcp)(host = host-a )(port = 1521))
)
(connect_data = (sid = logstat)(server = dedicated))
)
步骤三、编写shell脚本
java代码
vi backup.sh #内容如下
exp logstat/xxxx@host_a_db file=snda-`date -d yesterday +%y%m%d`.dmp tables=t1,t2 buffer=64000
#只保留7天的备份
find /home/oracle/snda_bak -name '*.dmp' -mtime +6 -exec rm -fr {} \;
备份文件名称包含当前日期前一天日期,这样的效果“snda-20130415.dmp”
步骤四:挂crontab
3 3 * * * source .bash_profile; /home/oracle/backup.sh > out.log
--end
