oracle数据定时备份

有个简单需求:oracle数据库放到host-a上面,我希望在host-b每天早上3点备份host-a指定oracle table数据。

 

步骤一、在host-b安装oracle环境或者oracle instant client

 

步骤二、在host-b配置TNS Name

 

# 编辑并添加下面配置
vi /u01/app/oracle/network/admin/tnsnames.ora

 

host_a_db =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST =  host-a )(PORT = 1521))
    )
    (CONNECT_DATA = (SID = logstat)(SERVER = DEDICATED))
  )

 

步骤三、编写shell脚本

 

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

 

 

 

 

 

 

你可能感兴趣的:(oracle exp)