Derby数据库备份

抽象

我已经发布了许多有关Derby的博客:

  • 同一主机上的多个Derby网络服务器
  • Apache Derby数据库用户和权限
  • 与Maven和内存中Derby数据库的集成测试

这本不打算是一个系列。 但是多年来,我越来越多地使用Derby。 最近,我开始将Derby用作微服务体系结构的首选数据库。 这些是个人使用的应用程序,因此Derby绰绰有余。 即使这些是个人使用的应用程序,我仍需要具有受限用户权限的 多台服务器 ,并且最重要的是要备份。 我不想丢失我的数据! 这篇文章的目的是演示如何备份Derby数据库。

免责声明

这篇文章仅供参考。 在使用所提供的任何信息之前,请认真思考。 从中学到东西,但最终自己做出决定,风险自负。

要求

我使用以下主要技术完成了本文的所有工作。 您可能可以使用不同的技术或版本来做相同的事情,但不能保证。

  • Apache Derby 10.14.2.0
  • OpenJDK 64位服务器VM Zulu 11.1 + 23(内部版本11-ea + 22,混合模式)

下载

此博客文章没有下载。 脚本完整显示。

Derby系统实用程序

备份Derby数据库确实非常简单。 Derby具有用于执行备份的内置系统实用程序。 该实用程序是SYSCS_UTIL.SYSCS_BACKUP_DATABASE('/location/of/the/backup/') 。 调用时,Derby将锁定数据库并执行对您指定为SYSCS_BACKUP_DATABASE参数的文件系统位置的复制操作。 现在我们知道执行备份的系统实用程序,让我们看一下bash脚本来自动执行备份。

备份脚本

清单1是一个bash脚本,可以轻松对其进行修改以备份任何网络服务器上的任何Derby数据库。

清单1 – derby-mydatabase-backup.sh

#!/bin/bash# Define a bunch of variables which will be used within this script.
# The names of the variables should be self-explanatory.
DERBY_HOME=/opt/db-derby-10.14.2.0-bin/
NETWORK_SERVER_HOST=localhost
NETWORK_SERVER_PORT=1527
DATABASE_NAME=mydatabase
DATABASE_USER=sa
DATABASE_PASSWORD=abc123
JDBC_URL="jdbc:derby://$NETWORK_SERVER_HOST:$NETWORK_SERVER_PORT/$DATABASE_NAME"
BACKUP_DIRECTORY="/tmp/$DATABASE_NAME-backup/$NETWORK_SERVER_PORT"
BACKUP_SCRIPT="$BACKUP_DIRECTORY/backup.sql"# Remove old backup if it exists. It is not a good idea to
# perform a backup on top of an existing backup.
rm -rf $BACKUP_DIRECTORY
mkdir -p $BACKUP_DIRECTORY
cd $BACKUP_DIRECTORY# Use the `echo` command to dynamically create an SQL file.
# This SQL file will be used by Derby `ij` to connect to
# the database and perform the backup.
echo "connect '$JDBC_URL' user '$DATABASE_USER' password '$DATABASE_PASSWORD';" >> $BACKUP_SCRIPT
echo "CALL SYSCS_UTIL.SYSCS_BACKUP_DATABASE('$BACKUP_DIRECTORY');" >> $BACKUP_SCRIPT
echo "exit;" >> $BACKUP_SCRIPT# Run the Derby `ij` application, passing it the SQL file
# that was just dynamically created. `ij` will read the 
# SQL file, executing its commands. This will then
# cause `ij` to connect to the database and call the 
# system utility to perform the backup.
$DERBY_HOME/bin/ij $BACKUP_SCRIPT

让我们更详细地看一下这个脚本。

第5-15行设置了脚本中使用的许多变量。 一些变量用于设置其他变量的值。 这里没有什么太复杂的。 变量的名称是不言自明的。

第17-19行是文件系统维护。 在现有备份之上执行备份不是一个好主意。 因此,这些行将删除现有备份(如果存在),并创建一个新的空备份目录。

然后,第24–26行负责创建backup.sql脚本文件。 该脚本文件包含执行备份的SQL命令。 第24行是connect命令,因此Derby ij可以连接到要备份的数据库。 第25行是调用SYSCS_BACKUP_DATABASE系统实用程序的SYSCS_BACKUP_DATABASE 。 备份目录的位置作为参数传递给实用程序。 执行此SQL命令后,Derby将锁定数据库并执行备份。 第26行是退出ijexit命令。

然后,第33行终于发生了一切。 使用作为命令行参数传递给ij的动态创建的backup.sql文件的位置来调用Derby ij命令。 当bash执行第33行时,如果一切顺利,则将备份Derby数据库。

