oracle如何備份同實例的簡單介紹

Oracle數(shù)據(jù)庫兩個用戶名使用同一表空間如何備份與恢復(fù)?

oracle備份的幾種方法:\x0d\x0a1).導(dǎo)出/導(dǎo)入(EXP/IMP)。\x0d\x0a 2).熱備份。\x0d\x0a 3).冷備份。\x0d\x0a 注釋:導(dǎo)出備件是一種邏輯備份,冷備份和熱備份是物理備份。\x0d\x0a 一、 導(dǎo)出/導(dǎo)入(Export/Import)\x0d\x0a 利用Export可將數(shù)據(jù)從數(shù)據(jù)庫中提取出來,利用Import則可將提取出來的數(shù)據(jù)送回到Oracle數(shù)據(jù)庫中去。\x0d\x0a 1、簡單導(dǎo)出數(shù)據(jù)(Export)和導(dǎo)入數(shù)據(jù)(Import)\x0d\x0a Oracle支持三種方式類型的輸出:\x0d\x0a(1)、表方式(T方式),將指定表的數(shù)據(jù)導(dǎo)出。\x0d\x0aexp amis/amis@amisdb tables= B_S_AGT_LNE_ACCT_H_0714 file=B_S_AGT_LNE_ACCT_H_0714.dmp \x0d\x0aimp odsbdata/odsbdata@amisdb file= B_S_AGT_DEP_ACCT_TDE_H_0714.dmp full=y ignore=y\x0d\x0a (2)、用戶方式(U方式),將指定用戶的所有對象及數(shù)據(jù)導(dǎo)出。\x0d\x0a (3)、全庫方式(Full方式),瘵數(shù)據(jù)庫中的所有對象導(dǎo)出。\x0d\x0a 數(shù)據(jù)導(dǎo)入(Import)的過程是數(shù)據(jù)導(dǎo)出(Export)的逆過程,分別將數(shù)據(jù)文件導(dǎo)入數(shù)據(jù)庫和將數(shù)據(jù)庫數(shù)據(jù)導(dǎo)出到數(shù)據(jù)文件。\x0d\x0a 2、 增量導(dǎo)出/導(dǎo)入\x0d\x0a 增量導(dǎo)出是一種常用的數(shù)據(jù)備份方法,它只能對整個數(shù)據(jù)庫來實施,并且必須作為SYSTEM來導(dǎo)出。導(dǎo)出文件名缺省為export.dmp,如果不希望自己的輸出文件定名為export.dmp,必須在命令行中指出要用的文件名。\x0d\x0a 增量導(dǎo)出包括三種類型:\x0d\x0a (1)、“完全”增量導(dǎo)出(Complete)\x0d\x0a 即備份三個數(shù)據(jù)庫,比如:\x0d\x0a exp system/manager inctype=complete file=040731.dmp\x0d\x0a (2)、“增量型”增量導(dǎo)出\x0d\x0a 備份上一次備份后改變的數(shù)據(jù),比如:\x0d\x0a exp system/manager inctype=incremental file=040731.dmp\x0d\x0a (3)、“累積型”增量導(dǎo)出\x0d\x0a 累計型導(dǎo)出方式是導(dǎo)出自上次“完全”導(dǎo)出之后數(shù)據(jù)庫中變化了的信息。比如:\x0d\x0a exp system/manager inctype=cumulative file=040731.dmp\x0d\x0a 數(shù)據(jù)庫管理員可以排定一個備份日程表,用數(shù)據(jù)導(dǎo)出的三個不同方式合理高效的完成。\x0d\x0a 比如數(shù)據(jù)庫的被封任務(wù)可以做如下安排:\x0d\x0a 星期一:完全備份(A)\x0d\x0a 星期二:增量導(dǎo)出(B)\x0d\x0a 星期三:增量導(dǎo)出(C)\x0d\x0a 星期四:增量導(dǎo)出(D)\x0d\x0a 星期五:累計導(dǎo)出(E)\x0d\x0a 星期六:增量導(dǎo)出(F)\x0d\x0a 星期日:增量導(dǎo)出(G)\x0d\x0a 如果在星期日,數(shù)據(jù)庫遭到意外破壞,數(shù)據(jù)庫管理員可按一下步驟來回復(fù)數(shù)據(jù)庫:\x0d\x0a 第一步:用命令CREATE DATABASE重新生成數(shù)據(jù)庫結(jié)構(gòu);\x0d\x0a 第二步:創(chuàng)建一個足夠大的附加回滾。\x0d\x0a 第三步:完全增量導(dǎo)入A:\x0d\x0a imp system/manager inctype=RESTORE FULL=y FILE=A\x0d\x0a 第四步:累計增量導(dǎo)入E:\x0d\x0a imp system/manager inctype=RESTORE FULL=Y FILE=E\x0d\x0a 第五步:最近增量導(dǎo)入F:\x0d\x0a imp system/manager inctype=RESTORE FULL=Y FILE=F\x0d\x0a二、 冷備份\x0d\x0a 冷備份發(fā)生在數(shù)據(jù)庫已經(jīng)正常關(guān)閉的情況下,當(dāng)正常關(guān)閉時會提供給我們一個完整的數(shù)據(jù)庫。冷備份時將關(guān)鍵性文件拷貝到另外的位置的一種說法。對于備份Oracle信息而言,冷備份時最快和最安全的方法。冷備份的優(yōu)點是:\x0d\x0a 1、 是非??焖俚膫浞莘椒ǎㄖ恍杩轿募‐x0d\x0a 2、 容易歸檔(簡單拷貝即可)\x0d\x0a 3、 容易恢復(fù)到某個時間點上(只需將文件再拷貝回去)\x0d\x0a 4、 能與歸檔方法相結(jié)合,做數(shù)據(jù)庫“最佳狀態(tài)”的恢復(fù)。\x0d\x0a 5、 低度維護,高度安全。\x0d\x0a 但冷備份也有如下不足:\x0d\x0a 1、 單獨使用時,只能提供到“某一時間點上”的恢復(fù)。\x0d\x0a 2、 再實施備份的全過程中,數(shù)據(jù)庫必須要作備份而不能作其他工作。也就是說,在冷備份過程中,數(shù)據(jù)庫必須是關(guān)閉狀態(tài)。\x0d\x0a 3、 若磁盤空間有限,只能拷貝到磁帶等其他外部存儲設(shè)備上,速度會很慢。\x0d\x0a 4、 不能按表或按用戶恢復(fù)。\x0d\x0a 如果可能的話(主要看效率),應(yīng)將信息備份到磁盤上,然后啟動數(shù)據(jù)庫(使用戶可以工作)并將備份的信息拷貝到磁帶上(拷貝的同時,數(shù)據(jù)庫也可以工作)。冷備份中必須拷貝的文件包括:\x0d\x0a 1、 所有數(shù)據(jù)文件\x0d\x0a 2、 所有控制文件\x0d\x0a 3、 所有聯(lián)機REDO LOG文件\x0d\x0a 4、 Init.ora文件(可選)\x0d\x0a 值得注意的使冷備份必須在數(shù)據(jù)庫關(guān)閉的情況下進行,當(dāng)數(shù)據(jù)庫處于打開狀態(tài)時,執(zhí)行數(shù)據(jù)庫文件系統(tǒng)備份是無效的。\x0d\x0a 下面是作冷備份的完整例子。\x0d\x0a (1) 關(guān)閉數(shù)據(jù)庫\x0d\x0a sqlplus /nolog\x0d\x0a sqlconnect /as sysdba\x0d\x0a sqlshutdown normal;\x0d\x0a (2) 用拷貝命令備份全部的時間文件、重做日志文件、控制文件、初始化參數(shù)文件\x0d\x0a sqlcp \x0d\x0a (3) 重啟Oracle數(shù)據(jù)庫\x0d\x0a sqlstartup\x0d\x0a 三、 熱備份\x0d\x0a 熱備份是在數(shù)據(jù)庫運行的情況下,采用archivelog mode方式備份數(shù)據(jù)庫的方法。所以,如果你有昨天夜里的一個冷備份而且又有今天的熱備份文件,在發(fā)生問題時,就可以利用這些資料恢復(fù)更多的信息。熱備份要求數(shù)據(jù)庫在Archivelog方式下操作,并需要大量的檔案空間。一旦數(shù)據(jù)庫運行在archivelog狀態(tài)下,就可以做備份了。熱備份的命令文件由三部分組成:\x0d\x0a 1. 數(shù)據(jù)文件一個表空間一個表空間的備份。\x0d\x0a (1) 設(shè)置表空間為備份狀態(tài)\x0d\x0a (2) 備份表空間的數(shù)據(jù)文件\x0d\x0a (3) 回復(fù)表空間為正常狀態(tài)\x0d\x0a 2. 備份歸檔log文件\x0d\x0a (1) 臨時停止歸檔進程\x0d\x0a (2) log下那些在archive rede log目標(biāo)目錄中的文件\x0d\x0a (3) 重新啟動archive進程\x0d\x0a (4) 備份歸檔的redo log文件\x0d\x0a 3. 用alter database bachup controlfile命令來備份控制文件\x0d\x0a 熱備份的優(yōu)點是:\x0d\x0a 1. 可在表空間或數(shù)據(jù)庫文件級備份,備份的時間短。\x0d\x0a 2. 備份時數(shù)據(jù)庫仍可使用。\x0d\x0a 3. 可達到秒級恢復(fù)(恢復(fù)到某一時間點上)。\x0d\x0a 4. 可對幾乎所有數(shù)據(jù)庫實體做恢復(fù)\x0d\x0a 5. 恢復(fù)是快速的,在大多數(shù)情況下愛數(shù)據(jù)庫仍工作時恢復(fù)。\x0d\x0a 熱備份的不足之處:\x0d\x0a 1. 不能出錯,否則后果不堪設(shè)想。\x0d\x0a 2. 假如熱備份不成功,所得結(jié)果則不能用于時間點的恢復(fù)(scn)。\x0d\x0a如果是全庫一般需要配置一個rman.\x0d\x0aoracle的恢復(fù)方案:\x0d\x0aoracle 恢復(fù)表到以前的某個狀態(tài)\x0d\x0a1.用bda登錄進去\x0d\x0aselect * from sys.smon_scn_time; --scn 與時間的對應(yīng)關(guān)系 \x0d\x0a每隔5分鐘,系統(tǒng)產(chǎn)生一次系統(tǒng)時間標(biāo)記與scn的匹配并存入sys.smon_scn_time表。 \x0d\x0a以下是我在測試機上做了一個測試:\x0d\x0aselect * from table as of scn 3296161275\x0d\x0a\x0d\x0aselect * from table as of scn 3296200982;\x0d\x0a\x0d\x0a然后我們恢復(fù)到這個檢查點。\x0d\x0a以上是oracle的備份和恢復(fù)方案。

