網站首頁 編程語言 正文
先新建目錄
該路徑:/home/oracle/backup
該名稱: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權限下
crontab -e進入編輯界面
新增如下
0 1 * * * sh /home/oracle/backup.sh
每天晚上1點執行
crontab 操作命令介紹
查看crontab:crontab -l 編輯crontab:crontab -e 刪除crontab:crontab -r
啟動:systemctl start crond.service
停止:systemctl stop crond.service
重啟:systemctl restart crond.service
知識點補充:
Linux中設置定期備份oracle數據庫
昨天裝好了oracle,今天嘗試一下自動備份,我這兩天裝linux和oracle的目的就是這個。
如果是sql server,定期備份可以利用sql server的management studio來做,比較方便。但要做oracle的定期備份,那就需要我們寫導出命令,并設置linux的定時任務。
首先創建一個數據庫作為測試。
--創建數據表空間
create?tablespace test_data
logging
datafile '/u01/app/oradata/test/TEST.dbf'
size?32m
autoextend?on
next?32m maxsize 2048m
extent management?local;
--創建用戶并指定表空間
create?user?TEST identified?by?123
default?tablespace test_data
temporary?tablespace?temp;
--給用戶授予權限
grant?connect,resource?to?TEST;
用Test用戶登錄,創建一個表,并插入兩條數據:
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;
先寫一個導出的腳本文件:
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句是設置環境變量,因為crontab定時調用時,不會使用oracle用戶的環境變量,所以要先把它們導進來。第6行以當前日期作為導出的文件名,例如20120626.dmp和20120626.log。第7行把這兩個文件打成一個zip包,并刪掉這兩個文件。
要用chmod命令把這個sh標記為可執行:
chmod +x backup.sh
用oracle用戶,輸入crontab -e命令,編輯oracle用戶的任務計劃:
[oracle@localhost backup]$ crontab -e
42 13 * * * /home/oracle/backup/backup.sh
這樣就添加了一個計劃,在每天的13點42分運行/home/oracle/backup/backup.sh。
另外,每天運行完之后,會收到mail通知,可以在mail里看出到底有沒有正確運行。
原文鏈接:https://www.cnblogs.com/hhs-5120/p/17008195.html
相關推薦
- 2022-12-25 sql中的if和else使用及說明_MsSql
- 2022-08-04 pandas添加新列的5種常見方法_python
- 2022-10-28 Go保證并發安全底層實現詳解_Golang
- 2022-09-18 在while中使用cin>>a?為條件及注意事項說明_C 語言
- 2022-07-09 如何給 SAP Commerce Cloud Site 設置默認語言
- 2023-01-15 PyQt5+QtChart繪制散點圖_python
- 2022-05-18 Python標準庫中的sys你了解嗎_python
- 2021-11-27 在Docker容器中使用Arthas的詳細步驟_docker
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支