今天將很早就實現的一個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("數據庫備份失敗!!!");
- }
- }
- }