Linux設(shè)置每晚定時(shí)備份Oracle數(shù)據(jù)表的操作命令
先新建目錄
該路徑:/home/oracle/backup
該名稱(chēng):DATA_PATH
shell腳本
export ORACLE_BASE=/home/oracle/app export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1 export ORACLE_SID=orcl export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib d=$(date '+%Y%m%d') expdp MPMS_NY/MPMS@ORCL DIRECTORY=DATA_PATH DUMPFILE=$d.DMP LOGFILE=$d.LOG CLUSTER=N zip -m /home/oracle/backup/$d.zip /home/oracle/backup/$d.DMP /home/oracle/backup/$d.LOG
root權(quán)限下
crontab -e進(jìn)入編輯界面
新增如下
0 1 * * * sh /home/oracle/backup.sh
每天晚上1點(diǎn)執(zhí)行
crontab 操作命令介紹
查看crontab:crontab -l 編輯crontab:crontab -e 刪除crontab:crontab -r
啟動(dòng):systemctl start crond.service
停止:systemctl stop crond.service
重啟:systemctl restart crond.service
知識(shí)點(diǎn)補(bǔ)充:
Linux中設(shè)置定期備份oracle數(shù)據(jù)庫(kù)
昨天裝好了oracle,今天嘗試一下自動(dòng)備份,我這兩天裝linux和oracle的目的就是這個(gè)。
如果是sql server,定期備份可以利用sql server的management studio來(lái)做,比較方便。但要做oracle的定期備份,那就需要我們寫(xiě)導(dǎo)出命令,并設(shè)置linux的定時(shí)任務(wù)。
首先創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)作為測(cè)試。
--創(chuàng)建數(shù)據(jù)表空間 create?tablespace test_data logging datafile '/u01/app/oradata/test/TEST.dbf' size?32m autoextend?on next?32m maxsize 2048m extent management?local; --創(chuàng)建用戶并指定表空間 create?user?TEST identified?by?123 default?tablespace test_data temporary?tablespace?temp; --給用戶授予權(quán)限 grant?connect,resource?to?TEST;
用Test用戶登錄,創(chuàng)建一個(gè)表,并插入兩條數(shù)據(jù):
create?table?t1( ???????Id?varchar(50)?primary?key, ???????title?varchar(50) ); insert?into?t1?values(sys_guid(),'t1'); insert?into?t1?values(sys_guid(),'t2'); commit;
先寫(xiě)一個(gè)導(dǎo)出的腳本文件:
export ORACLE_BASE=/u01/app export ORACLE_HOME=/u01/app/oracle export ORACLE_SID=TEST export PATH=$ORACLE_HOME/bin:$PATH d=$(date '+%Y%m%d') exp TEST/123@TEST file=/home/oracle/backup/$d.dmp log=/home/oracle/backup/$d.log owner=TEST zip -m /home/oracle/backup/$d.zip /home/oracle/backup/$d.dmp /home/oracle/backup/$d.log
前4句是設(shè)置環(huán)境變量,因?yàn)閏rontab定時(shí)調(diào)用時(shí),不會(huì)使用oracle用戶的環(huán)境變量,所以要先把它們導(dǎo)進(jìn)來(lái)。第6行以當(dāng)前日期作為導(dǎo)出的文件名,例如20120626.dmp和20120626.log。第7行把這兩個(gè)文件打成一個(gè)zip包,并刪掉這兩個(gè)文件。
要用chmod命令把這個(gè)sh標(biāo)記為可執(zhí)行:
chmod +x backup.sh
用oracle用戶,輸入crontab -e命令,編輯oracle用戶的任務(wù)計(jì)劃:
[oracle@localhost backup]$ crontab -e 42 13 * * * /home/oracle/backup/backup.sh
這樣就添加了一個(gè)計(jì)劃,在每天的13點(diǎn)42分運(yùn)行/home/oracle/backup/backup.sh。
另外,每天運(yùn)行完之后,會(huì)收到mail通知,可以在mail里看出到底有沒(méi)有正確運(yùn)行。
到此這篇關(guān)于Linux設(shè)置每晚定時(shí)備份Oracle數(shù)據(jù)表的文章就介紹到這了,更多相關(guān)Linux設(shè)置定時(shí)備份Oracle數(shù)據(jù)表內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
shell 腳本中獲取命令的輸出的實(shí)現(xiàn)示例
本文主要介紹了shell 腳本中獲取命令的輸出的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02
如何使用Shell腳本掩蓋Linux服務(wù)器上的操作痕跡(推薦)
這篇文章主要介紹了使用Shell腳本掩蓋Linux服務(wù)器上的操作痕跡,需要的朋友可以參考下2017-12-12
shell實(shí)現(xiàn)四則運(yùn)算簡(jiǎn)單方法
在剛剛學(xué)習(xí)寫(xiě)shell 批處理時(shí)候,進(jìn)行邏輯運(yùn)算中,少不了需要進(jìn)行基礎(chǔ)的:四則運(yùn)算,這里說(shuō)說(shuō)在linux shell 里面簡(jiǎn)單的實(shí)現(xiàn)方法2014-03-03
linux?shell文件轉(zhuǎn)碼iconv命令的使用
本文主要介紹了linux?shell文件轉(zhuǎn)碼iconv命令的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06
Linux batch命令詳解(在系統(tǒng)不繁忙的時(shí)候執(zhí)行定時(shí)任務(wù))
batch命令 用于在指定時(shí)間,當(dāng)系統(tǒng)不繁忙時(shí)執(zhí)行任務(wù),用法與at相似,這篇文章主要介紹了Linux batch命令(在系統(tǒng)不繁忙的時(shí)候執(zhí)行定時(shí)任務(wù)),需要的朋友可以參考下2024-02-02