為思禮等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及思禮網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站制作、成都做網(wǎng)站、思禮網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

對oracle數(shù)據(jù)庫怎么進行備份?急求解決,謝謝!

Oracle數(shù)據(jù)庫的備份,要根據(jù)以下不同情況去考慮如何進行備份:

1、根據(jù)企業(yè)的業(yè)務(wù)形式 -- 24 x 7 不停機(銀行、通訊等)與每天有一定時間可停機(商場);

2、根據(jù)企業(yè)的數(shù)據(jù)庫規(guī)模 -- 數(shù)據(jù)量的大小可適當(dāng)考慮采用的備份方式;

3、根據(jù)Oracle數(shù)據(jù)庫的運行方式 -- 日志文件歸檔與非歸檔模式。

這里簡單說一下兩種不同情況所采用的備份方法。

1、企業(yè) 24 x 7 是不停機 -- 多數(shù)采用數(shù)據(jù)庫以歸檔模式運行,并以邏輯備份和不完全備份相結(jié)合的方法。而邏輯備份可按系統(tǒng)方式和用戶方式進行備份,而且考慮到備份介質(zhì)的損壞可能性進行單雙日備份。即每種備份留兩套,單日一套雙日一套。

2、企業(yè)業(yè)務(wù)不是全天性的 -- 可采用數(shù)據(jù)庫以非歸檔模式運行,并以物理備份和邏輯備份相結(jié)合的方法。而邏輯備份可按系統(tǒng)方式和用戶方式進行備份,而且考慮到備份介質(zhì)的損壞可能性進行單雙日備份。即每種備份留兩套,單日一套雙日一套。

