今天將很早就實現的一個Oracle數據庫備份功能粘貼出來,這個功能是在大學做階段設計時寫的:
import java.io.File; import java.io.IOException; /** * Oracle數據庫備份 * * @author GaoHuanjie */ public class OracleDatabaseBackup { /** * Java代碼實現Oracle數據庫導出 * * @author GaoHuanjie * @param userName 進入數據庫所需要的用戶名 * @param password 進入數據庫所需要的密碼 * @param SID 用戶所在的SID * @param savePath 數據庫導出文件保存路徑 * @param fileName 數據庫導出文件文件名 * @return 返回true表示導出成功,否則返回false。 */ public static boolean exportDatabaseTool(String userName, String password, String SID, String savePath, String fileName) throws InterruptedException { File saveFile = new File(savePath); if (!saveFile.exists()) {// 如果目錄不存在 saveFile.mkdirs();// 創建文件夾 } try { Process process = Runtime.getRuntime().exec("exp " + userName + "/" + password + "@" + SID + " file=" + savePath + "/" + fileName + ".dmp"); if(process.waitFor() == 0){//0 表示線程正常終止。 return true; } } catch (IOException e) { e.printStackTrace(); } return false; } public static void main(String[] args) throws InterruptedException { if (exportDatabaseTool("gaohuanjie", "ab19890110", "orcl", "d:/BackupDatabase", "oracledb")) { System.out.println("數據庫成功備份!!!"); } else { System.out.println("數據庫備份失敗!!!"); } } }