一、下载oracle数据库客户端,并在电脑上安装
二、配置环境变量
找到oracle客户端的安装路径中Bin目录,将其路径配置到Path中。
截图如下:
三、按Win+R打开cmd窗口,敲入exp命令,查看环境变量是否配置正确:如果跟下面截图一样,则安装正确。
四、利用命令导出、导入Oracle数据库
导出数据库:exp imis/123456@192.168.26.27/orcl file=d:/imis.dmp log=d:/imislog.log
备注:exp 用户名/密码@数据库所在IP/数据库服务名 file=导出备份文件路径 log=导出日志
导入数据库:imp kpchen/123456@192.168.26.27/orcl full=y file=d:/imis.dmp log=d:/impimis.log ignore=y
注意:1、如果敲入exp 或者 imp 命令,不支持,说明你没有配置环境变量和安装oracle 客户端
2、导入数据库时,为了避免不必要的错误,先清空数据库(简单操作:删除用户,这样就会清空该用的所具有的所有信息。在新建用户)
1.生成备份文件:
public ActionForward createDmp(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
Calendar c = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
String fileName = "data_oracle" + sdf.format(c.getTime());
String dmpFolder = request.getSession().getServletContext()
.getRealPath("")
+ "\\datas\\dmp\\";
String logFolder = request.getSession().getServletContext()
.getRealPath("")
+ "\\datas\\log\\";
String cmd = "exp username/password@orcl file='" + dmpFolder + fileName
+ ".dmp' log='" + logFolder + fileName + ".log' owner=username";
Runtime.getRuntime().exec(cmd);
Thread.sleep(100 * 1000);
request.setAttribute("msg", "备份成功,文件生成会有延迟,请稍等");
return mapping.findForward("dmpCreated");
}
2.查询备份文件:
public ActionForward findDmp(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
String dmpFolder = request.getSession().getServletContext()
.getRealPath("")
+ "\\datas\\dmp\\";
File folder = new File(dmpFolder);
File[] files = folder.listFiles();
List<String[]> fileList = new ArrayList<String[]>();
for (int i = 0; i < files.length; i++) {
if (files[i].getName().indexOf(".dmp") > 0) {
String[] one = new String[2];
one[0] = files[i].getName();
one[1] = files[i].length() / 1000 + "K";
fileList.add(one);
}
}
request.setAttribute("fileList", fileList);
return mapping.findForward("dmpList");
}
3.删除备份文件:
public ActionForward deleteDmp(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
String dmpFolder = request.getSession().getServletContext()
.getRealPath("")
+ "\\datas\\dmp\\";
File folder = new File(dmpFolder);
File[] files = folder.listFiles();
String fileName = request.getParameter("dmpName");
for (int i = 0; i < files.length; i++) {
if (files[i].getName().equals(fileName)) {
files[i].delete();
request.setAttribute("msg", "删除成功");
break;
}
}
return mapping.findForward("dmpList");
}