用java做oracle数据库备份有问题!急急急!!!
各位高手,大侠帮小弟看看这段代码吧!麻烦了,很棘手啊!
这段程序已经能够让oracle正确执行备份了.
但是为了让java程序能够检测备份是否成功,我做了读去进程错误信息的操作:
br.readLine()
这个时候就出问题了,不能读出任何信息,程序也不会往下执行了,
并且没有任何错误提示.
代码如下:
==============================
String command = "cmd /k start exp " + user + "/ " + pass + " FILE= " + filename + " full = y ";
java.lang.Runtime rt = java.lang.Runtime.getRuntime();
java.lang.Process p = rt.exec(command);
try {
BufferedReader br = new BufferedReader( new InputStreamReader(p.getInputStream()));
String str;
while ((str = br.readLine()) != null) {
//执行到这里就会死掉,并且什么错误提示都没有啊。
System.out.println(str);
}
p.waitFor();
} catch (InterruptedException ex1) {
System.out.println(ex1.getMessage());
}
===================================
我做过实验,
把command换成ping www.sina.con.cn
就能够顺利执行并成功读出信息.
请问这是怎么回事啊?
有没有能够监控oracle备份的其他办法?
急死我啦!各位高手帮帮忙啊,感激不尽!!!
------解决方案--------------------EXP有个LOG参数 他是把备份日志信息写到文件里面的
可以用这个
------解决方案--------------------找auditdb工具监控
------解决方案--------------------批处理里就能实现,EXP命令会有返回值,如果是0就是成功,否则失败。