Welcome 微信登录

首页 / 数据库 / MySQL / 应用服务器上在线备份Oracle数据库代码

做在线备份时,输出做一个修改,动态把输出内容传到浏览器页面上去。
  1.  
  2. import java.io.BufferedReader; 
  3.  
  4. import java.io.IOException; 
  • import java.io.InputStream; 
  • import java.io.InputStreamReader; 
  •    
  • class StreamGobbler extends Thread { 
  •     InputStream is; 
  •     String type; 
  •    
  •     StreamGobbler(InputStream is, String type) { 
  •         this.is = is; 
  •         this.type = type; 
  •     } 
  •    
  •     public void run() { 
  •         try  { 
  •             InputStreamReader isr = new InputStreamReader(is); 
  •             BufferedReader br = new BufferedReader(isr); 
  •             String line=null
  •             while ( (line = br.readLine()) != null) 
  •                 System.out.println(type + ">" + line); 
  •         } catch (IOException ioe) { 
  •             ioe.printStackTrace(); 
  •         } 
  •     } 
  •    
  • public class Test { 
  •     public static void main(String args[]) { 
  •         args = new String[1]; 
  •         args[0]="exp zcgl/zcgl@db190 file=d:/test.dmp"; 
  •                  
  •         if (args.length < 1) { 
  •             System.out.println("USAGE: java GoodWindowsExec <cmd>"); 
  •             System.exit(1); 
  •         } 
  •    
  •         try { 
  •             String osName = System.getProperty("os.name" ); 
  •             System.out.println(osName); 
  •             String[] cmd = new String[3]; 
  •    
  •             if( osName.equals( "Windows NT" ) ) { 
  •                 cmd[0] = "cmd.exe" ; 
  •                 cmd[1] = "/C" ; 
  •                 cmd[2] = args[0]; 
  •             } else if( osName.equals( "Windows XP" ) ) { 
  •                 cmd[0] = "cmd.exe" ; 
  •                 cmd[1] = "/C" ; 
  •                 cmd[2] = args[0]; 
  •             } else if( osName.equals( "Windows 95" ) ) { 
  •                 cmd[0] = "command.com" ; 
  •                 cmd[1] = "/C" ; 
  •                 cmd[2] = args[0]; 
  •             } else if( osName.equals( "Windows Vista" ) ) { 
  •                 cmd[0] = "cmd.exe" ; 
  •                 cmd[1] = "/C" ; 
  •                 cmd[2] = args[0]; 
  •             } 
  •    
  •             Runtime rt = Runtime.getRuntime(); 
  •             System.out.println("Execing " + cmd[0] + " " + cmd[1] 
  •                                + " " + cmd[2]); 
  •             Process proc = rt.exec(cmd); 
  •             // any error message?  
  •             StreamGobbler errorGobbler = new 
  •                 StreamGobbler(proc.getErrorStream(), ""); 
  •    
  •             // any output?  
  •             StreamGobbler outputGobbler = new 
  •                 StreamGobbler(proc.getInputStream(), ""); 
  •    
  •             // kick them off  
  •             errorGobbler.start(); 
  •             outputGobbler.start(); 
  •    
  •             // any error???  
  •             int exitVal = proc.waitFor(); 
  •             System.out.println("ExitValue: " + exitVal); 
  •         } catch (Throwable t) { 
  •             t.printStackTrace(); 
  •         } 
  •     } 
ORA-12899: value too large for column通过NBU恢复Oracle理解的恢复原理相关资讯      Oracle数据库备份 
  • Oracle数据库备份方法  (今 20:18)
  • Java实现Oracle数据库备份  (08/12/2014 11:24:51)
  • Linux下自动备份Oracle数据库并删  (09/04/2013 10:54:04)
  • Oracle用户管理方式下备份数据和复  (09/23/2014 18:52:01)
  • 通过Oracle任务计划定期备份数据库  (01/23/2014 14:47:48)
  • Java备份还原Oracle数据库  (01/20/2013 13:10:46)
本文评论 查看全部评论 (0)
表情: 姓名: 字数