指令碼自動備份Oracle資料庫

2021-10-01 16:37:31 字數 1643 閱讀 2697

#!/bin/sh

export oracle_home=

$oracle_base/product/11.2.0/dbhome_1

export oracle_sid=orcl

export oracle_term=xterm

export path=

$oracle_home/bin:/usr/sbin:$path

export ld_library_path=

$oracle_home/lib:/lib:/usr/lib

export lang=c

export nls_lang=american_america.zhs16gbk

#獲取系統當前日期時間

date=

$(date

"+%y-%m-%d"

)

#oracle資料庫伺服器ip、埠、sid

orsid=127.0.0.1:1521/orcl

#刪除15天前的備份資料

days=15

#備份此使用者下面的資料

orowner=test

#用此使用者來執行備份,必須要有備份操作的許可權

bakuser=test

#執行備份的使用者密碼

bakpass=test

#備份檔案路徑,需要提前建立好

bakdir=/mountssd/oracle/db_backup

#備份資料庫名稱

bakdata=

$orowner

"_"$date.dmp

#備份執行時候生成的日誌檔名稱

baklog=

$orowner

"_"$date.log

#最後儲存的oracle資料庫備份檔案

ordatabak=

$orowner

"_"$date.tar.gz

#進入備份目錄

cd$bakdir

#按需要備份的oracle使用者建立目錄

mkdir -p $orowner

#進入目錄

cd$orowner

exp $bakuser/$bakpass@

$orsid grants=y owner=

$orowner

#執行備份

file=

$bakdir/$orowner/$bakdata log=

$bakdir/$orowner/$baklog

#壓縮備份檔案和日誌檔案

tar -zcvf $ordatabak

$bakdata

$baklog

#刪除備份檔案

find

$bakdir/$orowner -type f -name "*.log" -exec rm

\;#刪除日誌檔案

find

$bakdir/$orowner -type f -name "*.dmp" -exec rm

\;#刪除days天前的備份(注意:{} \中間有空格)

find

$bakdir/$orowner -type f -name "*.tar.gz" -mtime +$days -exec rm -rf \;

Oracle資料庫備份指令碼

rem oracle資料庫備份指令碼 rem 1 提供兩種備份模式 exp,exp dp rem 2 提供資料壓縮功能 rem 3 提供將備份檔案拷貝到遠端目錄功能 rem 4 提供異常處理功能 echo off title 資料庫名稱 備份 date time setremote path ip ...

自動備份Oracle資料庫

相信為數不少的系統管理員每天都在做著同一樣的工作 對資料進行備份。一旦哪一天疏忽了,而這一天系統又恰恰發生了故障,需要進行資料恢復,那麼此時就無能為力了。假如每天設定乙個固定的時間,系統自動進行備份,那該多好啊!下面筆者結合實踐經驗,談一談unix環境下oracle資料庫的自動備份,以起到拋磚引玉的...

自動備份Oracle資料庫

自動備份oracle資料庫 摘自 賽迪網 相信為數不少的系統管理員每天都在做著同一樣的工作 對資料進行備份。一旦哪一天疏忽了,而這一天系統又恰恰發生了故障,需要進行資料恢復,那麼此時就無能為力了。假如每天設定乙個固定的時間,系統自動進行備份,那該多好啊!下面筆者結合實踐經驗,談一談unix環境下or...