oracle数据本机自动备份

1、创建三个文件

exp.list  内容:oracle数据库的用户名和密码

name pwd

exp.log   主要用于存储在自动备份数据库时的日志信息

exp.sh

#!/bin/sh

#找到数据库的路径
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_OWNER=oracle
export ORACLE_SID=orcl
export NLS_LANG=American_America.ZHS16GBK
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

#执行路径
cd /home/oracle/dbbackup
exptime=$(date +%Y-%m-%d_%H)

#读取创建的exp.list文件里的用户名及密码
cat exp.list | while read dbUser dbPasswd
do
        echo $dbUser
         exp $dbUser/$dbPasswd GRANTS=Y file=$dbUser"_"$exptime.dmp    #执行导出
        if [ "0" == $? ]
        then
                   tar -zcvf $dbUser"_"$exptime.dmp.tar.gz $dbUser"_"$exptime.dmp
                   rm $dbUser"_"$exptime.dmp
         fi
done
#导出文件名
find . -mtime +6 -name "*.dmp.tar.gz" |xargs rm

2、本脚本加入定时任务里面

crontab  -e

30 23 * * 0 /home/oracle/dbbackup/exp.sh >> /home/oracle/dbbackup/exp.log 2>&1

意思是:每星期周日的晚上23时30分执行/home/oracle/dbbackup下的exp.sh脚本,如果脚本执行报错会把错误信息放到exp.log下面。

时间: 2024-10-08 20:21:12

oracle数据本机自动备份的相关文章

oracle 数据泵 每天自动备份

@echo off echo 删除10天前的备分文件和日志 forfiles /p "e:\app\back" /m *.dmp /d -5 /c "cmd /c del @path" forfiles /p "e:\app\back" /m *.log /d -5 /c "cmd /c del @path" echo 正在备份 Oracle 数据库,请稍等…… expdp sxybyj/[email protected] d

oracle 数据库主键自动增长sql

我们都知道,在MySQL中,要实现主键的自动递增非常简单.只需要在主键定义的后面加上auto_increment即可, 但是在Oracle中就不是这样,需要分几步来完成 1.建立一个表 create table 户口本  (    户号                   INTEGER                         not null,    户别                   CHAR(20)                        not null,    户主

如何使用windows自动任务实现oracle数据备份及清理

很多时候,我们需要通过客户机进行oracle的备份,这里我们通过使用windows的自动任务来实现oracle的自动备份及备份的清理 自动任务的使用略 1.建立自动备份脚本 @echo off @echo ================================================ @echo  windows环境下Oracle数据库的自动备份脚本 @echo  说明:启动备份时,需要配置以下变量 @echo    1.BACKUP_DIR           指定要备份到哪

Linux 通过脚本实现远程数据的自动备份

在数据化飞速发展的今天,数据的定期备份成了数据安全首要考虑的问题.一旦出现了问题或故障,导致数据无法正常读取,那么原有的重要数据又如何得以保存下来呢.当然不能采用本机备份了,这样的备份风险很大,极有可能鸡飞蛋打,如果机器都宕掉了,本机备份的数据也就没法利用啦.因此,采取远程服务器作为备份机(远程数据备份)就变的很重要了. 远程手动备份费时费力而且还不及时,最好的办法就是通过脚本实现远程自动备份.但远程备份无论是通常通过SSH方法登陆到业务服务器(数据服务器),通过scp拷贝文件时都说需要不断输入

Veritas Netbackup Oracle数据库本机备份恢复

概述: 本次实验环境采用Veritas Netbackup 7.7.3软件版本,对Redhat Linux Oracle数据库的备份和恢复. 操作系统 主机名 IP地址 Windows Server 2008R2  nbumaster 192.168.60.59 Redhat Linux 6.5 x86_64 rhel6 192.168.60.100 Oracle备份恢复实验拓扑: 备份RedHat Linux环境下的Oracle 11gR2数据库到Master Server端: 通过Maste

Linux下自动备份Oracle数据库并删除指定天数前的备份

Oracle数据库服务器 操作系统:CentOS IP:192.168.0.198 端口:1521 SID:orcl Oracle数据库版本:Oracle11gR2 具体操作: 1.root用户登录服务器 mkdir -p /backup/oracledata #新建Oracle数据库备份目录 chown -R oracle:oinstall /backup/oracledata -R #设置目录权限为oinstall用户组的oracle用户(用户oracle与用户组oinstall是在安装Or

[转]PLSQL Developer备份恢复oracle数据

本文转自:http://www.cnblogs.com/iampkm/archive/2013/06/09/3128273.html 使用PL sql提供的功能可以快速的备份恢复oracle数据. 1  导出存储过程,触发器,序列等所有用户对象.(备份) 在PL/SQL Developer的菜单Tools(工具) => Export User Objects(导出用户对象)中出来一个对话框界面 建议红色框住部分都不选,这样执行这个sql 时,就根据当前你的登录账户来进行创建.  在对象列表中ct

PLSQL Developer备份恢复oracle数据

使用PL sql提供的功能可以快速的备份恢复oracle数据. 1  导出存储过程,触发器,序列等所有用户对象.(备份) 在PL/SQL Developer的菜单Tools(工具) => Export User Objects(导出用户对象)中出来一个对话框界面 建议红色框住部分都不选,这样执行这个sql 时,就根据当前你的登录账户来进行创建.  在对象列表中ctrl+a 全选所有(如果你只导出部分,可单独选择) 设置 输出文件地址,文件名. 点击导出完成. 2  导出数据.(备份) 在PL/S

CentOS7下Oracle的自动备份

概述 Linux下Oracle自动备份就没有MSSQL那么简单,在Linux下Oracle的备份需要借助crontab 指令,crontab 能够自动执行系统定时任务,通过配置crontab 指向Oracle定时备份指令完成数据的定时备份. 编写脚本 1.编写数据库备份脚本文件(backup.sh) #引进执行数据备份的环境 export ORACLE_BASE=/data/oracle export ORACLE_HOME=/data/oracle/product/11.2.0/db_1 ex