Linux 自動備份oracle資料庫詳解

2022-09-22 00:09:19 字數 1688 閱讀 9295

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...