Oracle数据库自动备份脚本分享(超实用)

 更新时间:2018年12月16日 14:50:20   作者:智能运维小讲堂  
这篇文章主要给大家分享介绍了关于Oracle数据库自动备份脚本的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

前言

众所周知数据是应用的核心部分,程序坏了换台机器重新发布就可以,但数据一旦丢失,造成的损失将不可挽回,程序发布到生产后,数据的备份便显得尤为重要,由于不一定所有的服务均有资金完成高级的备份如RAC和DG,在我们只有一台数据库服务器的,暂时采取最简单的备份策略,export出dmp进行保存。

一、备份脚本

1、初始化变量,记录开始日志

#变量 
sysname=填写自己的系统名称 
syspath=/home/oracle/databak/$sysname 
v_date=$(date '+%Y%m%d%H%M%S') 
#日志目录 
logfile=${syspath}/backup.${v_date}.log 
#打印开始时间 
echo backup_time>>${logfile} 
date '+%Y-%m-%d %H:%M:%S' >> ${logfile} 
echo "backup jcd">>${logfile} 
echo "start_time">>${logfile} 
date '+%Y-%m-%d %H:%M:%S' >> ${logfile} 

2、进入oracle目录,设置oracle的参数

#进入oracle目录,设置oracle变量 
cd /home/11g/app/oracle/product/11.2.0 
export ORACLE_HOME=/home/11g/app/oracle/product/11.2.0/db_1 
export PATH=$PATH:/home/11g/app/oracle/product/11.2.0/db_1/bin 
export ORACLE_SID=SID名称 

3、导出数据

echo $syspath 
v_date=$(date '+%Y%m%d%H%M%S') 
filename=$syspath/jcd${v_date}.dmp 
#导出命令 
exp username/password file=${filename} compress=n >> ${logfile} 
echo "end_time">>${logfile} 
date '+%Y-%m-%d %H:%M:%S'>>${logfile} 

4、压缩dump包

gzip ${filename} 

5、使用scp,将压缩后的包传递到备份服务器,注意备份服务器上目录需要预先创建

scp ${filename}.gz remot_name@remot_ip:/home/weblogic/databak/备份目录 

二、设定脚本执行时间

我们设定规则为每天凌晨2点执行一次,采用crontab来进行处理

执行crontab -e,设定如下规则:

0 2 * * * sh /home/oracle/db.sh 

大家可以参照上面去写一个适合自己生产数据库的一个脚本,定期备份。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • Oracle的SQLLDR用法简介

    Oracle的SQLLDR用法简介

    这篇文章主要介绍了Oracle的SQLLDR用法简介,SQL*Loader是oracle的高速批量数据加载工具,这是一个非常有用的工具,可用于从多种平面文件格式向Oracle数据库中加载数据,SQLLDR可以在极短的时间内加载数量庞大的数据,需要的朋友可以参考下
    2023-07-07
  • Oracle中使用Rownum分页详细例子

    Oracle中使用Rownum分页详细例子

    这篇文章主要介绍了Oracle中使用Rownum分页详细例子,本文将分别展示使用rownum伪列和row_number()分析函数来完成Oracle数据分页操作的具体使用方法,需要的朋友可以参考下
    2014-07-07
  • 如何利用Oracle命令解决函数运行错误

    如何利用Oracle命令解决函数运行错误

    这篇文章主要给大家介绍了关于如何利用Oracle命令解决函数运行错误的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用Oracle具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-03-03
  • oracle下巧用bulk collect实现cursor批量fetch的sql语句

    oracle下巧用bulk collect实现cursor批量fetch的sql语句

    oracle下巧用bulk collect实现cursor批量fetch的sql语句,使用oracel的朋友可以试试了
    2008-03-03
  • Oracle在表中有数据的情况下修改字段类型或长度的解决方法

    Oracle在表中有数据的情况下修改字段类型或长度的解决方法

    这篇文章主要介绍了Oracle在表中有数据的情况下修改字段类型或长度,修改其某个字段的类型或改变他的长度,由于表中有数据,不能直接修改,需要换个方法,接下来通过本文给大家介绍下解决方法,需要的朋友可以参考下
    2022-10-10
  • Oracle 数据库中的全文搜索整体流程分析

    Oracle 数据库中的全文搜索整体流程分析

    Oracle 是一种功能强大的关系型数据库管理系统,它提供了各种功能来处理和管理大量的数据,这篇文章主要介绍了Oracle 数据库中的全文搜索功能,需要的朋友可以参考下
    2024-04-04
  • Oracle的默认用户密码

    Oracle的默认用户密码

    创建表空间和用户时,需要的时候竟然忘记了密码,试了好多次都没连接上,进而用户也被锁定,下面就教您处理Oracle默认用户的密码问题的方法,希望对和我一样情况的朋友们有所帮助
    2012-07-07
  • oracle日期分组查询的完整实例

    oracle日期分组查询的完整实例

    这篇文章主要给大家介绍了关于oracle日期分组查询的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • Oracle数据库自动备份脚本分享(超实用)

    Oracle数据库自动备份脚本分享(超实用)

    这篇文章主要给大家分享介绍了关于Oracle数据库自动备份脚本的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-12-12
  • 浅析如何在tnsnames.ora中配置监听

    浅析如何在tnsnames.ora中配置监听

    以下是对如何在tnsnames.ora中配置监听进行了详细的分析介绍,需要的朋友可以过来参考下
    2013-08-08

最新评论