iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >怎么用Java程序调用expdp数据泵实现自动逻辑备份Oracle数据库
  • 225
分享到

怎么用Java程序调用expdp数据泵实现自动逻辑备份Oracle数据库

2024-04-02 19:04:59 225人浏览 安东尼
摘要

本篇内容主要讲解“怎么用Java程序调用expdp数据泵实现自动逻辑备份oracle数据库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用Java程序调用e

本篇内容主要讲解“怎么用Java程序调用expdp数据泵实现自动逻辑备份oracle数据库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用Java程序调用expdp数据泵实现自动逻辑备份Oracle数据库”吧!

下面描述完整的设计过程:

1.准备工作

(1)创建directory和操作系统目录,配置read,write权限。

(2)检查计划备份数据的Oracle实例当前状态为read,write。

(3)手工备份hr用户,测试expdp命令能否正常运行。我曾遇到directory为NFS文件系统,备份时提示错误。

(4)评估备份所需的空间,使用数据泵expdp的estimate=statistics|blocks和estimate_only=y参数对数据库备份大小进行评估。

(5)检查逻辑备份的存储空间是否充足,可以执行命令df -k或df -h查看。

2.程序设计

设计Java程序,部署在Oracle数据库服务器的某一个节点下(可以部署在TomcatWEBlogic等中间件里,也可以选择独立部署,开发人员按照规范自行开发),与服务器的Oracle用户进行命令交互,发起expdp的备份命令。

这里解释一下计时器+日志检索+状态查询+消息中心的设计模式,每个功能的作用:

(1)状态查询

状态查询的功能是确定expdp是否还在运行,通过定时任务每几秒查询数据库sql,查看服务器进程等方式确认,这里时间间隔可以选择3秒,5秒等,短时间的偏差不会影响功能体验。

① 程序调用sql,查询expdp发起时的job是否还在运行

② ps -ef | grep expdp |grep job_name查看linux系统进程是否存在

(2)日志检索设计

在expdp命令执行完成之后,检查导出日志中是否存在ORA字符,如果存在,意味着有报错信息。

(注:如果想设计的更加智能,可以抓取ORA信息,调用oerr获取报错信息,通过消息中心发送给技术人员)

(3)计时器

计时器从程序向系统调用expdp命令时开始启用,状态查询确认执行完毕后停止。如果出现超过1小时expdp进程还未停止,程序通过消息中心向技术人员发送告警信息。

(注:超时时间的阈值可以根据实际情况自行调整,30分钟,2小时都行)

(4)消息中心

消息中心是一套独立的消息发送程序,可选择方案较多,这里列举常用四种方案:

①较为简单的就是向操作界面返回消息,显示在页面上;

②时效性比较低的可以选择调用邮件服务器,向相关人员发送成功/失败/告警邮件;

③时效性较高的是调用微信/QQ等互联网通讯软件的api接口向用户推送消息;

④时效性最高的是通过移动、联通、电信等运营商向用户手机发送短信。

到这里,心中应该有一个程序方案的雏形了。

不过有一点需要注意一下,expdp的命令最好设计成为可配置的,千万不要硬编码到程序中,不然程序的可拓展性、可维护性就大大降低。

3.测试案例/场景的准备

为了能够充分测试各种应用场景以及测试的便利性,这里做一些约定,同时设计一些测试场景/案例。

约定内容如下:

(1)新挂载一个50M的盘,directory备份路径指向该盘

(2)使用最简单的界面操作返回消息。

测试场景/案例

(1)成功:备份scott用户,expdp很快完成备份,操作界面在1分钟之内显示备份成功消息。

(2)失败:全备数据库,备份会因为磁盘空间满报错,操作界面稍后会收到备份失败消息。

(3)失败:删除备份directory目录后,备份scott用户,操作界面会收到备份失败消息。

(4)失败:在expdp备份数据库的时候,kill备份进程,操作界面会收到备份失败消息。

(5)失败:在expdp备份数据库的时候,暂停job,操作界面会收到备份失败消息。

(6)告警:将计时器超时时间改为1分钟,全备数据库,操作界面在1分钟之后收到告警消息。

如果读者有兴趣,可以自行开发微信的API推送消息,或者通过邮件服务器推送邮件消息。

如果要发送短信的话,需要和运营商签订协议,有条件的朋友,可以在公司的测试环境测试。

4.程序调优/修复BUG

经过多轮测试之后,可能会发现程序某些地方设计不合理,可能会发现程序未按照预期运行,也可能会发现程序有BUG报错。

那么下一步,那就是程序调优和修复BUG的工作了,直到自己用着方便,业务用着舒服 ,开发用着满意。加油吧~

到此,相信大家对“怎么用Java程序调用expdp数据泵实现自动逻辑备份Oracle数据库”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

您可能感兴趣的文档:

--结束END--

本文标题: 怎么用Java程序调用expdp数据泵实现自动逻辑备份Oracle数据库