注意如果使用Java安全策略运行Derby网络服务器,则此脚本可能会遇到一些问题。 Java SecurityManager可能会阻止与数据库或SecurityManager的网络连接,我在写入备份目录时遇到权限问题。

摘要

备份Derby数据库非常容易。 只需调用SYSCS_UTIL.SYSCS_BACKUP_DATABASE('/location/of/the/backup/')

参考文献

备份数据库。 (2013年1月24日)。 db.apache.org。 从https://db.apache.org/derby/docs/10.0/manuals/admin/hubprnt43.html检索。

翻译自: https://www.javacodegeeks.com/2018/11/derby-database-backup.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/344182.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[渝粤教育] 西南科技大学 市场营销理论与实务 在线考试复习资料2021版(1)

市场营销理论与实务——在线考试复习资料2021版 一、单选题 1.处于市场不景气或原料.能源供应紧张时期,( )产品线反而能使总利润上升。 A.增加 B.扩充 C.延伸 D.缩减 答案:看左边查询 2.以高于价值的价格将新产品推入市场,然后…

[渝粤教育] 西南科技大学 建筑经济与企业管理 在线考试复习资料

建筑经济与企业管理——在线考试复习资料 一、单选题 1.某建筑公司预计今后5年中,每年末拿出50万元作为生产基金,将其投资生产预制构件,投资年利率为12%。到第五年末,该公司共得( )万元 A.305.3 B.317.64 C.320.7 D.330 2.某公司拟投资一个项目,预计建成后每年能获利50万元…

cnn 一维时序数据_蚂蚁集团智能监控的时序异常检测:基于 CNN 神经网络的异常检测...

1背景在蚂蚁集团智能监控领域,时序异常检测是极重要一环,异常检测落地中,业务方参考业界标准输出 Metrics 指标数据,监控不同业务、应用、接口、集群的各项指标,包含 Metrics 指标(总量、失败量、耗时等)和系统服务指标…

[渝粤教育] 西南科技大学 投资经济学 在线考试复习资料(1)

投资经济学——在线考试复习资料 一、单选题 1.投资决策是经济决策的重要组成部分,是选择和决定( )的过程 A.投资资金 B.投资行动方案 C.投资机会 D.投资目的 2.下面属于第三产业的行业是( ) A.制造业 B.建筑业 C.农业 D.商业 3.重视资金的( )是正确确定项目成本和收益的不可…

python写图片爬取软件_python抓取整个网站图片

Python分布式爬虫原理转载 permike 原文 Python分布式爬虫原理首先,我们先来看看,如果是人正常的行为,是如何获取网页内容的。(1)打开浏览器,输入URL,打开源网页(2)选取我们想要的内容,包括标题&#xff0c…

[渝粤教育] 西南科技大学 数据库应用 在线考试复习资料

数据库应用——在线考试复习资料 一、单选题 1.“表达式生成器”是用来书写什么的? A.代码 B.程序 C.表达式 D.数据库 2.在使用计算控件时,每个表示式前必须加上哪种运算符号? A. B. C.? D.* 3.以下属于非绑定控件的是哪一个? A.文本框 B.单选按钮 C.组合框 D.直线控件 …

[渝粤教育] 西南科技大学 机械制造装备及工艺 在线考试复习资料

机械制造装备及工艺——在线考试复习资料 一、单选题 1. 金属切削过程中,工件材料的塑性或韧性越高,切屑越不易折断,使切屑与前刀面间的摩擦增大,故切削力( ) A.变化不定 B.增大 C.增小 D.不变 2. 金属切削过程中,在温度很高时,接触面间切屑底层金属呈…

JBoss模块很烂,无法在JBoss 7下使用自定义Resteasy / JAX-RS

由于JBoss EAP 6.1 / AS 7.2.0是模块化的,并且您可以排除Webapp可见的模块,因此您希望可以轻松地忽略内置的JAX-RS实现(Rest Easy 2.3.6)并使用它。自定义的(3.0.6)。 但是,可悲的是&#xff0c…

cad怎么将图层后置_CAD中如何将某1个图层置于其他图层之上.doc

CAD中如何将某1个图层置于其他图层之上《CAD一千零一个技巧》图层管理17种用法 CAD具备强大的图层工具功能,统计一共有17种,这17种应用大大地满足了用户编辑图层的需求,而这17种图层工具的具体应用,你都会吗??1、图层…

[渝粤教育] 西南科技大学 液压与气压传动 在线考试复习资料(1)

