美文网首页
用java做了一个oracle数据库同步程序

用java做了一个oracle数据库同步程序

作者: haiyong6 | 来源:发表于2023-05-13 14:43 被阅读0次

阿里云服务器只有40G的存储,眼看着快要满了,从19年到现在四年的时间存储已经用了百分之七十,按这样下去,这个磁盘不知道还能不能再撑四年,其实,里面数据并不多,系统也几乎没更新过,或许系统运行下去就会产生一些磁盘占用吧,这个占用速度也比较正常,但是总有磁盘100%的那天,扩容又要花钱,但是内容存储其实连一半磁盘都没占到,所以到时候应该要格式化调镜像重新安装,所以文件备份和数据库备份就比较重要。

文件备份我用的是syncthing,在家里单独弄了一个华硕小台式机,24小时不停机,里面装了ubuntu22.04,然后里面用virtualbox装了一个50g的ubuntu server,在ubuntu server里安装和阿里云服务器上面同样版本的数据库,利用这个清明假期,两天用java写了一个数据库同步程序,该程序可以实现查询阿里云服务器上数据库的建表语句以及表备注和列备注信息,然后定时同步拼接成sql语句,在备份虚拟机上重新执行,并把同步sql语句保存到指定位置,每天更新一次,表数据也会全部定时同步,分页查询所有数据,在目标虚拟机数据库里已存在的数据则更新,不存在的则插入,是些比较简单的同步功能。

虽说是些简单的同步功能,可能有些数据库运维工具很容易实现这些,但是当自己真正把这些思路用java写程序去实现时,还是有很多意想不到的惊喜和收获,之前一直用mybatis操作数据库只是做增删改查,没想到数据库建表语句和一些alter语句也都是可以通过mybatis去执行,数据库里的一些特殊格式类型,比如DATE和CLOB也需要单独写转换去兼容,把所有数据库信息String化,然后再转换成对应的类型插入到数据库。

做完这个大事件后,整个阿里云服务器就基本比较重要的东西都可以做到数据备份了。而且新格式化服务器后,也可以很方便的从本地备份服务器上再把数据同步过去,是同样的处理方法,只要简单的改下配置地址就可以做到。

忽然觉得,后面好好学完javafx的课程后,做个本地离线数据库工具也是不难的,所以学习javafx还是很有必要,可以做出很多好玩好用并且能给自己用得上的东西。


—— 写于 2023-04-04 20:29:26

相关文章

网友评论

      本文标题:用java做了一个oracle数据库同步程序

      本文链接:https://www.haomeiwen.com/subject/sdtusdtx.html