热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linux定时自动备份oracle数据库

0,目前闲下来了,搞个数据库备份吧,开始1,写一份脚本执行导出数据库#!binshechobakupstart.exportPATH

0,目前闲下来了,搞个数据库备份吧,开始...


1,写一份脚本执行导出数据库

#!/bin/sh

echo bakup start......................

export PATH

export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1

export PATH=$PATH:/opt/oracle/product/19c/dbhome_1/bin

export ORACLE_SID=myorcl

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

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

days=7

orsid=127.0.0.1:1521/myorcl  #Oracle数据库服务器IP、端口、SID

bakuser=user #用户名称

bakpass=pass #用户密码

bakdir=/data/db_backup #备份文件路径,需要提前创建好

dmpdirectory=db_backup

dmpversion=19.3.0.0.0 #导出数据的oracle版本

for orowner in user1 user2

do

bakdata=$orowner"_"$date.dmp #备份数据库名称

cd $bakdir #进入备份目录

echo start exp $bakdata .............Time: $date........Orowner:$orowner.................

expdp userid=$bakuser/$bakpass@$orsid schemas=$orowner directory=$dmpdirectory dumpfile=$bakdata version=$dmpversion

find $bakdir -type f -name "*.log" -mtime +$days -exec rm {} \; #删除备份文件

find $bakdir -type f -name "*.dmp" -mtime +$days -exec rm {} \; #删除日志文件

echo "....................$orowner backup end............................"

done

exit


1.1其中的问题

首先脚本需要各种环境变量的获取

登录到oracle用户执行以下命令:

cat ~/.bash_profile 将用到的直接复制进去就好了


1.2创建导出的.dmp文件目录并授权

创建备份目录用于存放数据泵文件,方便自己使用

mkdir db_backup

chmod 777 db_backup

登录到数据库sysdba用户,将数据泵文件目录关联上

su - oracle

sqlplus /nolog

conn / as sysdba

create or replace directory db_backup as '/data/db_backup';

grant read,write on directory db_backup to userdba;


1.3将脚本放入/etc/cron.d 并赋予脚本可执行权限



输入 crontab -e 进入cron表达式执行脚本代码编辑界面



三个分别为每分钟执行,每分钟执行,每日凌晨1点执行

linux的cron表达式须要以下的规则:

 

 



当你编写完毕出现上图所示提示信息说明你编写的表达式有误,输入y重新编写

修改成功后会提示如下信息



此时可以执行 service crond restart 重启crond服务检验自己的脚本

我的日志目录是在 cd /var/log/cron 这个下面

直接执行 tail -f cron 查看日志


1.4 日志报错


1.4.1日志中可能会报错



图摘自互联网,我确实也遇见了~,不是运维只能边走边百度,摸着黑一步一步淌,成功了记录下来

错误原因:这个文件在Windows 下编辑过,在Windows下每一行结尾是\n\r,而Linux下则是\n,所以才会有 多出来的\r。

解决方案:使用指令sed -i 's/\r$//' xxxxxxx.sh,上面的指令会把 xxxxxxx.sh 中的\r 替换成空白!


1.4.2日志中可能会报错

ORA-39002: invalid operation

ORA-39070: Unable to open the log file.

ORA-29283: invalid file operation ORA-06512: at "SYS.UTL_FILE", line 536

ORA-29283: invalid file operation

错误原因:1、对存放dmp文件或log文件的路径不存在,或者没有权限, 2、对dmp文件没有权限

解决方案:未解决,我直接删除了expdp 命令时需要日志的参数,不要日志导出,绕开了该问题


1.5成功!

有问题可以评论留言!

 

心之何如,有似万丈迷津,遥亘千里,其中并无舟子可以渡人,除了自渡,他人爱莫能助。


原文链接:https://www.cnblogs.com/s88888888/p/15818813.html



推荐阅读
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • Navicat Premium 15 安装指南及数据库连接配置
    本文详细介绍 Navicat Premium 15 的安装步骤及其对多种数据库(如 MySQL 和 Oracle)的支持,帮助用户顺利完成软件的安装与激活。 ... [详细]
  • 深入理解 Oracle 存储函数:计算员工年收入
    本文介绍如何使用 Oracle 存储函数查询特定员工的年收入。我们将详细解释存储函数的创建过程,并提供完整的代码示例。 ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • MySQL索引详解与优化
    本文深入探讨了MySQL中的索引机制,包括索引的基本概念、优势与劣势、分类及其实现原理,并详细介绍了索引的使用场景和优化技巧。通过具体示例,帮助读者更好地理解和应用索引以提升数据库性能。 ... [详细]
  • 本文探讨了在Oracle数据库中,动态SQL语句的执行及其对事务管理的影响,特别是关于回滚操作的有效性。重点讨论了一个具体场景:将预警短信从当前表迁移到历史表时遇到的字段长度不匹配问题及相应的异常处理。 ... [详细]
  • 实体映射最强工具类:MapStruct真香 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • 本文详细介绍了Oracle数据库中的自治事务概念,并通过实例演示了其应用场景。自治事务允许在触发器或存储过程中独立于外部事务进行提交或回滚,确保数据操作的灵活性和可靠性。 ... [详细]
  • 探讨如何从数据库中按分组获取最大N条记录的方法,并分享新年祝福。本文提供多种解决方案,适用于不同数据库系统,如MySQL、Oracle等。 ... [详细]
  • 本文探讨了2012年4月期间,淘宝在技术架构上的关键数据和发展历程。涵盖了从早期PHP到Java的转型,以及在分布式计算、存储和网络流量管理方面的创新。 ... [详细]
  • 本文介绍了Oracle和IBM DB2数据库管理系统当前的最新版本,包括它们的主要特点、功能改进以及发布日期。文章详细探讨了两个系统在企业级应用中的表现,并提供了对各自版本更新的重点解析。 ... [详细]
  • 本文介绍了数据库体系的基础知识,涵盖关系型数据库(如MySQL)和非关系型数据库(如MongoDB)的基本操作及高级功能。通过三个阶段的学习路径——基础、优化和部署,帮助读者全面掌握数据库的使用和管理。 ... [详细]
  • 云函数与数据库API实现增删查改的对比
    本文将深入探讨使用云函数和数据库API实现数据操作(增删查改)的不同方法,通过详细的代码示例帮助读者更好地理解和掌握这些技术。文章不仅提供代码实现,还解释了每种方法的特点和适用场景。 ... [详细]
  • 本文介绍了解决Oracle 10G数据库中ORA-12541 TNS: no listener错误的详细步骤。该错误通常发生在监听器服务未正确启动或配置不当的情况下,文章将指导您通过检查服务状态、配置注册表和启动监听器来解决问题。 ... [详细]
author-avatar
路人
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有