文档章节

linux平台下的oracle自动备份案例(使用exp工具)

李狗蛋丶
 李狗蛋丶
发布于 2016/11/03 09:50
字数 849
阅读 23
收藏 0
点赞 0
评论 0

一、配置环境

在服务器上安装oracle精简客户端,实现在备份服务器的数据冷备。

服务器:备份服务器

操作系统:Linux Redhat6.3 x64

主要功能:在Linux备份服务器上完成数据库冷备

二、配置目标

无需安装oracle服务器或客户端软件,达到能使用以下功能的目标,并在服务器上进行数据库备份: 

  • Ø oci、occi、jdbc的支持
  • Ø tnsping
  • Ø sqlplus
  • Ø sqlldr
  • Ø exp
  • Ø imp 

三、软件准备

instantclient-basic-linux-x86-64-10.2.0.3-20070103.zip

instantclient-jdbc-linux-x86-64-10.2.0.3-20070103.zip

instantclient-sqlplus-linux-x86-64-10.2.0.3-20070103.zip

instantclient-sdk-linux-x86-64-10.2.0.3-20070103.zip

exp.zip

四、配置步骤

1、安装包上传及安装

root用户登录,创建目录:

# mkdir -p /opt/oracle

将instantclient客户端压缩包上传至/opt/oracle/下,依次解压程序包

# cd /opt/oracle

# unzip instantclient-basic-linux-x86-64-10.2.0.3-20070103.zip

# unzip instantclient-jdbc-linux-x86-64-10.2.0.3-20070103.zip

# unzip instantclient-sdk-linux-x86-64-10.2.0.3-20070103.zip

# unzip instantclient-sqlplus-linux-x86-64-10.2.0.3-20070103.zip

解压后,会在/opt/oracle下生成instantclient_11_2文件夹

上传exp.zip到/opt/oracle/instantclient_10_2下,将exp、imp程序解压到当前路径下

# cd instantclient_10_2/

# unzip exp.zip

# chmod 755 imp

# chmod 755 exp

此时应新增出两个可执行文件和一个文件夹

 

2、配置环境变量

创建文件/opt/oracle/instantclient_10_2/tnsnames.ora

# vi /opt/oracle/instantclient_10_2/tnsnames.ora

在文件中填入以下内容,粗体部分根据实际情况修改

格式如下:

ORCL =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.5.22 )(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = orcl )

    )

  )

 

EXTPROC_CONNECTION_DATA =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))

    )

    (CONNECT_DATA =

      (SID = PLSExtProc)

      (PRESENTATION = RO)

    )

  )

打开/etc/profile文件,并在文件末尾添加以下环境变量

# vi /etc/profile

添加如下配置,粗体部分根据实际情况修改: 

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export ORACLE_IC_HOME=/opt/oracle/instantclient_10_2
export ORACLE_HOME=$ORACLE_IC_HOME
export TNS_ADMIN=$ORACLE_IC_HOME
export PATH=$PATH:$HOME/bin:$ORACLE_IC_HOME
export LD_LIBRARY_PATH=$ORACLE_IC_HOME:/usr/lib
export ORACLE_SID=orcl

输入命令使环境变量立即生效

# source /etc/profile

查看环境变量是否成功,出现下图所示路径即为成功,否则检查环境变量设置

# echo $ORACLE_HOME

 

测试sqlplus和exp命令:

# sqlplus

 

# exp

 

出现如图所示时即表明配置成功,可正常使用;注意此时若出现报错,回头检查环境变量是否设置正确!

3、配置备份脚本

创建备份用的文件夹

# mkdir -p  /opt/bak

创建备份脚本并添加以下内容:

# vi /opt/bak/bak.sh

添加内容,注意修改红色部分数据库连接地址和账号:

#!/bin/bash

#bak.sh

source /etc/profile

PATH=$PATH:/bin

export PATH

BAKPATH=/opt/bak

 

LogFile=/opt/bak/baklog.log

 

echo "-------------------------------------------" >> $LogFile

echo $(date +"%y-%m-%d %H:%M:%S") >> $LogFile

echo "--------------------------" >> $LogFile

rq=`date '+%Y%m%d'`