注:邏輯備份 -- EXP、IMP命令備份;物理備份 -- 關(guān)閉數(shù)據(jù)庫備份所有的系統(tǒng)文件;不完全備份 -- 可脫機一些表空間進行備份(此方法用的少)。

oracle 數(shù)據(jù)庫怎么備份?

1、EXP 備份:也稱 Oracle 邏輯備份,恢復(fù)時需要的停機時間較長,因 IMP 導(dǎo)入恢復(fù)后不能應(yīng)用歸檔日志,所損失的數(shù)據(jù)量較大; 對于大型數(shù)據(jù)庫,EXP 會顯得力不從心。

2、冷備份:也稱 OS 備份,冷備份雖然恢復(fù)起來比較容易,但需要數(shù)據(jù)庫停下來進行備份,備份造成停機時間的較長。而對于商業(yè)應(yīng)用的數(shù)據(jù)庫而言,這段時間恰恰是用來進行數(shù)據(jù)處理的。

3、RMAN(熱備份):可以像冷備份一樣實現(xiàn)數(shù)據(jù)庫的全備份,而且不會影響到數(shù)據(jù)庫的運行。但數(shù)據(jù)庫必須在歸檔模式下運行;且備份文件必須存放在數(shù)據(jù)庫所在服務(wù)器的磁盤上,或者數(shù)據(jù)庫服務(wù)器可以直接訪問的外部設(shè)備上,如磁盤柜、磁帶機等。

