linux 自動備份oracle資料:
曾經有www.cppcns.com個同事,來回操作開發和生產的資料庫,結果誤刪了生產的資料庫,那種心情我想不是一般人能理解的,雖然說oracle可以有方法還原,但並不是徹底的。
所以,在工作中,不管是開發還是維護,備份資料庫是非常有必要。
簡單實用的晚間自動備份資料庫小案例
步驟一、建立備份指令碼,暫且命名為orabak.sh
#路徑名,指定備份的路徑
filepath = /oracle/orabak
#根據指定日期格式,定義備份資料庫檔名
filename = `date + %y%m%d_%h%m
#切換至指定路徑,並建立資料夾
cd $filepath
mkdir $filename
chmod 775 $filename
#oracle變數設定
export user=oracle;
export oracle_sid=orcl;
export oracle_home=/oracle/app/oracle/product/11.2.0/dbhome_1;
export path=$oracle_home/bin:$path;
#匯出資料庫 這裡使用了exp 可以根據需要使用expdp
exp scott/tiger@orcl file="$filename ".dmp log="$filename".log owner=scott rows=y
#打包+加壓
cd ..
tar -cf $filename.tar $filename
rm -rf $filename
gzip $filename.tar
exit
eof步驟
二、使用定時指令碼crontab自動呼叫備份指令碼
linux/aix 使用crontab -e命令,再最後一行加入改功能指令碼,例如:
10 12 * * * sh /oracle/orabak/orabak.sh
關於linux下crontab的使用
minuwww.cppcns.comte hqvhbwjgflaour day month dayofweek command
minute - 從0到59的整數
hour - 從0到23的整數
day - 從1到31的整數 (必須是指定月份的有效日期)
month - 從1到12的整數 (或如jan或feb簡寫的月份)
dayofweek - 從0到7的整數,0或7用來描述週日 (或用sun或mon簡寫來表示)
command - 需要執行的命令(可用as ls /proc >> /tmp/proc或 執行自定義指令碼的命令)
&nbwww.cppcns.comsp;
對於以上各語句,星號(*)表示所有可用的值。例如*在指代month時表示每月執行(需要符合其他限制條件)該命令。
整數間的連字型大小(-)表示整數列,例如1-4意思是整數1,2,3,4
指定數值由逗號分開。如:3,4,6,8表示這四個指定整數。
符號「/」指定步進設定。「/」表示步進值。如0-59/2定義每兩分鐘執行一次。步進值也可用星號表示。如*/3用來執行每三個月份執行指定任務。
本文標題: linux 自動備份oracle資料庫詳解
本文位址: /shujuku/oracle/166361.html
Oracle自動備份指令碼(Linux)
之前我在linux crontab有提到第乙個指令碼 bin bash oracle變數設定 export oracle base data oracle export oracle home oracle product 102 export oracle sid sidname export o...
oracle自動備份 Oracle遠端備份
1.在tnsnames.ora新增要遠端備份的主機 如 67 description address list address protocol ipc key extproc0 connect data sid pl tproc presentation ro 2.開啟oracle目錄,拷貝exp...
oracle自動備份
建立乙個批處理檔案,內容如下 exp user password rows y indexes n compress n buffer 65536 file d databackup dmp date 0,10 dmp full y log d databackup log date 0,10 lo...