LinuxではスクリプトによりOracleデータベースを自動バックアップし、指定された日数前のバックアップを削除します。


説明:
Oracleデータベースサーバ
オペレーティングシステム:CentOS
IP:192.168.0.198
ポート:1521
SID:orcl
Oracleデータベースバージョン:Oracle 11 gR 2
具体的な操作:
1、rootユーザー登録サーバ
mkdir-p/backup/oracledata葃新規Oracleデータベースバックアップディレクトリ
chown-R oracle:oistall/backup/oracledata-R龛設定ディレクトリ権限はoistallユーザーグループのoracleユーザです(ユーザoracleとユーザグループoictallはOracleデータベースをインストールする時に設定されます)
システムビジョンwwww.osyunwei.com暖かいご注意:qihang 01オリジナルコンテンツの著作権はすべて、転載は出所と原文のリンクを明記してください。
2、Oracleデータベースのバックアップスクリプトを新規作成します。
vi/backup/oracledata/ordatabak.sh嗵新ファイルは、以下のコードを入力します。

#!/bin/sh
export ORACLE_BASE=/data/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_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
上記のコードはOracleデータベースでアカウントoracleを実行するシステム環境変数の設定で、追加しなければなりません。そうでないと、Crontabタスク計画は実行できません。
󑧙oracleユーザーのシステム環境変数経路:/home/oracle/.bash_profile
date=`date+%Yu%mud`。   #システムの現在の日付時間を取得します。
days=7  #7日間前のバックアップファイルの削除を設定します。
orsid=`192.168.0.198:1521/orcl`。  #OracleデータベースサーバIP、ポート、SID
オロwner=OYUNWEI  #このユーザの下のデータをバックアップします。
bakuser=OYUNWEI  #このユーザでバックアップを実行するには、バックアップの権限が必要です。
bakpass=OYUNWEI  #コメントを実行するユーザパスワード
bakdir=/backup/oracledata  #ファイルパスをバックアップするには、事前に作成する必要があります。
bakdata=$orwner"u"date.dmp菗バックアップデータベース名
baklog=$orwner"u"date.log钻バックアップ実行時に生成したログファイル名
ordatabak=$オロワーナー"u"date.tar.gz〓最後に保存したOracleデータベースのバックアップファイル
cd$bakdir钻はバックアップディレクトリに入ります。
mkdir-p$Oracleのバックアップが必要なユーザーによってカタログを作成します。
cd$ロロワーナーがディレクトリに入る
exp$bakuser/$bakpass@$orsid grants=y owner file=$bakdir/$orkdata logr=$bakdir/$
tar-zcvf$ordatabak$bakdata  $baklog  #バックアップファイルとログファイルを圧縮する
find$bakdir/$rowner  -type f-name"*.log"-exec rm{};バックアップファイルを削除
find$bakdir/$rowner  -type f-name"*.dmp"-exec rm{};ログファイルを削除
find$bakdir/$rowner  -type f-name"*.tar.gz"-mtime+$days-execm-rf{};  #7日前のバックアップを削除します。
:wq菗保存退出
chmod+x/backup/oracledata/ordatabak.sh   #スクリプト実行権限を追加
3、vi/etc/crontab  #システムタスク計画を編集し、次のコードを最後の行に追加します。
30 2****oracle  /backup/oracledata/ordatabak.sh  #毎日午前2時30分にoracleユーザーでordatabak.shバックアップファイルを実行します。
:wq!萶終了を保存
service crond retart↉再起動crond
毎日午前2時30分に、自動的にデータベースをバックアップします。/backup/oracledata/OYUNWEIディレクトリには、.tar.gz圧縮ファイルとして保存し、7日前のバックアップを削除します。つまり、最近7日間のデータだけを残します。
備考:上記のコードは全部英語の半角状態で入力します。
これで、LinuxではOracleデータベースを自動バックアップし、指定日数前のバックアップチュートリアルを削除します。