4、StandBy 備份:在生產(chǎn)數(shù)據(jù)庫(主數(shù)據(jù)庫)的基礎(chǔ)上,創(chuàng)建一個備用數(shù)據(jù)庫(StandBy數(shù)據(jù)庫),備用數(shù)據(jù)庫實時自動與生產(chǎn)數(shù)據(jù)庫同步。但處于只讀和空閑狀態(tài),不接收用戶連接和業(yè)務(wù)處理。如果生產(chǎn)數(shù)據(jù)庫出現(xiàn)故障,可以立即以主數(shù)據(jù)庫的模式啟動 StandBy數(shù)據(jù)庫,接替生產(chǎn)數(shù)據(jù)庫的工作。采用這種備份方式,故障修復(fù)時間最短,數(shù)據(jù)丟失最少。但缺點是,必須單獨提供 StandBy 數(shù)據(jù)庫服務(wù)器,成本比較高。一般在金融和電信等實時性要求較高的行業(yè)廣泛采用。

oracle 備份

手工備份

單表備份(前提庫的結(jié)構(gòu)是一樣的)

導(dǎo)出:

開始鈕-運行-輸入CMD-進入DOS界面

EXP 用戶名/密碼@連接字符串 GRANTS=Y TABLES=(stu) file=C:\文件名.DMP

導(dǎo)入:

開始鈕-運行-輸入CMD-進入DOS界面

IMP 用戶名/密碼@連接字符串 IGNORE=Y TABLES=(stu) FULL=N file=C:\文件名.DMP

其中stu是你要的表名

全庫導(dǎo)

導(dǎo)出:

開始鈕-運行-輸入CMD-進入DOS界面

EXP 用戶名/密碼@連接字符串 FULL=Y file=C:\文件名.DMP

導(dǎo)入:

開始鈕-運行-輸入CMD-進入DOS界面

IMP 用戶名/密碼@連接字符串 FULL=Y file=C:\文件名.DMP

自動備份

建議一:

利用任務(wù)計劃、批處理文件和ORACLE的EXP導(dǎo)出功能,可以根據(jù)日期自動生成ORACLE備份文件,大大方便了ORACLE數(shù)據(jù)備份。:

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文件,則每周循環(huán)保留一個備份文件,共7個備份文件循環(huán)

2,添加一個任務(wù)計劃

利用任務(wù)計劃向?qū)В鶕?jù)備份策略設(shè)置自動執(zhí)行任務(wù)的時間頻率(例如每天零時),執(zhí)行d:\oracle\backup.bat

3、以后每天將在目錄中生成形如“oracle2005-08-31.dmp和oracle2005-08-31.log”的備份和日志文件。

說明:

1、%date%的值在不同的系統(tǒng)、語言版本下可能是不一樣的,控制面板里面區(qū)域選項的設(shè)定也會改變%date%的值。請先在命令行中測試 echo %date% 的返回值。%date:~4,10% 是返回日期函數(shù),~后的第一個參數(shù)是要截取的起始位置(從0開始),第二個參數(shù)是要截取的長度,如沒有則是截取到最后,參數(shù)可酌情修改。

2、如需要準(zhǔn)確的時間做為文件名,請用%time%函數(shù),參數(shù)同上。

建議二:

@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

放計劃任務(wù)里面定時執(zhí)行,

文件名以日期的day部分來命名

備份后調(diào)用rar進行壓縮

這樣可以保存一個月的歷史數(shù)據(jù)

注意:需要把program files/winrar目錄下的rar.exe拷貝到系統(tǒng)system32目錄下

如果是以星期命名,則需要將set filename=e:\data_bak\%date:~8,2%日修改為

set filename=e:\data_bak\%date:~0,3%

建議三:

以下為ORACLE 自動備份批處理文件內(nèi)容,請配合任務(wù)計劃實現(xiàn)

@ECHO OFF

SET BACKPATH=d:\

ECHO 準(zhǔn)備備份數(shù)據(jù)庫

REM 7天一個循環(huán)

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中定義任務(wù)計劃,就

可以自動執(zhí)行了。

例:

編輯文本文件

del c:\exp\*.dmp

exp userid=cw/cw@db file='c:\exp\*.dmp' tables=(student)

保存成bat文件

建議六:

寫個簡單的批處理文件備份恢復(fù):

備份:

@echo off 不顯示命令行

echo 開始備份表..... 打印信息

