當前位置:首頁 » 操作系統 » c備份oracle資料庫

c備份oracle資料庫

發布時間: 2023-06-19 10:39:35

A. 怎麼從oracle資料庫備份資料庫(oracle資料庫備份)

1、首先先確認oracle伺服器上oracle中標紅的相關的服務是否已經正常啟動。

2、然後要把PLsql關閉,讓連接先退出一下,確保斷開資料庫的所有連接,如果資料庫中有正在連接客戶端,備份的時候可能會出現異常。

3、接著打開cmd命令提示符窗口,輸入備份資料庫的命令,xp命令的後面跟用戶名和密碼,file是備份的路徑,owner則是資料庫的用戶名,侍晌按下回車鍵等待備份。

4、耐心等待。當數據完成導出之後,cmd窗口中會出現的提示語,這就表示御山已經完成了資料庫備份導出的動作。

5、這時候在計算機中找到第四步中設定的文件保存路徑,如下截圖,你會發現多了一個dmp的文件,這個文件就是我老拆鋒們需要的備份文件了。

B. oracle 備份

手工備份
單表備份(前提庫的結構是一樣的)
導出:
開始鈕->運行->輸入CMD->進入DOS界面
EXP 用戶名/密碼@連接字元串 GRANTS=Y TABLES=(stu) file=C:\文件名.DMP
導入:
開始鈕->運行->輸入CMD->進入DOS界面
IMP 用戶名/密碼@連接字元串 IGNORE=Y TABLES=(stu) FULL=N file=C:\文件名.DMP

其中stu是你要的表名

全庫導
導出:
開始鈕->運行->輸入CMD->進入DOS界面
EXP 用戶名/密碼@連接字元串 FULL=Y file=C:\文件名.DMP
導入:
開始鈕->運行->輸入CMD->進入DOS界面
IMP 用戶名/密碼@連接字元串 FULL=Y file=C:\文件名.DMP

自動備份
建議一:
利用任務計劃、批處理文件和ORACLE的EXP導出功能,可以根據日期自動生成ORACLE備份文件,大大方便了ORACLE數據備份。:
1,批處理文件backup.bat\.
exp system/manager file=d:\backup\oracle\oracle%date:~0,10%.dmp owner=system log=d:\backup\oracle\oracle%date:~0,10%.log
將生成oracle2006-01-09.dmp文件
exp system/manager file=d:\backup\oracle\oracle%date:~11,3%.dmp owner=system log=d:\backup\oracle\oracle%date:~11,3%.log
將生成oracle星期一.dmp文件,則每周循環保留一個備份文件,共7個備份文件循環
2,添加一個任務計劃
利用任務計劃向導,根據備份策略設置自動執行任務的時間頻率(例如每天零時),執行d:\oracle\backup.bat
3、以後每天將在目錄中生成形如「oracle2005-08-31.dmp和oracle2005-08-31.log」的備份和日誌文件。
說明:
1、%date%的值在不同的系統、語言版本下可能是不一樣的,控制面板裡面區域選項的設定也會改變%date%的值。請先在命令行中測試 echo %date% 的返回值。%date:~4,10% 是返回日期函數,~後的第一個參數是要截取的起始位置(從0開始),第二個參數是要截取的長度,如沒有則是截取到最後,參數可酌情修改。
2、如需要准確的時間做為文件名,請用%time%函數,參數同上。
建議二:
@echo off
set filename=e:\data_bak\%date:~8,2%日
exp userid=user/pass@esdata file=%filename%.dmp owner=user INDEXES=y grants=y constraints=y compress=y log=%filename%.log
rar a %filename%.rar %filename%.*
del %filename%.dmp
del %filename%.log
放計劃任務裡面定時執行,
文件名以日期的day部分來命名
備份後調用rar進行壓縮
這樣可以保存一個月的歷史數據
注意:需要把program files/winrar目錄下的rar.exe拷貝到系統system32目錄下
如果是以星期命名,則需要將set filename=e:\data_bak\%date:~8,2%日修改為
set filename=e:\data_bak\%date:~0,3%
建議三:
以下為ORACLE 自動備份批處理文件內容,請配合任務計劃實現

