oracle数据库备份与恢复程序实现
在我们开发过程中总是时不时的要对数据库进行备份,以防出现万一情况数据丢失 ,一般都是在开始--->运行---->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();
}
// }
}
// 创建文件夹
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");
以上说的是主要一种思路,具体的没有完善。
分享到:
相关推荐
基于RMAN的Oracle数据库备份与恢复机制.pdf 本文档详细介绍了基于RMAN的Oracle数据库备份与恢复机制。Oracle Recovery Manager(RMAN)是Oracle公司提供的一种专门备份工具,能够实现数据库定制备份、自动备份等...
### Oracle数据库备份与恢复技术详解 #### 一、引言 在现代企业的信息化建设中,Oracle数据库因其卓越的性能和稳定性被广泛应用于金融、电信、电子商务等多个领域。然而,无论多么可靠的系统都无法避免可能出现的...
Oracle 数据库备份与恢复方案 Oracle 数据库备份与恢复方案是指对 Oracle 数据库进行备份和恢复的过程,以确保数据库的安全和可靠性。本方案主要涉及到备份工具、备份方式、软件备份、软件恢复、数据备份和数据...
Oracle数据库的备份与恢复策略是确保数据安全性和业务连续性的重要环节。以下是对这些策略的详细解释: **一、数据库备份策略** 1. **全备份与增量备份**:全备份通常每周执行一次,目的是获取数据库的完整状态。...
总的来说,这个"Oracle数据库备份恢复程序"很可能是一个集成了自动备份功能的工具,它能够按照预定计划执行数据库的物理和逻辑备份,并且可能具备一定的恢复能力。通过分析提供的文件,我们可以推测它依赖于一系列...
Oracle 数据库备份与恢复 Oracle 数据库备份与恢复是 Oracle 数据库管理中非常重要的一部分。为了确保数据的安全和可靠性,数据库备份和恢复是必不可少的步骤。本文主要讲述 Oracle 数据库备份与恢复的相关知识点,...
Oracle数据库备份与恢复实例讲解 本文档旨在介绍 Oracle 数据库备份与恢复的实例讲解。备份和恢复是数据库管理员的重要职责之一,目的是为了保护数据库免受故障的影响,确保数据的安全和可靠性。 一、数据库常见...
首先,让我们理解"Oracle数据库备份用bat脚本"的概念。批处理脚本是Windows操作系统中的一种命令文件,可以包含一系列的DOS命令,用于自动化执行特定的任务。在Oracle数据库环境中,我们可以利用Oracle的数据泵工具...
"Oracle数据库备份恢复源码" 提供了一个自动化工具,旨在简化这个过程,避免手动执行复杂的命令。 该程序的核心功能是对DMP文件进行自动恢复,DMP(Data Pump Export Dump)文件是Oracle数据库的一种导出格式,包含...
#### 二、Java实现Oracle数据库备份的技术方案 1. **技术选型**: - **前端**:使用JSP(Java Server Pages)作为用户界面。 - **后端**:利用Java调用Oracle的导出工具`exp`完成数据备份。 2. **备份流程设计**...
通过以上方法,开发者可以在C#环境中实现对Oracle数据库的备份与恢复操作,确保在数据丢失或系统故障时能够快速恢复服务。然而,实际应用中,还需要考虑性能优化、并发控制和自动化工具集成等多个方面,以实现高效、...
Oracle数据库是业界广泛使用的大型关系型数据库系统,其对象管理及备份与恢复机制对于数据库管理员来说至关重要。本文将详细介绍Oracle数据库的对象管理、数据类型、触发器、索引和分区策略,以及备份与恢复的相关...
从上面的讨论中,我们可以看到,一个有效的Oracle数据库备份与恢复策略需要综合考虑多种因素,包括不同类型的备份模式、备份策略以及物理备份的方法。合理的备份策略应该结合组织的数据重要性、备份成本和时间等因素...
本资料"windows下oracle数据库备份压缩&删除历史备份.rar"提供了一个详细的过程,用于实现Oracle数据库的定时备份、备份文件的压缩以及自动删除两天前的旧备份。 首先,我们来讨论Oracle数据库的备份方法。在Oracle...
【医院Oracle数据库备份与恢复策略】是针对医疗行业中使用Oracle数据库进行数据管理的重要议题。Oracle数据库作为主流的关系型数据库系统,广泛应用于医院等关键领域,它具有强大的数据存储和备份功能,确保系统的高...
Oracle数据库备份与恢复是数据库管理员(DBA)的重要职责,涉及到确保数据的安全性和可用性。本章将详细介绍Oracle数据库的各种备份策略以及恢复方法,以应对不同类型的数据库故障。 1. 数据库常见故障类型: - 系统...
采用VS2005+C#开发,实现SQL2000(2005)以及Oracle9i(10G)等的数据库整体备份与数据库整体恢复,对于SQL数据库备份与恢复提供了SQL提供的几种模式,软件提供了数据库的创建,以及Oracle数据库表空间,用户的自动创建...
以下是对Oracle数据库备份与恢复专题的详细解读: ### 第1章:使用exp&imp工具进行数据库备份及恢复 **1.1 exp使用方法及实例** `exp`(Export)是Oracle提供的一个实用程序,用于将数据库对象(如表、索引、存储...