使用配置文件自动备份远程oracle数据库
2017-06-27 16:09
387 查看
一、编写配置文件quartz.properties,放置在src目录下;
直接执行即可,当然本地需安装oracle客户端程序。可将该代码整合spring和quartz实现定期自动备份远程数据库。
#是备份数据库的url db_url=192.168.11.201:1521/orcl #是备份数据库的username db_username=trems #是备份数据库的password db_password=trems #是备份数据库的实例名 db_dbname=orcl #备份文件存放路径 backupToPath=C:\\Users\\Administrator\\Desktop二、编写源码
package quartz; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Properties; import org.apache.log4j.Logger; import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.Resource; public class BackupDataBase { private static Logger log = Logger.getLogger(BackupDataBase.class); private static String username; private static String password; private static String backupToPath; private static String url; /** * 读取配置文件 */ static { log.debug("开始读取配置文件"); InputStream is = null; try { Properties properties = new Properties(); Resource resource = new ClassPathResource("/quartz.properties"); properties.load(resource.getInputStream()); url = (String) properties.get("db_url"); username = (String) properties.get("db_username"); password = (String) properties.get("db_password"); backupToPath = (String) properties.get("backupToPath"); log.debug("成功读取配置文件"); } catch (FileNotFoundException e) { log.error("读取配置文件失败", e); } catch (IOException e) { log.error("读取配置文件失败", e); } finally { try { if (is != null) { is.close(); } log.debug("成功关闭输入流"); } catch (IOException e) { log.error("关闭输入流失败", e); } } } /** * 备份数据库 */ public static void exportDataBase() { SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); String dbName = sdf.format(new Date()) + ".dmp"; try { String command = "exp " + username + "/" + password + "@" + url + " file=" + backupToPath +"\\" + dbName + " full=y"; Runtime.getRuntime().exec(" cmd /c start " + command +"exit"); log.debug("备份数据库成功!"); } catch (IOException e) { e.printStackTrace(); log.error("备份数据库失败!", e); } } public static void main(String[] args) { BackupDataBase demo = new BackupDataBase(); demo.exportDataBase(); } }
直接执行即可,当然本地需安装oracle客户端程序。可将该代码整合spring和quartz实现定期自动备份远程数据库。
相关文章推荐
- 使用ssh实现oracle数据库备份文件自动异地存储
- 批处理脚本实现自动备份站点文件到远程,使用zip package更新站点
- 将Oracle数据库改为归档模式并启用RMAN备份 如下Linux环境下对Oracle单节点数据库采用文件系统情况的配置归档模式过程。首先查看数据库归档模式和磁盘使用情况,确定归档文件放到什么位置。
- 转载:如何使用XCodeFactory自动生成XML配置文件和对应的解析类
- 利用配置文件修改IIS使用的最大虚拟内存和自动回收时间
- linux服务器应用系统配置文件及系统重要配置文件自动备份方法
- 使用auto_prepend_file和auto_append_file配置命令自动完成文件插入
- 使用hibernate自动在MYSQL中创建表,极其简单,改下配置文件。
- vim配置技巧——在vim中使用autocmd命令在保存文件时自动插入最后修改日期和时间
- 利用scp自动输入密码进行文件远程拷贝或备份
- 使用客户机自动配置文件
- 利用批处理文件和任务计划实现Oracle数据库的自动备份
- python的PEXPECT模块进行交换机配置文件的自动备份
- 利用sqlyog配置MySQL自动备份sql文件
- 利用sqlyog配置MySQL自动备份sql文件
- 自动生成NHibernate配置文件工具的使用实例
- svn钩子程序 自动备份配置库的批处理文件
- log4j使用: 自动设置备份文件
- NHibernate2.1.0版本中使用Oracle数据库时,在配置文件中需要注意写上Oracle的版本
- 使用RMAN备份时什么时候才会自动备份控制文件