Java web程序中备份oracle数据库 
 
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"); 
     } 
 
	 
	
	
 
 
				
 |