redhat下通過rman自動備份db!

warehouse發表於2008-08-02

僅僅是思路和過程,根據自己的需求調整:

1 cp /home/oracle/.bash_profile dbbak.sh

之所以要拷貝這個檔案,是因為它是oracle使用者的環境變數檔案,裡面包含了oracle使用者所需要的所有環境變數

2. 在dbbak.sh檔案中加入如下語句:

rman target sys/password@tns cmdfile=/home/oracle/dbbak.sql

3. 編寫dbbak.sql如下:

backup tablespace 'TEST';這裡只是用來測試!

4. chmod +x dbbak.sh

5. 利用crontab來呼叫dbbak.sh指令碼實現自動備份db,假如想每天晚上21:38分自動備份db,那麼可以通過crontab -e來編輯root使用者的自動定時任務:

[root@xys oracle]# crontab -l
# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/crontab.3386 installed on Sat Aug 2 21:36:35 2008)
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
38 21 * * * /home/oracle/dbbak.sh

6. 有關crontab的使用可以參考

http://blog.chinaunix.net/u/31547/showart_438018.html

[@more@]

dbbak.sh內容如下:

[oracle@xys oracle]$ more dbbak.sh
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
unset USERNAME

export ORACLE_BASE=/opt/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=TEST
#export NLS_LANG=american.america.WE8ISO8859P1
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

export DBCA_RAW_CONFIG=$ORACLE_BASE/oradata/test/test_raw.conf

export LC_CTYPE=en_US.UTF-8

LANG=zh
LC_ALL=zh
export LANG LC_ALL
#export DISPLAY=192.168.0.252:0.0
alias sqlplus='/usr/local/rlwrap/bin/rlwrap sqlplus'

rman target sys/password@tns cmdfile=/home/oracle/dbbak.sql

--============================================

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/19602/viewspace-1008364/,如需轉載,請註明出處,否則將追究法律責任。

相關文章