LinuxのOracleデータベースが自動的にバックアップ

1.へのバックアップサーバー上のディレクトリ、および所与の許可を作成し
ます。mkdir -p /バックアップ/ P_DATA 
#新しいシェルスクリプトの格納パス
ます。mkdir -p /バックアップ/ P_DB_BACK#新しいOracleデータベースのバックアップディレクトリ
をchownの-Rオラクル:oinstallを/バックアップ/ P_DATA# 設定されたディレクトリユーザグループのoinstallをoracleユーザー権限(Oracleデータベースのインストール時に、ユーザーのOracle oinstallグループをユーザに提供される)
のchown -R&LTオラクル:oinstallを/バックアップ/用P_DB_BACK

2.バックアップスクリプト
/backup/P_DATA/P_DB_BAK.sh#新しいファイルVI

#!/ binに/ SH ORACLE情報は.bash_profileので見ることができます

エコー「バックアップスクリプトが開始...」#プリントバックアップスケジュール
のエクスポートORACLE_SID = ORCL
エクスポートORACLE_BASE = /ホーム/オラクル/アプリケーション/オラクル

輸出ORACLE_HOME = $ ORACLE_BASE /製品/ 11.2.0 / dbhome_1

輸出PATH = $ ORACLE_HOME / binに:$ HOME / binに:$ PATHの
輸出LD_LIBRARY_PATH = $ ORACLE_HOME / libに:/ libに:は/ usr / libに

輸出LANG = EN_US.UTF-8
輸出NLS_LANG = AMERICAN_AMERICA.UTF8


#上記のコードでは、Oracleデータベース・アカウントOracleシステム環境変数の設定を実行している、自分のインストールに応じてパス環境を変更し、あなたが追加する必要があり、そうでない場合はcrontabの計画タスクを実行することはできません。

#oracle情報

dateTime = `日付+%Y_% M_%D '# 現在のシステム時刻
日= 5#5日間のバックアップデータを削除する前
orsid = '127.0.0.1:1521 / ORCL'
#oralce接続情報
orowner = dbUserの
下#バックアップユーザデータは
bakuser = dbUserの
#バックアップを実行するには、このユーザーを使用して、バックアップ操作が許可持っている必要があります
bakpass = dbPwd#ユーザーパスワード実行メモ
= /バックアップ/ P_DB_BACKのbakdir
#バックアップファイルのパスが作成された
「_」bakdata = $ orownerをdateTime.dmp $
#バックアップデータベース名
baklog = $ orowner "_" $ dateTime.log
実行時間#バックアップログファイルに生成された名前
ordatabak = $ orowner "_" $ dateTime.tar.gz
#最後に保存されたOracleデータベースのバックアップファイルの
CD $ bakdir

エコー「今、データのバックアップ...」

EXP $ bakuser / $ bakpass @ $ orsid助成金= yの所有者= $ orownerファイル= $ bakdir / $ bakdataログイン= $ bakdir / $ baklog#执行备份

エコー「データバックアップ終了...」

エコーは、「今バックアップデータを圧縮し始めます...」

ordatabak $ bakdata -zcvf $タール$ baklog
#圧縮バックアップファイルとログファイル

エコー「バックアップデータの圧縮端...」

エコーは、「削除バックアップデータが...開始します」

"-name $ bakdir / -type F見つけ -execのrm {} \ .logに*";# バックアップファイルを削除して
検索する$ bakdir / -name F型"* .DMP" RM -exec {} \;
は、ログファイルを削除
$ bakdir / -type F -name "を見つける * .tar.gzを" -mtime + $日-exec -rf {} \ RMを、# 5日間のバックアップを削除する前に(注:{} \中間空間を)

エコー「削除バックアップデータ終了...」

エコー「完成バックアップ...」

#あなたは、コードのアップロードを入力しない場合は、リモート・サーバにバックアップファイルをアップロードしてご覧下さい   http://www.linuxidc.com/Linux/2017-11/148506.htm

:!Wqとは、保存して終了

スクリプトの実行権限を追加します。3.

chmodの+ X /backup/P_DATA/P_DB_BAK.sh#スクリプトの実行権限を追加します。

4.編集タスクシステムの実施計画

crontabの-eは、
以下の情報を入力します。
00#03 * * * /backup/P_DATA/P_DB_BAK.sh毎日3:00 P_DB_BAK.shバックアップファイルを実行するoracleユーザーへ
:!保存WQ#と終了を

5.再起動のcrontab

サービスcrondを再起動
三時システムからは、自動的に指定したパスの下で圧縮され、リモートサーバにアップロードされたデータベースの日次バックアップを完了します!

以下は、非注釈付きのスクリプトファイルであります

#oracle情報

 エコーは、「バックアップスクリプトを開始し...」

輸出ORACLE_SID = ORCL1
 輸出ORACLE_BASE = /オラクル/アプリの
 輸出ORACLE_HOME = /オラクル/アプリ/ 110204
 輸出LD_LIBRARY_PATH = $ LD_LIBRARY_PATH:$ ORACLE_HOME / libに:/ libに:は/ usr / libに:は/ usr / local / libにの
 輸出PATH = $ ORACLE_HOME / binに:/ binにします。/ usr / binにします。/ usr / sbinに:は/ usr / local /ビン:/オラクル/グリッド/ binに

 輸出LANG = EN_US.UTF-8
 輸出NLS_LANG = "AMERICAN_AMERICA" .AL32UTF8

 dateTimeに= `日付+%Y_%M_%D '
 日= 5
 orsid = 'IPアドレス:ポート/ ORCL'
 orowner = DBUSER
 bakuser = DBUSER
 bakpass = dbpwd
 bakdir = /バックアップ/ WMS_DB_BACK
 bakdata = $ orowner "_" $ dateTime.dmp
 baklog = $ orowner "_" $ dateTime.log
 ordatabak = $ orowner "_" $ dateTime.tar.gz
 CD $ bakdir

 エコー「今、データのバックアップ...」

EXP $ bakuser / $ bakpass @ $ orsid助成金= yの所有者= $ orownerファイル= $ bakdir / $ bakdataログイン= $ bakdir / $ baklog

 エコー「データバックアップ終了...」

エコーは、「今バックアップデータを圧縮し始めます...」

レベル-shchwfa $ Ordtbk $ Bkdt $ Bclog

エコー「バックアップデータの圧縮端...」

エコーは、「削除バックアップデータが...開始します」

\ $ bakdir / -type F -name "* .logの" -execのrm {}見つけます。
 \ $ bakdir / -type F -name "* .DMP" -execのrm {}見つけます。
 見つける$ bakdir / -type F -name "* .tar.gzを" -mtime + $日-execのrm -rf {} \;

エコー「削除バックアップデータ終了...」

エコー「完成バックアップ...」

/ホーム/オラクル/ app / oracleは

おすすめ

転載: www.cnblogs.com/mrcln/p/12023633.html