exp user/pass@ORCL file=$BAKPATH/bak_$rq.dmp  log=$BAKPATH/bak_$rq.log  owner=user>/dev/null 2>&1

 

 

if [  -f $BAKPATH/bak_$rq.dmp ]

then

tar zcvf  $BAKPATH/bak_$rq.tar.gz  $BAKPATH/bak_$rq.dmp $BAKPATH/bak_$rq.log>> $LogFile 2>&1

rm -f $BAKPATH/bak_$rq.dmp>> $LogFile 2>&1

rm -f $BAKPATH/bak_$rq.log>> $LogFile 2>&1

 echo "backup success">> $LogFile

 echo "backup success"

else   echo "backup fail">> $LogFile

 echo "backup fail"

fi

 

OLDFILE=`date +%Y%m%d --date='7 day ago'`

if [  -f $BAKPATH/bak_$OLDFILE.tar.gz ]

then

echo "DELETE OLDFILE bak_$OLDFILE.tar.gz" >> $LogFile

rm -f $BAKPATH/bak_$OLDFILE.tar.gz>> $LogFile 2>&1

else   echo "no OLDFILE bak_$OLDFILE.tar.gz  ">> $LogFile

fi

echo "-------end $(date +"%y-%m-%d %H:%M:%S")-------" >> $LogFile

 

保存退出。

修改权限

# chmod 755 /opt/bak/bak.sh

手动执行脚本,确认脚本执行无误

# cd /opt/bak/

# ./bak.sh

4、设置定时调度任务

输入命令

# crontab -e

编辑文本,加入以下代码,每天凌晨四点进行数据备份:

0 4 * * * /opt/bak/bak.sh

保存退出。

© 著作权归作者所有

共有 人打赏支持
李狗蛋丶
粉丝 1
博文 28
码字总数 20793
作品 0
广州
数据库管理员
使用Grid Control快速部署Oracle物理Data Guard

使用Grid Control快速部署Oracle物理Data Guard [日期:2016-04-18] 来源:Linux社区 作者:secooler [字体:大 中 小] Grid Control(文中简称GC)是监控和管理数据库好帮手,同时也是一把双...

rootliu ⋅ 04/20 ⋅ 0

十二、oracle 数据库(表)的逻辑备份与恢复

一、介绍 逻辑备份是指使用工具export将数据对象的结构和数据导出到文件的过程。 逻辑恢复是指当数据库对象被误操作而损坏后使用工具import利用备份的文件把数据对象导入到数据库的过程。 物...

openlife ⋅ 2015/07/07 ⋅ 0

oracle学习笔记----数据库导入导出

