當前位置:首頁 » 文件管理 » rman壓縮

rman壓縮

發布時間: 2022-10-16 22:51:09

⑴ 如何在RMAN run腳本里指定壓縮方式備份

先定義好備份的過期策略,然後有兩種方法。 1、可以使用Schele backup。 2、自己寫腳本,並且使用操作系統上的定時任務,定期執行刪除腳本。

⑵ RMAN中設置中等壓縮的語句是什麼

2種壓縮方式,分別是
RMAN> CONFIGURE COMPRESSION ALGORITHM 『BZIP2′; //這個是默認壓縮方式

RMAN> CONFIGURE COMPRESSION ALGORITHM 『ZLIB』;

兩種壓縮演算法中,bzip2的壓縮率比zlib高,但是壓縮速度比zlib慢

⑶ rman恢復的資料庫datafile文件比原資料庫備份文件要大,為什麼

由於默認情況下資料庫初始化參數COMPITABLE為空,或不符合其他條件導致UNUSED BLOCK COMPRESSION壓縮類型無法在RMAN中使用到,所以凡是曾經使用到的數據塊RMAN都會進行備份(NULL COMPRESSION),80GB可能是客戶曾經用到過的空間大小,後來釋放了相應空間,所以當前備份才呈現出40GB的資料庫RMAN備份出來有80GB。

⑷ oracle9i rman可以壓縮備份嗎

可以壓縮備份

⑸ 請高手解答下:如何把oracle資料庫備份成壓縮包的形式

用 rman 可以備份成壓縮包的形式
冷備後用系統自帶或第三方的壓縮工具通過定時作業控制, 也可以.

⑹ rman備份報錯 ORA-19510 ORA-17505 ORA-15041

必要採取如下兩個步驟來保證今後的備份空間和備份完整性:

1、為了保證備份的完整性,有必要進行重新全備份。雖然list backup方式現顯示備份為AVAILABLE,但是空間不足導致的備份日誌總是讓人放不下心;
2、如果備份存放空間確實緊張,則可以採用Rman的壓縮備份參數 AS COMPRESSED BACKUPSET:
backup AS COMPRESSED BACKUPSET database plus archivelog delete all input;另外,如下刪除歸檔日誌的參數也值得記錄一下了:
RMAN>delete archivelog until time 'sysdate-7';--刪除7天前的無用的歸檔日誌
RMAN> crosscheck archivelog all;
RMAN> delete noprompt expired archivelog all;

⑺ 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)
導入
基本上上面的導入導出夠用了。不少情況我是將表徹底刪除,然後導入。

⑻ rman備份後的備份文件太大,怎麼優化

rman自帶特有的壓縮模式,文件在備份時被壓縮過了,感覺文件大小還好啊。如果感覺不好,可以試試第三方工具「多備份」oracle客戶端模式備份,壓縮的文件也還不錯

熱點內容
華為電腦伺服器系統進不去提示 發布:2024-10-08 00:13:42 瀏覽:490
登錄密碼如何獲取 發布:2024-10-07 23:58:40 瀏覽:424
王者榮耀人機腳本 發布:2024-10-07 23:58:33 瀏覽:807
地標建築腳本 發布:2024-10-07 23:48:51 瀏覽:242
sqlorderby 發布:2024-10-07 23:42:13 瀏覽:958
qq秒源碼 發布:2024-10-07 23:41:37 瀏覽:471
51單片機編譯器 發布:2024-10-07 23:28:04 瀏覽:798
安卓手機陌陌封設備了怎麼搞 發布:2024-10-07 23:17:00 瀏覽:180
sql管理系統代碼 發布:2024-10-07 23:00:51 瀏覽:524
安卓什麼瀏覽器可以打開 發布:2024-10-07 23:00:51 瀏覽:121