簡(jiǎn)易代碼之家

            BlogJava :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
            157 Posts :: 2 Stories :: 57 Comments :: 0 Trackbacks
          Java web程序中備份oracle數(shù)據(jù)庫(kù)

          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""備份成功,文件生成會(huì)有延遲,請(qǐng)稍等");
                  
          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");
              }

          posted on 2010-06-08 18:27 Jakin.zhou 閱讀(1104) 評(píng)論(1)  編輯  收藏

          Feedback

          # re: Java web程序中備份oracle數(shù)據(jù)庫(kù) 2015-01-21 20:43 yanwushu
          要是寫上如何恢復(fù)數(shù)據(jù)庫(kù)就更好了  回復(fù)  更多評(píng)論
            


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 保靖县| 黎平县| 开阳县| 桦南县| 清远市| 托克托县| 台中县| 三原县| 鄂托克前旗| 陇南市| 诸城市| 淳化县| 曲麻莱县| 长岭县| 大石桥市| 濮阳县| 清远市| 胶南市| 浏阳市| 东莞市| 菏泽市| 莱阳市| 普洱| 大英县| 沅江市| 沂源县| 贵南县| 长垣县| 揭东县| 库车县| 齐河县| 阳江市| 如皋市| 榕江县| 页游| 北京市| 井陉县| 宜丰县| 翁源县| 秦安县| 河北省|