oralce数据库备份(java)
来源:互联网 发布:java http post 文件 编辑:程序博客网 时间:2024/04/30 05:41
在我们开发过程中总是时不时的要对数据库进行备份,以防出现万一情况数据丢失 ,一般都是在开始--->运行---->cmd;再输入导出数据库语句,恢复数据备份也相似的操作。如:
导出备份:exp redtourjgs/redtourjgs@oracle_192.168.2.89 file=d:/databasebuss/tourbuss/tourbuss.dmp log=d:/databasebuss/tourbuss/exp31.log owner=redtourjgs
导入备份:imp redtourjgs/redtourjgs@oracle_192.168.2.89 file=d:/databasebuss/tourbuss/tourbuss.dmp log=d:/databasebuss/tourbuss/imp30.log fromuser=redtourjgs
对于我们程序员开发人员来说这也许不是一件难事,对于客户来说操作起来就难了些,其实也可以做成用户比较方便的操作,其实原理是一样的,执行的语句也是一样的,只是显示的方式不一样而以;只要输入要备份的数据库名和密码等点击按钮就可以操作。今天研究了一下这种操作,主要的思路为:
1,建立一个JSP
要备份的数据库名:
数据库密码:
网络名:数据库的网络名,如(oracle_192.168.2.32)
备份名称:不用输入文件名后缀(默认为“.dmp”)。如有同名文件,将覆盖.默认备份在工程部署目录下DataBackUp文件夹。具体的代码如下:
<DIV id=contentborder cellpadding="0">
<html:form action="/ipproot/databackup/databackup">
<br>
<center>
<table border="0" width="95%" bordercolor="#FFFFFF" cellspacing="0" cellpadding="0">
<tr>
<td width="100%">
<table border="1" cellspacing="0" width="100%" bordercolordark="#FFFFFF" bordercolorlight="#000000" bordercolor="#333300" cellpadding="2">
<tr>
<td width="30%" align="right" class="titleTD" height="25">
要备份的数据库名:
</td>
<td width="70%">
<html:text property="databasename" />
</td>
</tr>
<tr>
<td width="30%" align="right" class="titleTD" height="25">
数据库密码:
</td>
<td width="70%">
<html:text property="databasepw" />
</td>
</tr>
<tr>
<td width="30%" align="right" class="titleTD" height="25">
网络名:
</td>
<td width="70%">
<html:text property="netname" />
数据库的网络名,如(oracle_192.168.2.32)
</td>
</tr>
<tr>
<td width="30%" align="right" class="titleTD" height="25">
备份名称:
</td>
<td width="70%">
<html:text property="backupname" />
不用输入文件名后缀(默认为“.dmp”)。如有同名文件,将覆盖.默认备份在工程部署目录下DataBackUp文件夹。
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="100%" align="center">
<div style="position:absolute;width:322;height:14;border:0 #707888 solid;overflow:hidden">
<div style="position:absolute;top:-1;left:0" id="pimg">
</div>
</div>
</td>
</tr>
</table>
</center>
</html:form>
</DIV>
2,备份恢复数据库业务:
// 备份数据库
public void dataBackup(String databasename, String databasepw,
String netname, String filepath, String filename)
throws IOException {
Runtime rt = Runtime.getRuntime();
Process processexp = null;
checkCreatDir(filepath);
String exp = "exp " + databasename + "/" + databasepw + "@" + netname
+ " file=" + filepath + "/" + filename + ".dmp";
int success = 0;
try {
processexp = rt.exec(exp);
} catch (IOException e) {
success = -1;
e.printStackTrace();
}
}
// 恢复数据库
public void dataResume(String databasename,String databasepw,String netname,String fromuser,String filename)
throws IOException {
Runtime rt = Runtime.getRuntime();
Process processimp = null;
// if(checkDir("f:/"+filename)){
String imp = "imp " + databasename + "/" + databasepw + "@" + netname
+" fromuser="+fromuser
+" touser="+fromuser
+" file="
+ filename + ".dmp";
int success = 0;
try {
processimp = rt.exec(imp);
} catch (IOException e) {
success = -1;
e.printStackTrace();
}
// }
}
// 创建文件?jia 夹
public void checkCreatDir(String dirPath) { // 目录是否存在
File file = new File(dirPath);
if (!file.exists()) {
file.mkdirs();
}
}
3,写备份数据库Action调用:
public ActionForward onSubmit(ActionMapping mapping, Object bean,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
DataBackupForm backupForm = (DataBackupForm) getForm();
//获得工程部署文件路径
//String path =request.getRealPath("/")+"DataBackUp";
String path=getServletContext().getRealPath("/");
String databasename=backupForm.getDatabasename();
String databasepw =backupForm.getDatabasepw();
String netname = backupForm.getNetname();
String filename = backupForm.getBackupname();
String filepath = path+"//"+filename;
TippInfoRestore TippInfoRestore = (TippInfoRestore) bean;
TippInfoRestore.setFilename(filepath);
//设置日期
TippInfoRestore.setBackupdate(new Date());
//调用备份数据库帮助类实现对数据库的备份??????
DataBackupHelp dbh = new DataBackupHelp();
try{
dbh.dataBackup(databasename,databasepw,netname,path,filename);
}catch(Exception e){
e.printStackTrace();
return mapping.findForward("failure");
}
//将信息保存在request中
request.setAttribute("path",filepath);
//在数据库中添加纪录
dataBackupService.addBackup(TippInfoRestore);
return mapping.findForward("success");
- oralce数据库备份(java)
- Oralce 备份
- 通过Webservices在Web服务器端异步热备份Oralce数据库
- oralce数据库的自动备份脚本和还原!
- Oralce数据库几种常用的备份方法
- 在Oralce数据库中,java调用plsql
- oralce备份恢复
- oralce数据备份
- java/oralce
- java备份oracle数据库
- java备份mysql数据库
- java 备份数据库
- Java备份Oracle数据库
- java 备份oracle数据库
- java 备份mysql数据库
- java mysql 备份数据库
- java 备份mysql数据库
- Java备份Mysql数据库
- Oracle系统表的查询
- dorado 5 学习DVD v1.2版 免费申请
- C++学习--STEP BY STEP
- 读书摘要-Efficient C++ performance programming techniques
- 向KDE4之路(一):SVG透视技术
- oralce数据库备份(java)
- linux,我想我已经离不开你了
- java数据库设计中的14个技巧
- Xml解析校验引起的依赖问题
- jsp的分页查询代码(mysql数据库)
- dorado 5 学习DVD v1.2版内容目录
- 从插件/RCP中取得文件路径的方法
- 开始学习oracle ebs r12--下载 (3)
- Eclipse 3.3.2 + MyEclipse 6.0.1 + Tomcat 6.0.16错误处理