@ECHO OFF
SET BACKPATH=d:\
ECHO 准備備份資料庫
REM 7天一個循環
IF EXIST %BACKPATH%\ONE GOTO ONE
IF EXIST %BACKPATH%\TWO GOTO TWO
IF EXIST %BACKPATH%\THREE GOTO THREE
IF EXIST %BACKPATH%\FOUR GOTO FOUR
IF EXIST %BACKPATH%\FIVE GOTO FIVE
IF EXIST %BACKPATH%\SIX GOTO SIX
IF EXIST %BACKPATH%\SEVEN GOTO SEVEN
ECHO E > %BACKPATH%\ONE
:ONE
SET BACKPATH_FULL=%BACKPATH%\ONE
REN %BACKPATH%\ONE TWO
GOTO BACK
:TWO
SET BACKPATH_FULL=%BACKPATH%\TWO
REN %BACKPATH%\TWO THREE
GOTO BACK
:THREE
SET BACKPATH_FULL=%BACKPATH%\THREE
REN %BACKPATH%\THREE FOUR
GOTO BACK
:FOUR
SET BACKPATH_FULL=%BACKPATH%\FOUR
REN %BACKPATH%\FOUR FIVE
GOTO BACK
:FIVE
SET BACKPATH_FULL=%BACKPATH%\FIVE
REN %BACKPATH%\FIVE SIX
GOTO BACK
:SIX
SET BACKPATH_FULL=%BACKPATH%\SIX
REN %BACKPATH%\SIX SEVEN
GOTO BACK
:SEVEN
SET BACKPATH_FULL=%BACKPATH%\SEVEN
REN %BACKPATH%\SEVEN ONE
GOTO BACK
:BACK
EXP TESTUSER/TEST FILE=%BACKPATH_FULL%.DMP
SET BACKPATH=
SET BACKPATH_FULL=
EXIT
建議四:
RMAN TARGET=RMAN/RMAN@ORCL < C:\RMAN.TXT
建議五:
在文本里編輯cmd命令。然後保存成bat文件。在windows中定義任務計劃,就
可以自動執行了。
例:
編輯文本文件
del c:\exp\*.dmp
exp userid=cw/cw@db file='c:\exp\*.dmp' tables=(student)
保存成bat文件
建議六:
寫個簡單的批處理文件備份恢復:
備份:
@echo off 不顯示命令行

echo 開始備份表..... 列印信息
D: DOS切換到D: 盤
cd oracle\ora92\bin 切換到cd oracle\ora92\bin目錄
exp 用戶名/密碼@資料庫 file=d:\config_bak.dmp tables=(table1,table2) 備份表一表二到d:\config_bak.dmp
echo 備份完畢!
恢復:
@echo off

echo 開始恢復表.....
D:
cd oracle\ora92\bin
imp 用戶名/密碼@資料庫 file=d:\config_bak.dmp tables=(table1,table2) ignore=y
sqlplus /nolog @oraStartup.sql>>oraStartup.log 調用sql文件
pause 執行完sql文件以後暫停,看信息
echo 恢復完畢!
編寫oraStartup.sql
conn 用戶名/密碼@資料庫 as sysdba
select * from table1;
quit;

執行環境:可以在SQLPLUS.EXE或者DOS(命令行)中執行,
DOS中可以執行時由於 在oracle 8i 中 安裝目錄\ora81\BIN被設置為全局路徑,
該目錄下有EXP.EXE與IMP.EXE文件被用來執行導入導出。
oracle用java編寫,我想SQLPLUS.EXE、EXP.EXE、IMP.EXE這倆個文件是被包裝後的類文件。
SQLPLUS.EXE調用EXP.EXE、IMP.EXE他們所包裹的類,完成導入導出功能。
下面介紹的是導入導出的實例,向導入導出看實例基本上就可以完成,因為導入導出很簡單。
數據導出:
1 將資料庫TEST完全導出,用戶名system 密碼manager 導出到D:\chu.dmp中
exp system/manager@TEST file=d:\chu.dmp full=y
2 將資料庫中system用戶與sys用戶的表導出
exp system/manager@TEST file=d:\chu.dmp owner=(system,sys)
3 將資料庫中的表table1 、table2導出
exp system/manager@TEST file=d:\chu.dmp tables=(table1,table2)
4 將資料庫中的表table1中的欄位filed1以"00"打頭的數據導出
exp system/manager@TEST file=d:\chu.dmp tables=(table1) query=\" where filed1 like '00%'\"

上面是常用的導出,對於壓縮我不太在意,用winzip把dmp文件可以很好的壓縮。
不過在上面命令後面 加上 compress=y 就可以了
數據的導入
1 將D:\chu.dmp 中的數據導入 TEST資料庫中。
imp system/manager@TEST file=d:\chu.dmp
上面可能有點問題,因為有的表已經存在,然後它就報錯,對該表就不進行導入。
在後面加上 ignore=y 就可以了。
2 將d:\chu.dmp中的表table1 導入
imp system/manager@TEST file=d:\chu.dmp tables=(table1)
導入
基本上上面的導入導出夠用了。不少情況我是將表徹底刪除,然後導入。

