如何JAVA程序对Oracle执行逻辑备份

来源:百度知道 编辑:UC知道 时间:2024/05/02 16:20:55
Oracle10g,操作系统是Linux(CENTOS4.2)。系统是B/S结构的,客户要求登录系统后能够一键执行对数据库的备份,并把备份文件下载到本地客户端,请问各位大侠这能否实现?
网上有说可以使用Runtime类执行EXP命令来做逻辑备份的,但我尝试了不成功,也找不出原因。
部分代码如下:
String cmdArray[] =new String[]{"sh","-c","export ORACLE_SID=ccgcl"};
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec(cmdArray);
int exitValue = proc.waitFor();
if(exitValue==0){
cmdArray[2] = "exp system/"+password+" file="+path+" full=y grants=y";
cmdArray[2] += " LOG="+dir+dfFull.format(date)+".log";
proc = Runtime.getRuntime().exec(cmdArray);
new StreamThread(proc.getInputStream(), "INFO").start();
new StreamThread(proc.getErrorStream(), "INFO").start();
exitValue = proc.waitFor();
if(exitValue==0){
msg = "success";
}else{
msg = "faild_exp"+exitValue+cmdArray[2];
}
}else{
msg = "faild_export

在windows下模拟间隔工程
脚本通过 bat来写
会不会是没有权限执行导出命令
数据库导出需要dba的权限吧
你的导出语句命令中总有用户名密码吧
和数据库管理人员确认下 有什么样的权限