在“執行”裡開啟cmd
2
輸入命令:sqlplussystem/123456@orcl
其中system是登入資料庫的使用者名稱
123456是使用者名稱的密碼
orcl是資料庫例項名稱
3
如果提示命令無效,那就是你沒有配置好oracle的環境變數(想當年我也被這個問題困擾著),配置oracle環境變數的方法如下:
1、右擊“我的電腦”->選擇“屬性”->選擇“高階”->單擊“環境變數”2、選擇“path”這一行,單擊“編輯”,在“path”的變數值文字框的最後面先加入一個分號“:”,然後再分號後面加入sqlplus檔案的目錄路徑,如“c:\programfiles\oracle\product\10.2.0\db_1\bin”,然後點選“確定”按鈕。3、如果在“系統變數”列表框下面的“變數”列中找不到“oracle_home”和“oracle_sid”這兩個變數,則需要下面操作,否則無需一下操作。4、在“系統變數”中點選“新建”按鈕,在“變數名”中輸入“oracle_home”,變數值中輸入oracle的安裝目錄路徑,如“c:\programfiles\oracle\product\10.2.0\db_1”,然後點選“確定”按鈕。5、在“系統變數”中點選“新建”按鈕,在“變數名”中輸入“oracle_sid”,變數值中輸入資料庫的例項名,然後點選“確定”按鈕。
oracle_home:oracle資料庫軟體的安裝目錄oracle_sid:oracle資料庫的例項名oracle資料庫例項名:用於和作業系統進行聯絡的標識,即資料庫和作業系統之間的交換是透過資料庫例項名來體現的。
end
第二步,expdp備份命令
1
建立oracle的備份目錄:
sql>createdirectorydpdata1as"d:\temp\dmp";
這僅僅是在oracle裡設定的目錄,並沒有真正建立
可以透過這句命令檢視到這個目錄
sql>select*fromdba_directories;
賦於要匯出資料表的所屬使用者許可權
sql>grantread,writeondirectorydpdata1tosshe;
4
好了,到了關鍵一步,之前走了不少彎路,但其它是小問題,在網上零零碎碎查了很多資料,終於找到原因。
首先,要切換回命令視窗,不要再在sql>下執行,然後輸入命令:
expdpsystem/123456@orcldirectory=dpdata1dumpfile=sshe.dmplogfile=sshe.logschemas=sshe
5
上面報了一個錯ora-39002:操作無效
原因是d:\temp\dmp這個目錄不存在,別以為createdirectory之後就會自動生成資料夾,也別以為執行expdp後會自動生成資料夾,要自己手動新建這個目錄資料夾的。新建資料夾後再試一下,果然成功了!恭喜你,已成功備份!
6
如果你要問,匯出來的dmp檔案怎樣還原回去。好吧,做人做到底,為了省去你再找方法的麻煩,這裡我也做一個演示(一般備份的資料是等到資料庫有問題時才用的上)。
首先,再一次登入資料庫sqlplussystem/123456@orcl
7
現在來再一次建立使用者,可以用命令建立,也可以在plsql裡建立,這裡在plsql建立。
用system登入資料庫,然後右鍵users--新建
然後填寫你的賬號名稱,必須和備份時的使用者一致,並賦於相應的許可權
8
返回dos命令視窗,不再是sql>
輸入匯入命令:impdpsystem/123456@orcldirectory=dpdata1dumpfile=sshe.dmplogfile=sshe.logschemas=sshe
匯入成功!
步驟3定時執行備份任務
做一個按年月日命名的批處理。在d:\temp\目錄下新建一個檔案,隨便命名為.bat,我的命名為sshe.bat,編輯為如下程式碼
-------------------------------------------------------------------------
@echooffremsetbackupfile=f_database_%date:~0,4%-%date:~5,2%-%date:~8,2%.dmpremsetlogfile=f_database_%date:~0,4%-%date:~5,2%-%date:~8,2%.logremdelete30daysfilesforfiles/p"d:\temp\dmp"/d-30/c"cmd/cechodeleting@file...&&del/f@path"cdd:\temp\dmp
rembackupschemassetbackupfile=sshe_%date:~0,4%-%date:~5,2%-%date:~8,2%.dmpsetlogfile=sshe_%date:~0,4%-%date:~5,2%-%date:~8,2%.logexpdpsshe/sshedirectory=dir_dpdumpfile=%backupfile%logfile=%logfile%schemas=ssheparallel=4
-------------------------------------------------------------------------------
可以試執行一下,會自動生成一個以年月日命名的備份檔案
做一個windows每晚自動執行資料庫備份的bat,我的命名為auto.bat編輯如下內容
------------------------------------------------------------------------------
@echooffschtasks/create/tnsshe資料庫定時備份/tr"d:\temp\sshe_bak.bat"/scdaily/st00:00:00/ru"system"pauseexit
雙擊auto.bat,就會在windows新增一個定時任務,每晚0點0分就會自動執行一次sshe.bat,從而完成自動備份的目的。
右鍵我的電腦:管理——任務計劃程式——任務計劃程式庫,可以看到剛才新增進去的定時任務
可以將電腦的時鐘設為23點59分50秒,等待10秒鐘,看看自動備份能否成功。如果成功那就大功告成了!!
在“執行”裡開啟cmd
2
輸入命令:sqlplussystem/123456@orcl
其中system是登入資料庫的使用者名稱
123456是使用者名稱的密碼
orcl是資料庫例項名稱
3
如果提示命令無效,那就是你沒有配置好oracle的環境變數(想當年我也被這個問題困擾著),配置oracle環境變數的方法如下:
1、右擊“我的電腦”->選擇“屬性”->選擇“高階”->單擊“環境變數”2、選擇“path”這一行,單擊“編輯”,在“path”的變數值文字框的最後面先加入一個分號“:”,然後再分號後面加入sqlplus檔案的目錄路徑,如“c:\programfiles\oracle\product\10.2.0\db_1\bin”,然後點選“確定”按鈕。3、如果在“系統變數”列表框下面的“變數”列中找不到“oracle_home”和“oracle_sid”這兩個變數,則需要下面操作,否則無需一下操作。4、在“系統變數”中點選“新建”按鈕,在“變數名”中輸入“oracle_home”,變數值中輸入oracle的安裝目錄路徑,如“c:\programfiles\oracle\product\10.2.0\db_1”,然後點選“確定”按鈕。5、在“系統變數”中點選“新建”按鈕,在“變數名”中輸入“oracle_sid”,變數值中輸入資料庫的例項名,然後點選“確定”按鈕。
oracle_home:oracle資料庫軟體的安裝目錄oracle_sid:oracle資料庫的例項名oracle資料庫例項名:用於和作業系統進行聯絡的標識,即資料庫和作業系統之間的交換是透過資料庫例項名來體現的。
end
第二步,expdp備份命令
1
建立oracle的備份目錄:
sql>createdirectorydpdata1as"d:\temp\dmp";
這僅僅是在oracle裡設定的目錄,並沒有真正建立
2
可以透過這句命令檢視到這個目錄
sql>select*fromdba_directories;
3
賦於要匯出資料表的所屬使用者許可權
sql>grantread,writeondirectorydpdata1tosshe;
4
好了,到了關鍵一步,之前走了不少彎路,但其它是小問題,在網上零零碎碎查了很多資料,終於找到原因。
首先,要切換回命令視窗,不要再在sql>下執行,然後輸入命令:
expdpsystem/123456@orcldirectory=dpdata1dumpfile=sshe.dmplogfile=sshe.logschemas=sshe
5
上面報了一個錯ora-39002:操作無效
原因是d:\temp\dmp這個目錄不存在,別以為createdirectory之後就會自動生成資料夾,也別以為執行expdp後會自動生成資料夾,要自己手動新建這個目錄資料夾的。新建資料夾後再試一下,果然成功了!恭喜你,已成功備份!
6
如果你要問,匯出來的dmp檔案怎樣還原回去。好吧,做人做到底,為了省去你再找方法的麻煩,這裡我也做一個演示(一般備份的資料是等到資料庫有問題時才用的上)。
首先,再一次登入資料庫sqlplussystem/123456@orcl
7
現在來再一次建立使用者,可以用命令建立,也可以在plsql裡建立,這裡在plsql建立。
用system登入資料庫,然後右鍵users--新建
然後填寫你的賬號名稱,必須和備份時的使用者一致,並賦於相應的許可權
8
返回dos命令視窗,不再是sql>
輸入匯入命令:impdpsystem/123456@orcldirectory=dpdata1dumpfile=sshe.dmplogfile=sshe.logschemas=sshe
匯入成功!
end
步驟3定時執行備份任務
做一個按年月日命名的批處理。在d:\temp\目錄下新建一個檔案,隨便命名為.bat,我的命名為sshe.bat,編輯為如下程式碼
-------------------------------------------------------------------------
@echooffremsetbackupfile=f_database_%date:~0,4%-%date:~5,2%-%date:~8,2%.dmpremsetlogfile=f_database_%date:~0,4%-%date:~5,2%-%date:~8,2%.logremdelete30daysfilesforfiles/p"d:\temp\dmp"/d-30/c"cmd/cechodeleting@file...&&del/f@path"cdd:\temp\dmp
rembackupschemassetbackupfile=sshe_%date:~0,4%-%date:~5,2%-%date:~8,2%.dmpsetlogfile=sshe_%date:~0,4%-%date:~5,2%-%date:~8,2%.logexpdpsshe/sshedirectory=dir_dpdumpfile=%backupfile%logfile=%logfile%schemas=ssheparallel=4
-------------------------------------------------------------------------------
可以試執行一下,會自動生成一個以年月日命名的備份檔案
做一個windows每晚自動執行資料庫備份的bat,我的命名為auto.bat編輯如下內容
------------------------------------------------------------------------------
@echooffschtasks/create/tnsshe資料庫定時備份/tr"d:\temp\sshe_bak.bat"/scdaily/st00:00:00/ru"system"pauseexit
------------------------------------------------------------------------------
雙擊auto.bat,就會在windows新增一個定時任務,每晚0點0分就會自動執行一次sshe.bat,從而完成自動備份的目的。
右鍵我的電腦:管理——任務計劃程式——任務計劃程式庫,可以看到剛才新增進去的定時任務
5
可以將電腦的時鐘設為23點59分50秒,等待10秒鐘,看看自動備份能否成功。如果成功那就大功告成了!!