D: DOS切換到D: 盤

cd oracle\ora92\bin 切換到cd oracle\ora92\bin目錄

exp 用戶名/密碼@數(shù)據(jù)庫 file=d:\config_bak.dmp tables=(table1,table2) 備份表一表二到d:\config_bak.dmp

echo 備份完畢!

恢復(fù):

@echo off

echo 開始恢復(fù)表.....

D:

cd oracle\ora92\bin

imp 用戶名/密碼@數(shù)據(jù)庫 file=d:\config_bak.dmp tables=(table1,table2) ignore=y

sqlplus /nolog @oraStartup.sqloraStartup.log 調(diào)用sql文件

pause 執(zhí)行完sql文件以后暫停,看信息

echo 恢復(fù)完畢!

編寫oraStartup.sql

conn 用戶名/密碼@數(shù)據(jù)庫 as sysdba

select * from table1;

quit;

執(zhí)行環(huán)境:可以在SQLPLUS.EXE或者DOS(命令行)中執(zhí)行,

DOS中可以執(zhí)行時由于 在oracle 8i 中 安裝目錄\ora81\BIN被設(shè)置為全局路徑,

該目錄下有EXP.EXE與IMP.EXE文件被用來執(zhí)行導(dǎo)入導(dǎo)出。

oracle用java編寫,我想SQLPLUS.EXE、EXP.EXE、IMP.EXE這倆個文件是被包裝后的類文件。

SQLPLUS.EXE調(diào)用EXP.EXE、IMP.EXE他們所包裹的類,完成導(dǎo)入導(dǎo)出功能。

下面介紹的是導(dǎo)入導(dǎo)出的實例,向?qū)雽?dǎo)出看實例基本上就可以完成,因為導(dǎo)入導(dǎo)出很簡單。

數(shù)據(jù)導(dǎo)出:

1 將數(shù)據(jù)庫TEST完全導(dǎo)出,用戶名system 密碼manager 導(dǎo)出到D:\daochu.dmp中

exp system/manager@TEST file=d:\daochu.dmp full=y

2 將數(shù)據(jù)庫中system用戶與sys用戶的表導(dǎo)出

exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)

3 將數(shù)據(jù)庫中的表table1 、table2導(dǎo)出

exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2)

4 將數(shù)據(jù)庫中的表table1中的字段filed1以"00"打頭的數(shù)據(jù)導(dǎo)出

exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"

上面是常用的導(dǎo)出,對于壓縮我不太在意,用winzip把dmp文件可以很好的壓縮。

不過在上面命令后面 加上 compress=y 就可以了

數(shù)據(jù)的導(dǎo)入

1 將D:\daochu.dmp 中的數(shù)據(jù)導(dǎo)入 TEST數(shù)據(jù)庫中。

imp system/manager@TEST file=d:\daochu.dmp

上面可能有點問題,因為有的表已經(jīng)存在,然后它就報錯,對該表就不進行導(dǎo)入。

在后面加上 ignore=y 就可以了。

2 將d:\daochu.dmp中的表table1 導(dǎo)入

imp system/manager@TEST file=d:\daochu.dmp tables=(table1)

導(dǎo)入

基本上上面的導(dǎo)入導(dǎo)出夠用了。不少情況我是將表徹底刪除,然后導(dǎo)入。

怎么從oracle數(shù)據(jù)庫備份數(shù)據(jù)庫

1、首先先確認oracle服務(wù)器上oracle中標(biāo)紅的相關(guān)的服務(wù)是否已經(jīng)正常啟動。

2、然后要把PLSQL關(guān)閉,讓連接先退出一下,確保斷開數(shù)據(jù)庫的所有連接,如果數(shù)據(jù)庫中有正在連接客戶端,備份的時候可能會出現(xiàn)異常。

3、接著打開cmd命令提示符窗口,輸入備份數(shù)據(jù)庫的命令,xp命令的后面跟用戶名和密碼,file是備份的路徑,owner則是數(shù)據(jù)庫的用戶名,按下回車鍵等待備份。

4、耐心等待。當(dāng)數(shù)據(jù)完成導(dǎo)出之后,cmd窗口中會出現(xiàn)的提示語,這就表示已經(jīng)完成了數(shù)據(jù)庫備份導(dǎo)出的動作。

5、這時候在計算機中找到第四步中設(shè)定的文件保存路徑,如下截圖,你會發(fā)現(xiàn)多了一個dmp的文件,這個文件就是我們需要的備份文件了。

Oracle 備份的方法有哪些?

