日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

oracle 备份

發布時間:2023/11/28 生活经验 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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:\daochu.dmp中 exp system/manager@TEST file=d:\daochu.dmp full=y 2 將數據庫中system用戶與sys用戶的表導出 exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys) 3 將數據庫中的表table1 、table2導出 exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2) 4 將數據庫中的表table1中的字段filed1以"00"打頭的數據導出 exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\" 上面是常用的導出,對于壓縮我不太在意,用winzip把dmp文件可以很好的壓縮。 不過在上面命令后面 加上 compress=y 就可以了 數據的導入 1 將D:\daochu.dmp 中的數據導入 TEST數據庫中。 imp system/manager@TEST file=d:\daochu.dmp 上面可能有點問題,因為有的表已經存在,然后它就報錯,對該表就不進行導入。 在后面加上 ignore=y 就可以了。 2 將d:\daochu.dmp中的表table1 導入 imp system/manager@TEST file=d:\daochu.dmp tables=(table1) 
導入 基本上上面的導入導出夠用了。不少情況我是將表徹底刪除,然后導入。
追問
怎么設置歸檔模式,用歸檔日志怎么還原數據庫可以一起介紹下么  本人菜鳥
回答
a.查看是處于什么模式 
select   log_mode   from   v$database; 
如果是非歸檔模式則成:NOARCHIVELOG 
如果不是歸檔模式(Archive)則可以通過以下方法改成歸檔模式 
b.改變歸檔模式 
1.SQL>   shutdown   immediate; 
2.SQL>   startup   mount; 
3.SQL> alter   database   archivelog; 
4.SQL> alter   database   open; 
現在已經改成歸檔模式了 恢復1.使用命令“svrmgrl”調用行方式服務器管理;2.輸入命令“connect internal”,然后輸入命令“startup mount’;3.輸入命令“recover database;”4.按下ENTER,接受默認值。5.然后輸入命令“alter database open;”完成數據庫恢復。
轉自:http://zhidao.baidu.com/question/229430018.html?loc_ans=625835870

總結

以上是生活随笔為你收集整理的oracle 备份的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。