java对oracle数据进行备份和还原

来源:互联网 发布:白金数据漫画 编辑:程序博客网 时间:2024/05/17 23:05
--测试案例首先使用系统管理员偷笑亲测成功~~~~--创建一个表空间   tablespace JD  文件位置:  大小  'd:\shopping.dbf' size 32Mcreate tablespace JD datafile 'd:\JD.dbf' size 32M--创建一个用户名sa密码为a,默认的命名空间create user sa identified by a default tablespace JD;--给这个sa用户赋权 grant connect,resource to sa--这个时候可以系统的管理员的用户可以退出,并用sa登录--任意创建两个表 a bcreate table a(      aa nvarchar2(10))insert into a values('a');create table b(      bb nvarchar2(10))insert into b values('b');--记得要commit一下/*备份:在命令提示符中输入:exp sa/a file="D:\JD.dmp\"->这样是能够将sa下的所有的表,以及表下面的所有数据全部备份到D:\jd.dmp下的还原:(还原则有少许麻烦)在命令提示符中输入  (imp sa/a file="D:\ssaa.dmp" 如果是table被drop掉的话,这样表和表中的数据都是可以还原的。但是如果只是把表中的记录去掉了,这样就会提示语句失败,必须忽视原来中的table)imp sa/a file="D:\ssaa.dmp" ignore=y这样就可以正确的还原了~*/


====================================================================================================================================

import java.io.IOException; /**     亲测成功~~~~ * java在Windows OS利用命令提示符执行oracle的备份和还原 * 这段代码是在网上搜到的,不过源代码执行貌似有问题,所以更换用于执行那个 * DOS命名的语句 * @author 后飞IT * */public class BackupDB {       Runtime runtime = Runtime.getRuntime();    Process process = null ;    boolean isSuccess = false ;       public boolean backupORreductionOracleDB(String cmdStr) {       try {          process = runtime .exec(cmdStr);          isSuccess = true ;       } catch (IOException e) {          e.printStackTrace();       }       return isSuccess ;    }    public static void main(String[] args) {       //oracle 备份、      String backupCmd = "exp sa/a file=\"D:\\ss11.dmp\"" ;       //还原//    String backupCmd = "imp sa/a file=\"D:\\ssaa.dmp\" ignore=y";       boolean reSuccess = new BackupDB().backupORreductionOracleDB(backupCmd);       System. out .println(reSuccess);    } }


 

原创粉丝点击