一、导入和导出 Oracle的备份是oracle操作中常见的工作,常见的备份方案包括有: 1、逻辑备份(IMP&EXP命令进行备份) 有如下四种模式: (1)表空间备份(tablespace) (2)表备份(table...

babyhanggege ⋅ 2017/04/19 ⋅ 0

Oracle 自动备份详细步骤

要求:Oracle 数据库服务器对数据库 ylios每天自动备份一次。 解决方案:利用任务计划、批处理文件和 Oracle 的 exp 导出功能,根据日期自动生成 Oracle 备份文件。详细步骤: 1 创建批处理文...

陆朋 ⋅ 2013/05/31 ⋅ 0

linux服务器上 oracle instantclient 客户端的安装和配置

linux服务器上 oracle instantclient 客户端的安装和配置 2013年03月07日 18:03:16 阅读数:3437 Oracle Instant client 是oracle提供的简便客户端, 支持多种平台. 从oracle网站下载。 下载地...

rootliu ⋅ 05/16 ⋅ 0

Oracle故障日志采集“神助攻”—TFA工具详解

转载声明:本文为DBA+社群原创文章,转载必须连同本订阅号二维码全文转载,并注明作者名字及来源:DBA+社群(dbaplus)。 收集日志信息是否是一个“高消耗”的体力活?很多情况下都是。 设想...

杨德胜 ⋅ 2016/01/04 ⋅ 0

CRONTAB调用备份脚本时要注意环境变量的设置

EXP备份是DBA常规操作之一,尤其是10g以前的版本没有EXPDP,所有的逻辑备份都是通过EXP来实现。而将EXP写成SHELL脚本,使之可以调用也并没有什么特别之处。不过如果并非oracle用户执行,而是...

晨曦之光 ⋅ 2012/03/09 ⋅ 0

EXP-00091错误的说明和解决方法

今天我写了一个在Linux下执行定时任务备份Oracle数据库的脚本,但是在root用户下执行脚本的时候报错了,错误内容为EXP-00091,下面附上解决方案(当然,下面的内容是我转载的哦!): 对于一...

Super康 ⋅ 2017/10/27 ⋅ 0

讨论下数据库备份的概念

今天又翻以前的文章,准备再看看ORACLE中的EXP/IMP 其中一段 导入/导出是ORACLE幸存的最古老的两个命令行工具,其实我从来不认为Exp/Imp是一种好的备份方式,正确的说法是Exp/Imp只能是一个好...

ddatsh ⋅ 2011/12/07 ⋅ 3

Oracle12c数据的逻辑备份与恢复

数据库恢复是指在数据库发生故障时,使用数据库备份还原数据库,使数据库恢复到无故障状态。 根据数据库恢复时使用的备份不同,恢复分为物理恢复和逻辑恢复。所谓的物理恢复就是,利用物理备...

1027 ⋅ 2014/05/29 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

sbt网络问题解决方案

http://dblab.xmu.edu.cn/blog/maven-network-problem/

狐狸老侠 ⋅ 2分钟前 ⋅ 0

大数据,必须掌握的10项顶级安全技术

我们看到越来越多的数据泄漏事故、勒索软件和其他类型的网络攻击,这使得安全成为一个热门话题。 去年,企业IT面临的威胁仍然处于非常高的水平,每天都会看到媒体报道大量数据泄漏事故和攻击...

p柯西 ⋅ 45分钟前 ⋅ 0

Linux下安装配置Hadoop2.7.6

前提 安装jdk 下载 wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.7.6/hadoop-2.7.6.tar.gz 解压 配置 vim /etc/profile # 配置java环境变量 export JAVA_HOME=/opt/jdk1......

晨猫 ⋅ 51分钟前 ⋅ 0

crontab工具介绍

crontab crontab 是一个用于设置周期性被执行的任务工具。 周期性执行的任务列表称为Cron Table crontab(选项)(参数) -e:编辑该用户的计时器设置; -l:列出该用户的计时器设置; -r:删除该...

Linux学习笔记 ⋅ 今天 ⋅ 0

深入Java多线程——Java内存模型深入(2)

5. final域的内存语义 5.1 final域的重排序规则 1.对于final域,编译器和处理器要遵守两个重排序规则: (1)在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用...

江左煤郎 ⋅ 今天 ⋅ 0

面试-正向代理和反向代理

面试-正向代理和反向代理 Nginx 是一个高性能的反向代理服务器,但同时也支持正向代理方式的配置。

秋日芒草 ⋅ 今天 ⋅ 0

Spring 依赖注入(DI)

1、Setter方法注入: 通过设置方法注入依赖。这种方法既简单又常用。 类中定义set()方法: public class HelloWorldOutput{ HelloWorld helloWorld; public void setHelloWorld...

霍淇滨 ⋅ 昨天 ⋅ 0

马氏距离与欧氏距离

马氏距离 马氏距离也可以定义为两个服从同一分布并且其协方差矩阵为Σ的随机变量之间的差异程度。 如果协方差矩阵为单位矩阵,那么马氏距离就简化为欧氏距离,如果协方差矩阵为对角阵,则其也...

漫步当下 ⋅ 昨天 ⋅ 0

聊聊spring cloud的RequestRateLimiterGatewayFilter

序 本文主要研究一下spring cloud的RequestRateLimiterGatewayFilter GatewayAutoConfiguration @Configuration@ConditionalOnProperty(name = "spring.cloud.gateway.enabled", matchIfMi......

go4it ⋅ 昨天 ⋅ 0

Spring clound 组件

Spring Cloud技术应用从场景上可以分为两大类:润物无声类和独挑大梁类。 润物无声,融合在每个微服务中、依赖其它组件并为其提供服务。 Ribbon,客户端负载均衡,特性有区域亲和、重试机制。...

英雄有梦没死就别停 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部