oracle 数据库备份与还原


一、下载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");
    }




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

时间辜负了谁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值