oracle数据库创建directory: BAKEUP_DATA

SQL> create or replace directory BAKEUP_DATA as '/oracle/';

SQL> grant read,write on directory BAKEUP_DATA to fszhxzc;

配置scp免密传输

# scp -p ./root/ssh/id_rsa.pub root@192.168.2.100:/root/.ssh/authorized_keys

编写备份shell脚本/oracle/backup.sh代码如下

#!/bin/sh

if [ $# -ne 1 ];then

echo "请传入需要备份的oralce用户,多个使用,分隔!";

echo "异常终止备份任务!"

exit 1;

fi

ORACLE_OWNER=$1

echo "开始备份${ORACLE_OWNER}用户的全量数据..."

echo "1.引入oracle运行的系统环境变量"

export ORACLE_BASE="/oracle/product"

export ORACLE_HOME="/oracle/product/oracle/db"

echo "2.引入一般变量"

FILE_NAME="${ORACLE_OWNER//,/_}"

CURRENT_TIME=`date +%Y_%m_%d`

ORACLE_USERNAME="执行备份的oracle用户,需要有相应的权限"

ORACLE_PASSWORD="密码"

ORACLE_SID="SID"

BACK_DIR="/oracle/"

BACK_DATA="${FILE_NAME}_${CURRENT_TIME}.dmp"

BACK_LOG="${FILE_NAME}_${CURRENT_TIME}.log"

EXPRESSED_DATA="${FILE_NAME}_${CURRENT_TIME}.tar.gz"

REMOTE_USERNAME="远程服务器用户"

REMOTE_IP="1远程服务器IP"

REMOTE_PATH="/oracle/"

DAYS="7"

echo "3.进入备份目录: $BACK_DIR"

cd "${BACK_DIR}"

if [ $? -ne 0 ];then

echo "进入备份目录错误!";

echo "异常终止备份任务!"

exit 1;

fi

echo "4.执行备份"

"${ORACLE_HOME}"/bin/expdp "${ORACLE_USERNAME}/${ORACLE_PASSWORD}@${ORACLE_SID}" directory=BAKEUP_DATA dumpfile="${BACK_DATA}" log="${BACK_LOG}" schemas="${ORACLE_OWNER}"

if [ $? -ne 0 ];then

echo "备份失败!";

echo "异常终止备份任务!"

exit 1;

fi

echo "5.压缩备份文件和日志文件"

tar -zcvf "${EXPRESSED_DATA}" "${BACK_DATA}" "${BACK_LOG}"

if [ $? -ne 0 ];then

echo "压缩备份文件和日志文件失败!";

echo "异常终止备份任务!"

exit 1;

fi

echo "6.将备份文件上传到远程服务器: ${REMOTE_IP}:${REMOTE_PATH}"

scp "${EXPRESSED_DATA}" "${REMOTE_USERNAME}@${REMOTE_IP}:${REMOTE_PATH}"

if [ $? -ne 0 ];then

echo "将备份文件上传到远程服务器失败!";

echo "异常终止备份任务!"

exit 1;

fi

echo "7.删除dmp文件和日志文件"

find "${BACK_DIR}" -type f -name "${FILE_NAME}_*.log" -exec rm {} \;

if [ $? -ne 0 ];then

echo "删除${FILE_NAME}_*.log失败!";

fi

find "${BACK_DIR}" -type f -name "${FILE_NAME}_*.dmp" -exec rm {} \;

if [ $? -ne 0 ];then

echo "删除${FILE_NAME}_*.dmp失败!";

fi

# echo "8.删除备份压缩包"

# find "${BACK_DIR}" -type f -name "${FILE_NAME}_*.tar.gz" -exec rm {} \;

# if [ $? -ne 0 ];then

# echo "删除${FILE_NAME}_*.dmp失败!";

# fi

echo "8.删除${DAYS}天前的备份压缩包"

find "${BACK_DIR}" -type f -name "${FILE_NAME}_*.tar.gz" -mtime +"${DAYS}" -exec rm -rf {} \;

if [ $? -ne 0 ];then

echo "删除${DAYS}天前的备份压缩包失败!";

fi

echo "备份完成!"

oracle全量拷贝,oracle数据库expdp异机全量备份相关推荐

  1. oracle 查询缓存是否开启,数据库强制的开启全库缓存模式

    在以前的版本当中, oracle数据库不能将用户查询的大表数据缓存到buffer cache当中, 因为缓存大表的时候会将数据库中有用的数据从内存中给置换出来, 这样的就不能提高数据库的效率了. 但是 ...

  2. oracle 磁带 恢复,NBU Oracle 异机恢复磁带备份测试-有catalog

    环境: 生产库---> NBU7.0 ,catalog,备份到-->磁带库中,持续运行,备份策略为每周日全备,每天增量,归档随备份一起备份 恢复测试:  新的环境连接到同一NBU SERV ...

  3. mysql 全角空格_数据库使用技巧――SQL全角与半角切换_MySQL

    bitsCN.com 数据库系统中,经常有些用户在输入数据的时候会不小心使用全角输入,这就有可能会导致我们的程序出错,如何解决此类问题了. 测试代码: select cast('111' as int ...

  4. oracle ora 19698,RMAN异机还原遭遇ORA-19698错误案例

    实验环境: 操作系统    :Oracle Linux Server release 5.7 64 bit 数据库版本:Oracle Database 10g Release 10.2.0.4.0 - ...

  5. 浅谈Oracle服务器归档日志,oracle服务器运行时管理归档日志文件不管理联机重做日志文件...

    <Oracle数据库管理与维护实战>--2.4 Oracle后台进程结构 本节书摘来自异步社区出版社<Oracle数据库管理与维护实战>一书中的第2章,第2.4节,作者: 何伟 ...

  6. networker对mysql备份_【经验分享】EMC NetWorker数据库备份及异机恢复

    前言 在Oracle数据库备份恢复中,大部分应用场景是采用赛门铁克NBU来进行oracle数据备份恢复,但也有使用EMC NetWorker 数据库备份及异机恢复.本人通过实际生产环境配置整理成文,讲 ...

  7. oracle10g升级教程,异机升级Oracle10R2 到11.2.0.4步骤

    异机升级Oracle10R2 到11.2.0.4步骤 发布时间:2020-08-18 01:03:38 来源:ITPUB博客 阅读:103 作者:pingdanorcale 环境 目前环境10.2.0 ...

  8. RMAN异机恢复步骤

    RMAN是DBA日常工作非常常用的工具,RMAN的应用场景大概有数据备份恢复.数据迁移等.我们不常用本机RMAN恢复,因为在实际生产中RMAN备份通常是用于异机恢复,比如数据迁移,DG搭建,恢复备份库 ...

  9. mysql异机还原_利用RMAN进行异机还原(目录相同)

    利用RMAN进行异机还原(目录相同) 源始库:192.168.201.2目标库:192.168.201.3 --192.168.201.2--rman[Oracle@db01 ~]$ rman tar ...

  10. oracle异机expdp备份,关于通过dblink和expdp进行数据库备份的操作步骤

    关于通过dblink和expdp进行数据库备份的操作步骤 关于通过dblink和expdp进行数据库备份的操作步骤 文档约定 文档目的 操作步骤 参考资料 文档约定 主服务器数据库为源数据库,客户端服 ...

最新文章

  1. linux 进程等待 wait 、 waitpid
  2. react学习(37)----获取子组件得实例
  3. 操作系统--进程管理1--单个CPU情况
  4. 轻松决绝疑难杂症:nodejs使用http报错: Request path contains unescaped characters
  5. 遇到Python中文目录名问题,未解决
  6. java native方法使用
  7. Gitlab代码库自动同步到Github
  8. 如何下载风云卫星数据?
  9. ppt 计算机教学操作,电脑基本操作教学(原创).ppt
  10. Endsley 的情境意识理论回顾
  11. 用百数教培管理系统轻松实现在线排课,优化机构日常管理
  12. Vue与Spring boot基于RSA非对称加密进行前后端交互
  13. 修复计算机用户名密码,win7恢复出厂设置后用户名密码是多少
  14. 干货 | LIDAR、ToF相机、双目相机如何科学选择?
  15. std::forward理解
  16. solidworks 资料分享
  17. DDR3详解(以Micron MT41J128M8 1Gb DDR3 SDRAM为例)
  18. Filament 渲染引擎剖析 之 FrameGraph 1 虚拟资源的定义与创建
  19. [js高手之路] dom常用API【appendChild,insertBefore,removeChild,replaceChild,cloneNode】详解与应用
  20. Python语法入门之流程控制if判断

热门文章

  1. 台式计算机时间跳动,电脑时间总是自动跳
  2. python 检查域名是否可以访问_利用Python实现DGA域名检测
  3. iOS之Apple ID双重认证与两步验证的区别
  4. js批量下载图片并压缩打包
  5. 在Web中使用jsmpeg.js低时延播放RTSP视频流(海康、大华)方案 - vue-jsmpeg-player
  6. Google 开源的前端项目
  7. 王垠面阿里P9,面跪后与P10赵海平互怼:人性最大的愚蠢,是互相为难
  8. Ventoy的pe盘制作及重装系统步骤【解释的非常清楚!!!】
  9. OPNsense - 多功能高可靠易使用的防火墙(一)
  10. 简单易懂,过程详述大整数进制转换