液压与气压传动——在线考试复习资料 一、单选题 1.柱塞泵与其它泵相比( )次 A.工作压力高 B.效率低 C.速度低 D.工作压力低 2.变量泵是( ) A.排量不可变 B.排量可变 C.压力可变 D.转速可变 3.卸荷回路是属于( ) A.压力控制回路 B.方向控制回路 C.加速控制回路 D.减速控制回路…

Eclipse GlassFish 5.1就在这里!

Eclipse GlassFish 5.1的发布是Jakarta EE的重要里程碑! 首先,这证实了Oracle提供的GlassFish源代码可以在Eclipse Infrastructure上构建和组装。 第二, 通过通过Java EE 8兼容性测试,它可以验证所贡献的代码是否符合Java EE 8…

[渝粤教育] 西南科技大学 电器设备及维修 在线考试复习资料

电器设备及维修——在线考试复习资料 一、单选题 1.复合同步信号包括行同步信号和( )。 A.场同步信号 B.行消隐信号 C.场消隐信号 D.场均衡信号 2.高频头主要由输入回路,混频器,本振电路和( )组成 A.自动亮度调节电路 B.自动频率调节电路 C.同步检波器 D.高频放大器 3.…

标签蛋白_His标签蛋白镍柱纯化后总有一条杂带怎么办?

小明His标签蛋白镍柱纯化有杂带怎么办啊汇研生物——His标签蛋白纯化填料家簇1.样品本身的的属性,His蛋白容易被体系中的蛋白酶降解时,此时就要在样品中加入蛋白酶抑制剂。避免在纯化过程中His蛋白被降解,呈现出纯化后纯度下降。2.His蛋白和其…

[渝粤教育] 西南科技大学 畜牧概论 在线考试复习资料

畜牧概论——在线考试复习资料 一、单选题 1.色氨酸在动物体内可转变为下列那一种维生素。 A.烟酸 B.叶酸 C.泛酸 D.生物素 2.根据蛋白质中的平均蛋含量可知,1克氮能合成粗蛋白质多少克。 A.5.25 B.6.00 C.6.25 D.6.75 3.赖氨酸与下列那一种氨基酸之间存在颉抗作用。 A.精氨酸…

bootstrap 树形表格渲染慢_bootstrap table轻松实现数据表格

在使用bootstrap table时可能在很多时候回用的表格来显示数据,如果自己写那肯定没问题,但是数据展示出来就麻烦多了,然而bootstrap table 封装了一套完善的数据表格组件,把从后台请求的数据很容易就展示出来了,bootstr…

[渝粤教育] 西南科技大学 管理运筹学与系统分析 在线考试复习资料

管理运筹学与系统分析——在线考试复习资料 一、单选题 1.下列那种方法不适用于网络时间的计算( ) A.修正分配法 B.表格计算法 C.图上计算法 D.矩阵计算法 2.在运输方案中出现退化现象,是指数字格的数目( ) A.等于mn B.大于mn-1 C.小于mn-1 D.等于mn-1 3.一元线性回归模型预测…

[渝粤教育] 西南科技大学 网络程序设计 在线考试复习资料

网络程序设计——在线考试复习资料 一、单选题 1.Sng函数的作用是( )。 A.将字符串转换为日期 B.将字符串转换为长整型 C.将字符串转换为布尔型 D.将数值转换为单精度型 2.数据库常用的函数中,返回最小值的是( )。 A.OUNT B.MIN C.VG D.SUM 3.数据库常用的函数中,计算字段值的…

ssm如何支持热部署_Java 调式、热部署、JVM 背后的支持者 Java Agent

我们平时写 Java Agent 的机会确实不多,也可以说几乎用不着。但其实我们一直在用它,而且接触的机会非常多。下面这些技术都使用了 Java Agent 技术,看一下你就知道为什么了。-各个 Java IDE 的调试功能,例如 eclipse、IntelliJ &a…

war3必须安装的游戏组件_在单独的WAR组件中对SPA资源和API实现进行分区

war3必须安装的游戏组件单页应用程序正Swift吸引人们的注意力,以实现基于Web的丰富,健壮和移动友好的应用程序。 从本质上讲,这需要更改应用程序体系结构,在该体系结构中,整个应用程序用户界面都是使用JavaScript来实现…

[渝粤教育] 西南科技大学 西方经济学 在线考试复习资料

西方经济学——在线考试复习资料 一、单选题 1.市场失灵指的是( ) A.在私人部门和公共部门之间资源配置不均 B.不能产生任何有用成果的市场过程 C.以市场为基础的对稀缺资源的无效率配置 D.收入分配不均 2.通常由总成本曲线的变动而引起的通货膨胀称为( ) A.需求拉动型通货膨胀…