oracle cronb,利用Crontab实现对Oracle数据库的定时备份
假設(shè)數(shù)據(jù)庫的擁有者為oracle,數(shù)據(jù)庫的用戶為scott,其口令為trigger,
Oracle數(shù)據(jù)庫的參數(shù)$ORACLE_HOME為/usr/oracle,$ORACLE_SID為oracle1,則實(shí)現(xiàn)步驟如下:
1、建立實(shí)現(xiàn)備份的shell
在/usr/oracle中用vi命令建立文件backup.sh,其內(nèi)容為:
ORACLE_HOME=/usr/oracle;
export ORACLE_HOME;
ORACLE_SID=oracle1;
export ORACLE_SID;
D=$(date +%y%m%d);
export D;
/usr/oracle/bin/exp scott/trigger file=/usr/oracle/${D}.dmp owner=scott
注意:這里D=$(date +%y%m%d); 是確保你每個備份文件以日期名字.例如:060814.dmp 060815.dmp
如果想每天把備份文件覆蓋那么把 ${D}.dmp 這里用固定的名字例如: backup.dmp
使用chmod命令修改backup.sh的屬性為可執(zhí)行:
chmod +x backup.sh
到此,具有備份功能的可執(zhí)行文件(shell)backup.sh已經(jīng)建成。其執(zhí)行結(jié)果是將scott所擁有的ORACLE對象備份到/usr/oracle中的backup.dmp中,讀者可以直接運(yùn)行它來看看效果。值得注意的是,backup.sh中Oracle的兩個環(huán)境參數(shù)一定要聲明,否則系統(tǒng)會報(bào)錯。下一步將開始建立oracle用戶的Crontab文件。
2、查看Crontab的使用權(quán)限
使用超級用戶(root)的身份登錄,在/usr/var/adm/cron下通過vi命令查看cron.deny文件,如果數(shù)據(jù)庫的擁有者oracle被列在里面,將其刪除即可。
3、建立oracle的Crontab文件
用oracle用戶登錄,通過使用命令crontab –e oracle開始建立oracle用戶的Crontab文件。其內(nèi)容為:
00 17 * * 1-5 "/usr/oracle/backup.sh"
存盤退出后,你會發(fā)現(xiàn)在/var/spool/cron/crontabs中新增了一個名為oracle文件,其作用是在周一至周五每天的17:00運(yùn)行“/usr/oracle/backup.sh”。
到此大功告成,系統(tǒng)會將每次備份的信息通過mail的形式發(fā)送給oracle用戶。
在進(jìn)行以上操作時,建議將/var/spool/cron/crontabs中其他用戶(尤其是root)的Crontab文件進(jìn)行備份,以免誤操作對系統(tǒng)產(chǎn)生影響。
總結(jié)
以上是生活随笔為你收集整理的oracle cronb,利用Crontab实现对Oracle数据库的定时备份的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: process java类_Java中P
- 下一篇: mysql 64位 8.0.11_mys