本文链接: https://www.lsjlt.com/news/59812.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么用Java程序调用expdp数据泵实现自动逻辑备份Oracle数据库
    本篇内容主要讲解“怎么用Java程序调用expdp数据泵实现自动逻辑备份Oracle数据库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用Java程序调用e...
    99+
    2024-04-02
  • 怎么使用Oracle数据库的逻辑备份工具
    这篇文章主要介绍“怎么使用Oracle数据库的逻辑备份工具”,在日常操作中,相信很多人在怎么使用Oracle数据库的逻辑备份工具问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2024-04-02
  • sql自动备份数据库怎么实现
    可以通过编写一个定时脚本来实现自动备份数据库。以下是一个简单的示例脚本: 创建一个备份脚本(backup.sh): #!/bin...
    99+
    2024-04-09
    sql 数据库
  • 怎么在UNIX下实现Oracle数据库自动备份
    本篇内容介绍了“怎么在UNIX下实现Oracle数据库自动备份”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!数据备份几乎是每个系统管理员天天...
    99+
    2023-06-17
  • postgresql数据库自动备份怎么实现
    有多种方法可以实现PostgreSQL数据库的自动备份,以下是其中一种常见的方法: 编写备份脚本:可以编写一个 shell 脚本...
    99+
    2024-04-08
    postgresql
  • PHP怎么实现MySQL数据库自动备份
    这篇“PHP怎么实现MySQL数据库自动备份”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“PHP怎么实现MySQL数据库自动...
    99+
    2023-07-06
  • mysql自动备份数据怎么实现
    要实现MySQL自动备份数据,可以使用以下几种方法: 使用MySQL提供的自带工具mysqldump命令来备份数据。可以编写一个...
    99+
    2024-04-09
    mysql
  • Oracle数据库中怎么实现一个自动备份脚本
    这篇文章给大家介绍Oracle数据库中怎么实现一个自动备份脚本,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、备份脚本1、初始化变量,记录开始日志#变量  sysname=...
    99+
    2024-04-02
  • Linux oracle数据库怎么自动备份和自动压缩
    本篇内容介绍了“Linux oracle数据库怎么自动备份和自动压缩”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!代码如下:#!#backu...
    99+
    2023-06-09
  • Linux下怎么设置每天自动备份Oracle数据库
    本篇内容介绍了“Linux下怎么设置每天自动备份Oracle数据库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一.先找到数据库的环境变量如...
    99+
    2023-06-27
  • 使用golang怎么实现mysql数据库备份
    这期内容当中小编将会给大家带来有关使用golang怎么实现mysql数据库备份,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。map & json,在处理主键与外键...
    99+
    2024-04-02
  • shell怎么实现自动备份mysql和整站数据
    这篇文章主要介绍“shell怎么实现自动备份mysql和整站数据”,在日常操作中,相信很多人在shell怎么实现自动备份mysql和整站数据问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”shell怎么实现自动...
    99+
    2023-06-09
  • php远程调用数据库怎么实现
    要实现PHP远程调用数据库,可以使用以下步骤: 配置数据库服务器:首先确保目标数据库服务器已经配置好并能够远程访问。 在PH...
    99+
    2024-04-02
  • 怎么用脚本让mysql自动批量备份数据
    这篇文章主要讲解了“怎么用脚本让mysql自动批量备份数据”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用脚本让mysql自动批量备份数据”吧! 获取...
    99+
    2024-04-02
  • 怎么使用Oracle进行数据库备份与还原
    本文小编为大家详细介绍“怎么使用Oracle进行数据库备份与还原”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么使用Oracle进行数据库备份与还原”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Oracle中...
    99+
    2023-07-05
  • 怎样在生产环境下实现每天自动备份mysql数据库
    这篇文章给大家介绍怎样在生产环境下实现每天自动备份mysql数据库,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1、描述    我相信很多朋友在...
    99+
    2024-04-02
  • SQL Server中怎么实现远程定时备份数据库
    这篇文章将为大家详细讲解有关SQL Server中怎么实现远程定时备份数据库,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。创建网络映射(Y是盘符;IP地址后...
    99+
    2024-04-02
  • 怎么用Oracle冷备方式实现迁移数据库
    这篇文章主要介绍“怎么用Oracle冷备方式实现迁移数据库”,在日常操作中,相信很多人在怎么用Oracle冷备方式实现迁移数据库问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2024-04-02
  • springBoot下怎么实现java自动创建数据库表
    这篇文章主要介绍了springBoot下怎么实现java自动创建数据库表的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇springBoot下怎么实现java自动创建数据库表文章都会有所收获,下面我们一起来看看吧...
    99+
    2023-06-08
  • Linux下怎么用shell实现每天定时备份mysql数据库
    这篇文章主要讲解了“Linux下怎么用shell实现每天定时备份mysql数据库”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux下怎么用shell实现每天定时备份mysql数据库”吧...
    99+
    2023-06-09
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作