我們?yōu)镺racle 10g制定的夜間備份策略9步是: 1、刪除舊的日志文件并重命名當(dāng)前的日志2、刪除所有RMAN備份文件3、執(zhí)行一個0級RMAN備份4、創(chuàng)建克隆文件5、創(chuàng)建歸檔日志備份,包括恢復(fù)目錄內(nèi)務(wù)6、刪除數(shù)據(jù)泵導(dǎo)出文件7、執(zhí)行數(shù)據(jù)泵導(dǎo)出8、檢查日志錯誤9、廣播和/或發(fā)送簡短錯誤描述的電子郵件1、刪除舊日志文件并重命名當(dāng)前的日志這是每天都要執(zhí)行的,為所有的腳本創(chuàng)建一個日志文件是很好的實踐,在步驟8中,我檢查所有日志錯誤,因此重命名了當(dāng)前日志,當(dāng)它們被重命名后,就很容易參考舊的作業(yè)分辨出錯誤了,這些所有需要刪除的最終是為了不引起空間問題。代碼清單1:qgrep -l rman D:Oracleadmincommonbackuplogs* %LOGFILE%del /Q D:Oracleadmincommonbackuplogs*.oldlog3 %LOGFILE%ren D:Oracleadmincommonbackuplogs*.oldlog2 *.oldlog3 %LOGFILE%ren D:Oracleadmincommonbackuplogs*.oldlog1 *.oldlog2 %LOGFILE%ren D:Oracleadmincommonbackuplogs*.log *.oldlog1 %LOGFILE%提示:盡力自動清除日志文件,要記住這些命令是不容易的。2、刪除所有RMAN備份文件這僅需要在0級RMAN備份之前執(zhí)行一次,我們的RMAN備份在X:驅(qū)動器上執(zhí)行,正確地說是X:RMAN。我們估算這個驅(qū)動器可以容納下我們的0級備份、歸檔日志、歸檔日志備份和數(shù)據(jù)泵導(dǎo)出文件。每周清除一次RMAN文件基本上可以保證驅(qū)動器上有足夠的空間存儲下一周的備份。代碼清單2:# Running these commands will show the files that will be deleted in the next step.FORFILES /p x:rman /m *.bks /d -0 /c "CMD /C echo @PATH@FILE @FDATE.@FTIME" %logfile%FORFILES /p x:rman /m *cfile* /d -0 /c "CMD /C echo@PATH@FILE @FDATE.@FTIME" %logfile%# These commands perform the actual deletion.FORFILES /p x:rman /d -0 /c "CMD /C del *.bks" %logfile%FORFILES /p x:rman /d-0 /c "CMD /C del *cfile*" %logfile%提示:一定要自動刪除磁盤上的大文件。在一個不恰當(dāng)?shù)臅r間刪除你將用光磁盤空間。X因子X:驅(qū)動器是這個備份的關(guān)鍵部分,我們定期在其他服務(wù)器或交替節(jié)點上克隆我們的生產(chǎn)數(shù)據(jù)庫進行測試和開發(fā)。RMAN喜歡從它們的備份中獲取它的文件,最簡單的方法就是備份到磁帶上,這種方法與你在服務(wù)器上執(zhí)行克隆沒什么區(qū)別,當(dāng)你告訴RMAN你的目標(biāo)數(shù)據(jù)庫,它就直接為它需要的文件轉(zhuǎn)到介質(zhì)管理層(MML),我們使用磁帶的問題是磁帶不可靠或磁帶驅(qū)動不可靠,我們的解決辦法是備份到磁盤上,問題是它將中服務(wù)器相同的驅(qū)動器映射中來回地復(fù)制文件,我們需要做的是映射一個SAN驅(qū)動器到我們的生產(chǎn)服務(wù)器上,然后在啟動時將我們的測試服務(wù)器映射到同一個SAN驅(qū)動器,我們可以在服務(wù)器命令行使用一個命令來完成這個任務(wù),我們可以通過使用一個來自Windows資源套件中叫做AutoExNT的服務(wù)來解決這個問題,它允許我們在啟動時運行一個批處理文件,我們可以將命令放在那里,現(xiàn)在生產(chǎn)和測試服務(wù)器都映射到同一個X:驅(qū)動器。X文件因子AutoExNT只能工作在32位服務(wù)器上,當(dāng)你有64位服務(wù)器時問題就來了,不幸的是,Windows資源套件對64位服務(wù)器無效,因此無法使用AutoExNT,幸運的是,我們可以說服我們的開發(fā)人員在64位Windows上創(chuàng)建一個“啟動”服務(wù),讓它與AutoExNT服務(wù)一樣,無論怎樣,我們讓批處理文件在服務(wù)器啟動時執(zhí)行。3、執(zhí)行一個0級RMAN備份這一步通常每周執(zhí)行一次,我們有一些更大、更活動的數(shù)據(jù)庫創(chuàng)建的數(shù)量巨大的歸檔日志,在恢復(fù)或克隆時,恢復(fù)數(shù)據(jù)庫的時間將很長,在這些情況下,我們在一周內(nèi)將不止執(zhí)行一次0級備份,在0級RMAN備份中,我們執(zhí)行非恢復(fù)目錄維護,腳本叫做DBname_lvl_0_disk.rcv。代碼清單3:#************* Configure controls for Recovery Manager *******************#***************** in case they have been changed ************************configure controlfile autobackup on;configure controlfile autobackup format for device type disk to 'X:rmanCFILE_%F.bks';configure channel 1 device type disk format 'X:rmanBACKUPPIECE_%d_%U_%T_%s.bks' maxpiecesize 2048M;configure retention policy to recovery window of 34 days;#************* Perform weekly RMAN level 0 Database Backup ***************backup as compressed backupset incremental level = 0 database;#************* Confirm level 0 Backup is valid ***************************restore database check logical validate;第一個命令配置RMAN讓控制文件和spfile自動備份,第二個命令指定RMAN用一種特定的格式給文件命名,本例中,備份到磁盤上的文件叫做“X:rmanCFILE_F%.bks”,第三個命令創(chuàng)建一個磁盤通道并命名為“1”,命名備份片“X:rmanBACKUPPICE_%d_%U_%T_%s.bks”以及任何一個備份片的大小不能超過2GB,第四個命令告訴恢復(fù)目錄目標(biāo)數(shù)據(jù)庫的備份應(yīng)該保留34天,第五個命令才是真正的執(zhí)行備份,它告訴RMAN創(chuàng)建一個壓縮的備份集,它真正可以容納更多的備份片,它還指定了僅對數(shù)據(jù)庫執(zhí)行一個完整備份,沒有備份歸檔日志,因為存儲是最主要的問題,壓縮備份對節(jié)省空間真正的有幫助,我們發(fā)現(xiàn)這是RMAN最有用的特性之一,最后一行的命令執(zhí)行已經(jīng)完成的備份檢查,它讀取備份文件并確認它們沒有被破壞,我強烈建議不要跳過這一步,沒有什么比在需要恢復(fù)一個數(shù)據(jù)庫時發(fā)現(xiàn)一個或更多的文件不可用更糟糕的了。提示:只有當(dāng)備份文件確認有效后你才可以使用它們,是的,事情就是這樣!我已經(jīng)試過多次在備份完成后但檢查確認未完成之前的實驗了。我使用一個Windows批處理文件調(diào)用RMAN 0級備份腳本,這個批處理文件叫做DBname_lvl_0_disk.bat。代碼清單4:set NLS_DATE_FORMAT=DD-MON-YYYY HH24:MI:SSset NLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252set CURDIR=D:Oracleadmincommonbackupcd %CURDIR%rman target ID/pword@DBname catalog rcatID/rcatpword@rcatname log=logsDBname_lvl_0_disk.log @DBname_lvl_0_disk.rcvpage_on_backup.vbs DBname_level_0_disk.log page_DBname_level_0.log Dbname最前面兩行設(shè)置操作系統(tǒng)的環(huán)境變量,我們更喜歡詳細一點的日期掩碼,05-DEC-2007 23:59:59"比"05-DEC-2007"好,日期格式在恢復(fù)過程中變得更重要了,設(shè)置NLS_LANG變量,移除所有數(shù)據(jù)庫正在使用的字符設(shè)置疑惑,第三和第四行對于使用計劃任務(wù)而言是很重要的,Windows需要直接指定RMAN腳本的位置,因此設(shè)置好目錄并將腳本移動到那里,接下來,才真正的調(diào)用RMAN,需要同時登陸到target和catalog,在當(dāng)前目錄下一個獨立的叫做“l(fā)ogs”的子目錄下創(chuàng)建一個日志文件,以及調(diào)用列表4中的腳本代碼,如果出現(xiàn)任何錯誤,一個VB腳本被調(diào)用呼叫支持人員,如果不出現(xiàn)錯誤,那么只會發(fā)送一封日志文件的電子郵件,在第9小節(jié)會有更多細節(jié)信息。4、 創(chuàng)建克隆文件這是用RMAN備份自動“刷新”測試數(shù)據(jù)庫最關(guān)鍵的一步,克隆文件批處理作業(yè)實際上創(chuàng)建了“復(fù)制數(shù)據(jù)庫”語句,我們使用它克隆我們的生產(chǎn)數(shù)據(jù)庫到我們的測試數(shù)據(jù)庫上,下面是一個叫做create_TESTDB_clone_files.sql的在生產(chǎn)服務(wù)器上運行的SQL腳本文件。代碼清單5: set echo off;set feedback off;set linesize 140;SET PAGESIZE 0;set trimspool on;ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MON-DD HH24:MI:SS';select checkpoint_change# from v$database;alter system archive log current;select sysdate from dual;-- ***********************************************************************-- ***********************************************************************-- ***********************************************************************-- ******************************* TESTDBSERVER **************************-- ******************************* TESTDBSERVER **************************-- ******************************* TESTDBSERVER **************************-- ***********************************************************************-- ***********************************************************************-- ***********************************************************************--TESTDB1spool TESTDBSERVERd$Oracleadmincommoncloneclone_to_TETSTDB1.rcvselect 'duplicate target database to TESTDB1 until time ' ||''''|| sysdate ||''';' from dual;spool off;--TESTDB2spool TESTDBSERVERd$Oracleadmincommoncloneclone_to_TETSTDB2.rcvselect 'duplicate target database to TESTDB2until time ' ||''''|| sysdate ||''';' from dual;spool off;--TESTDB3spool TESTDBSERVERd$Oracleadmincommoncloneclone_to_TETSTDB3.rcvselect 'duplicate target database to TESTDB23until time ' ||''''|| sysdate ||''';' from dual;spool off;-- ***********************************************************************-- ***********************************************************************-- ***********************************************************************-- ********************************* THE END *****************************-- ********************************* THE END *****************************-- ***********************************************************************-- ***********************************************************************-- ***********************************************************************alter system archive log current;select sysdate from dual;select checkpoint_change# from v$database;select sysdate from dual;exit;這個腳本在生產(chǎn)服務(wù)器上運行,spool輸出到測試服務(wù)器,首先你注意的是NLS_DATE_FORMAT設(shè)置,與0級備份時設(shè)置方法一樣;接下來,你看到我們已經(jīng)選擇了系統(tǒng)改變序號或SCN,數(shù)據(jù)庫也可以通過使用SCN克隆和/或恢復(fù),我們不再使用SCN進行數(shù)據(jù)庫復(fù)制,我們不取消這一步是因為我們想查看日志文件中的SCN,假設(shè)在一個生產(chǎn)恢復(fù)情景下,SCN在一個額外的位置是可用的,在接下來的語句中,我們對當(dāng)前的重做日志進行歸檔,我們從Oracle 8i開始就已經(jīng)執(zhí)行過了RMAN復(fù)制,但日志方面總有問題,這是唯一可以確定的最好的方法,我們每次都這樣使用;接下來,我們選擇sysdate,我們想在SCN下查看它,向下移動到spool語句,你看到一個為TESTDBSERVER編寫的名叫clone_to_TESTDB.rcv的RMAN腳本,只有一行:代碼清單6:duplicate target database to TESTDB1 until time '2007-DEC-05 19:55:00';你可以在你的測試數(shù)據(jù)庫服務(wù)器上為每個測試數(shù)據(jù)庫單獨編寫一個克隆腳本,正如你看到的,這就是我們所做的,我們有一部分生產(chǎn)數(shù)據(jù)庫服務(wù)器不止安裝有一個生產(chǎn)數(shù)據(jù)庫,對那些我們有兩個腳本,在每個生產(chǎn)數(shù)據(jù)庫上為測試數(shù)據(jù)庫創(chuàng)建一個克隆腳本。代碼清單7:set NLS_DATE_FORMAT=DD-MON-YYYY HH24:MI:SSset NLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252set CURDIR=D:Oracleadmincommonbatchcd %CURDIR%sqlplus system/pword@DBNAME @create_TESTDB_clone_files.sql logscreate_TESTDB_clone_files.log這個腳本的批處理文件非常簡單,最前面的兩行設(shè)置你的環(huán)境變量,第三和第四行用于任務(wù)調(diào)度,非常重要,windows需要直接指定SQL腳本的位置,因此需要設(shè)置好目錄后,將腳本移動到目錄中,接下來,SQLplus才真正被調(diào)用和運行腳本以創(chuàng)建克隆文件,在當(dāng)前目錄下的一個叫做logs的子目錄中單獨生成了一個日志文件。

網(wǎng)站標(biāo)題:oracle如何備份同實例的簡單介紹
網(wǎng)站網(wǎng)址:http://www.muchs.cn/article38/hhoosp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、微信小程序、網(wǎng)站排名、App設(shè)計定制開發(fā)、網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化