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

标签: 应用 服务器 在线备份 | 发表时间:2013-02-28 10:34 | 作者:qm4050
出处:http://blog.csdn.net
import java.io.BufferedReader;
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();
        }
    }
}


做在线备份时,输出做一个修改,动态把输出内容传到浏览器页面上去。


作者:qm4050 发表于2013-2-28 10:34:34 原文链接
阅读:75 评论:0 查看评论

相关 [应用 服务器 在线备份] 推荐:

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

- - CSDN博客数据库推荐文章
做在线备份时,输出做一个修改,动态把输出内容传到浏览器页面上去. 作者:qm4050 发表于2013-2-28 10:34:34 原文链接. 阅读:75 评论:0 查看评论.

【监控应用服务器】系列博文目录

- - CSDN博客架构设计推荐文章
前言:做了一个监控应用服务器(Tocmat、WebSphere、WebLogic)的项目,为了留下点印记,给后来人留下点经验之谈,助之少走弯路,特意把这些经验整理出来,与大家分享. 如有疑问,可以Q我:562116039. 监控Tomcat解决方案(监控应用服务器系列文章一). 讲解两种监控Tomcat的解决方案:一是通过Tomcat提供的manager应用,二是通过JMX的方式.

大数据在服务器运营中的应用

- - 博客园_知识库
  腾讯公司从2012年开始,通过对服务器运营流程、工具系统的建设,服务器从一线到三线的运营基本转入线上自动化. 在服务器静态配置、动态的运行状态和生命周期各个节点的运营这几个方面,产生了大量的运营数据,这些信息像滚雪球一样,以几何量级快速增长. 数据越来越多,该如何着手处理呢. 这就像刚入门的厨子一样,在农贸市场里面对堆积如小山般的食材,无从下手.

小谈应用服务器的未来发展

- - ITeye博客
InfoQ中国站发表了一篇卫滨张兄的文章“Java应用服务器前途堪忧”,链接为http://www.infoq.com/cn/news/2014/05/application-servers-are-dead. 仔细看进去,Eberhard Wolff的演示稿写的很好,有针对性的分析了目前应用服务器当前的状态和存在的一些问题,提出微服务和持久交付会对应用服务器市场产生冲击,这个技术趋势我非常赞同,但是演示稿的确有标题党和片面下结论之嫌.

使用epoll 在 linux 上开发高性能应用服务器

- - C++博客-首页原创精华区
epoll是linux提供一种多路复用的技术,类似各个平台都支持的select,只是epoll在内核的实现做了更多地优化,可以支持比select更多的文件描述符,当然也支持 socket这种网络的文件描述符. linux上的大并发的接入服务器,目前的实现方式肯定都通过epoll实现. 有很多开发人员用epoll的时候,会开多个线程来进行数据通信,比如一个线程专门accept(我个人早些年在FreeBSD用kqueue的时候,由于对内部机制没有基本了解也这样搞),一个线程收发,或者接收和发送都用各自独立的线程.

2014年最受欢迎的Java应用服务器

- - Java译站
注:数据有限,一家之言,仅供娱乐. 回顾2013年应用服务器市场份额已经有超过一年的时间了. 为了看下这14个月来格局有没有发生变化,我们收集了从去年1月到2014年5月间启动了On Demand Plumbr的783个不同环境的配置信息. 数据是从引导类路径下收集来的——因此下面的数据是基于类似"grep -i tomcat classpath.log"这样的查询结果得到的.

减少使用Java应用服务器,迎接Docker容器

- - ITeye资讯频道
【编者的话】随着Docker的发展,越来越多的应用开发者开始使用Docker. James Strachan写了一篇有关Java开发者如何使用Docker进行轻量级快速开发的文章. 他告诉我们,使用Docker和服务发现的机制,可以有效减轻Java运维人员的负担,进行项目的快速启动和持续迭代. 多年来,Java生态系统一直在使用应用服务器.

Java HeartBeat 0.4 发布,应用服务器心跳检测

- - 开源中国社区最新新闻
HeartBeat 0.4 发布, 该版本的主要更新如下. 下载链接:  http://git.oschina.net/mkk/HeartBeat/raw/V-0.4/dist/HeartBeat-0.4.zip. 在线测试:  http://andaily.com/hb/. 心跳检测各类应用服务器(如Tomcat,Jetty),WEB服务器(如 Apache,Nginx) 的JAVA WEB应用程序.

谈Serverless无服务器架构和应用场景(201013)

- - 人月神话的BLOG
对于云原生解决方案中涉及到的微服务,DevOps,容器云和ServiceMesh等内容,在前面很多文章都已经谈到过,今天准备谈下对Serverless架构的一些理解. 实际上要完全理解Serverless无服务器架构是一件相对困难的事情,包括到现在我的认知里面仍然认为这种架构是无法满足传统IT应用系统的架构转型和迁移的,只能够应用到一些特定的场景.

监控Tomcat方案调研(监控应用服务器系列文章一)

- - 博客园_首页
前言: 最近在做一个监控应用服务器(Tocmat、WebSphere、WebLogic)的项目,目前已小有规模,回头看看,一路走来,也算是磕磕绊绊,遇到过种种问题,走过不少弯路,不过程序员最不怕的就是遇到问题——有什么问题就解决什么问题. 为了给后来人留下点经验之谈,助之少走弯路,特意把这些经验整理出来,与大家分享.