C. 如何做Oraclel資料庫數據備份

EXP和IMP是Oracle提供的一種邏輯州亮洞備份工具。邏輯備份創建資料庫對象的邏輯拷貝並存入一個二進制轉儲文件。這種邏輯備份需要在資料庫啟動的情況下使用, 其導出實質就是讀取一個資料庫記錄集(甚至可以包括數據字典)並將這個記錄集寫入一個文件,這些記錄的導出與其物理位置無關,導入實質就是讀取轉儲文件並執行其中的命令。此備份方式是通過Oracle的實用工具export和import來實施的, export是把資料庫中的數據導出,import是把export卸出的數據導鍵兆入資料庫中。通過此工具可以衍生出多種功能, 比如整個冊枯資料庫的備份、表結構重建、數據的傳輸、用戶的改變等等。

也可以採用專業的容災備份軟體對ORACLE數據進行備份。實時數據備份的軟體現在很多,CDP容災備份方案(備特佳備份軟體)在RPO和RTO兩項指標上優勢明顯,可以實現數據的實時備份,保障業務系統的連續性。有數據級和應用級兩種容災方案。

D. 如何Oracle 資料庫備份與恢復

oracle資料庫的備份與恢復
---- 當我們使用一個資料庫時,總希望資料庫的內容是可靠的、正確的,但由於計算機系統的故障(包括機器故障、介質故障、誤操作等),資料庫有時也可能遭到破壞,這時如何盡快恢復數據就成為當務之急。如果平時對資料庫做了備份,那麼此時恢復數據就顯得很容易。由此可見,做好資料庫的備份是多麼的重要,下面筆者就以oracle7為例,來講述一下資料庫的備份和恢復。oracle 資料庫有三種標準的備份方法,它們分別為導出/導入(export/import)、冷備份、熱備份。導出備份是一種邏輯備份,冷備份和熱備份是物理備份。
---- 一、 導出/導入(export/import)
---- 利用export可將數據從資料庫中提取出來,利用import則可將提取出來的數據送回oracle資料庫中去。
---- 1. 簡單導出數據(export)和導入數據(import)
---- oracle支持三種類型的輸出:
---- (1)表方式(t方式),將指定表的數據導出。
---- (2)用戶方式(u方式),將指定用戶的所有對象及數據導出。
---- (3)全庫方式(full方式),將資料庫中的所有對象導出。
---- 數據導出(import)的過程是數據導入(export)的逆過程,它們的數據流向不同。
---- 2. 增量導出/導入
---- 增量導出是一種常用的數據備份方法,它只能對整個資料庫來實施,並且必須作為system來導出。在進行此種導出時,系統不要求回答任何問題。導出文件名預設為export.dmp,如果不希望自己的輸出文件定名為export.dmp,必須在命令行中指出要用的文件名。
---- 增量導出包括三個類型:
---- (1)「完全」增量導出(complete)
---- 即備份整個資料庫,比如:
---- $exp system/manager inctype=complete file=990702.dmp
---- (2) 「增量型」增量導出
---- 備份上一次備份後改變的數據。比如:
---- $exp system/manager inctype=incremental file=990702.dmp
---- (3) 「累計型」增量導出(cumulative)
---- 累計型導出方式只是導出自上次「完全」 導出之後資料庫中變化了的信息。比如:
---- $exp system/manager inctype=cumulative file=990702.dmp
---- 資料庫管理員可以排定一個備份日程表,用數據導出的三個不同方式合理高效地完成。
---- 比如資料庫的備份任務可作如下安排:
---- 星期一:完全導出(a)
---- 星期二:增量導出(b)
---- 星期三:增量導出(c)
---- 星期四:增量導出(d)
---- 星期五:累計導出(e)
---- 星期六:增量導出(f)
---- 星期日:增量導出(g)
---- 如果在星期日,資料庫遭到意外破壞,資料庫管理員可按以下步驟來恢復資料庫:
---- 第一步:用命令create database重新生成資料庫結構;
---- 第二步:創建一個足夠大的附加回段。
---- 第三步:完全增量導入a:
---- $imp system./manager inctype= rectore full=y file=a
---- 第四步:累計增量導入e:
---- $imp system/manager inctype= rectore full=y file =e
---- 第五步:最近增量導入f:
---- $imp system/manager inctype=restore full=y file=f
---- 二、 冷備份
---- 冷備份發生在資料庫已經正常關閉的情況下,當正常關閉時會提供給我們一個完整的資料庫。冷備份是將關鍵性文件拷貝到另外位置的一種說法。對於備份oracle信息而言,冷備份是最快和最安全的方法。冷備份的優點是:
---- 1.是非常快速的備份方法(只需拷貝文件)
---- 2.容易歸檔(簡單拷貝即可)
---- 3.容易恢復到某個時間點上(只需將文件再拷貝回去)
---- 4.能與歸檔方法相結合,作資料庫「最新狀態」的恢復。
---- 5.低度維護,高度安全。
---- 但冷備份也有如下不足:
---- 1.單獨使用時,只能提供到「某一時間點上」的恢復。
---- 2.在實施備份的全過程中,資料庫必須要作備份而不能作其它工作。也就是說,在冷備份過程中,資料庫必須是關閉狀態。
---- 3.若磁碟空間有限,只能拷貝到磁帶等其它外部存儲設備上,速度會很慢。
---- 4.不能按表或按用戶恢復。
---- 如果可能的話(主要看效率),應將信息備份到磁碟上,然後啟動資料庫(使用戶可以工作)並將所備份的信息拷貝到磁帶上(拷貝的同時,資料庫也可以工作)。冷備份中必須拷貝的文件包括:
---- 1.所有數據文件
---- 2.所有控制文件
---- 3.所有聯機redo log文件
---- 4.init.ora文件(可選)。
---- 值得注意的是冷備份必須在資料庫關閉的情況下進行,當資料庫處於打開狀態時,執行資料庫文件系統備份是無效的
---- 下面是做冷備份的完整例子:
---- (1) 關閉資料庫$sqldba lmode=y
---- sqldba >connect internal;
---- sqldba >shutdown normal;
---- (2) 用拷貝命令備份全部的時間文件、重做日誌文件、控制文件、初始化參數文件
---- sqldba >! cp < file > <; backup directory >
---- (3) 重啟oracle資料庫
---- $sqldba lmode=y
---- sqldba >connect internal;
---- sqldba >startup;
---- 三、 熱備份
---- 熱備份是在資料庫運行的情況下,採用archivelog mode方式備份數據的方法。所以,如果你有昨天夜裡的一個冷備份而且又有今天的熱備份文件,在發生問題時,就可以利用這些資料恢復更多的信息。熱備份要求資料庫在archivelog方式下操作,並需要大量的檔案空間。一旦資料庫運行在archivelog狀態下,就可以做備份了。熱備份的命令文件由三部分組成:
---- 1.數據文件一個表空間一個表空間地備份。
---- (1)設置表空間為備份狀態
---- (2)備份表空間的數據文件
---- (3)恢復表空間為正常狀態
---- 2.備份歸檔log文件。
---- (1)臨時停止歸檔進程
---- (2)log下那些在archive redo log目標目錄中的文件
---- (3)重新啟動archive進程
---- (4)備份歸檔的redo log 文件
---- 3.用alter database backup controlfile命令來備份拷貝文件
---- 熱備份的優點是:
---- 1.可在表空間或數據文件級備份,備份時間短。
---- 2.備份時資料庫仍可使用。
---- 3.可達到秒級恢復(恢復到某一時間點上)。
---- 4.可對幾乎所有資料庫實體作恢復。
---- 5.恢復是快速的,在大多數情況下在資料庫仍工作時恢復。
---- 熱備份的不足是:
---- 1.不能出錯,否則後果嚴重。
---- 2.若熱備份不成功,所得結果不可用於時間點的恢復。
---- 3.因難於維護,所以要特別仔細小心,不允許「以失敗而告終」。

熱點內容
小嶽嶽訪問 發布:2025-03-21 21:15:41 瀏覽:91
sql代碼格式化 發布:2025-03-21 21:14:52 瀏覽:629
c語言實現數據結構的演算法 發布:2025-03-21 14:35:55 瀏覽:414
androidphp最佳實踐pdf 發布:2025-03-21 14:33:44 瀏覽:728
哪裡下安卓版60秒 發布:2025-03-21 14:32:06 瀏覽:291
javarsa分段加密 發布:2025-03-21 14:31:57 瀏覽:511
中國式家長怎麼換伺服器 發布:2025-03-21 14:21:58 瀏覽:847
腳本守約 發布:2025-03-21 14:20:55 瀏覽:102
安卓手機清理存儲空間會怎麼樣 發布:2025-03-21 14:20:17 瀏覽:26
平板怎麼給照片加密 發布:2025-03-21 14:20:12 瀏覽:1001