国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

Linux下通過腳本自動備份Oracle數據庫并刪除指定天數前的備份

2024-08-29 13:58:23
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了Linux下自動備份Oracle數據庫并刪除指定天數前的備份,需要的朋友可以參考下

說明:

Oracle數據庫服務器

操作系統:CentOS

IP:192.168.0.198

端口:1521

SID:orcl

Oracle數據庫版本:Oracle11gR2

具體操作:

1、root用戶登錄服務器

mkdir -p /backup/oracledata #新建Oracle數據庫備份目錄

chown -R oracle:oinstall /backup/oracledata -R #設置目錄權限為oinstall用戶組的oracle用戶(用戶oracle與用戶組oinstall是在安裝Oracle數據庫時設置的)

系統運維 www.osyunwei.com 溫馨提醒:qihang01原創內容 版權所有,轉載請注明出處及原文鏈接

2、新建Oracle數據庫備份腳本

vi /backup/oracledata/ordatabak.sh #新建文件,輸入以下代碼

  1. #!/bin/sh 
  2. export ORACLE_BASE=/data/oracle 
  3. export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 
  4. export ORACLE_SID=orcl 
  5. export ORACLE_TERM=xterm 
  6. export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH 
  7. export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib 
  8. export LANG=C 
  9. export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK 


#以上代碼為Oracle數據庫運行賬號oracle的系統環境變量設置,必須添加,否則crontab任務計劃不能執行。

# oracle用戶的系統環境變量路徑:/home/oracle/.bash_profile

date=`date +%Y_%m_%d` #獲取系統當前日期時間

days=7 #設置刪除7天之前的備份文件

orsid=`192.168.0.198:1521/orcl` #Oracle數據庫服務器IP、端口、SID

orowner=OSYUNWEI #備份此用戶下面的數據

bakuser=OSYUNWEI #用此用戶來執行備份,必須要有備份操作的權限

bakpass=OSYUNWEI #執行備注的用戶密碼

bakdir=/backup/oracledata #備份文件路徑,需要提前創建好

bakdata=$orowner"_"$date.dmp #備份數據庫名稱

baklog=$orowner"_"$date.log #備份執行時候生成的日志文件名稱

ordatabak=$orowner"_"$date.tar.gz #最后保存的Oracle數據庫備份文件

cd $bakdir #進入備份目錄

mkdir -p $orowner #按需要備份的Oracle用戶創建目錄

cd $orowner #進入目錄

exp $bakuser/$bakpass@$orsid grants=y owner=$orowner file=$bakdir/$orowner/$bakdata log=$bakdir/$orowner/$baklog #執行備份

tar -zcvf $ordatabak $bakdata $baklog #壓縮備份文件和日志文件

find $bakdir/$orowner -type f -name "*.log" -exec rm {} /; #刪除備份文件

find $bakdir/$orowner -type f -name "*.dmp" -exec rm {} /; #刪除日志文件

find $bakdir/$orowner -type f -name "*.tar.gz" -mtime +$days -exec rm -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 restart #重啟crond

每天凌晨2點30分,會自動備份數據庫到/backup/oracledata/OSYUNWEI目錄中,保存為.tar.gz壓縮文件,并且刪除7天前的備份,即只保留最近7天的數據。

備注:以上所有的代碼都是在英文半角狀態下輸入。

至此,Linux下自動備份Oracle數據庫并刪除指定天數前的備份教程完成。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 呼玛县| 封开县| 福鼎市| 乐业县| 周口市| 大邑县| 福贡县| 衡阳市| 宝坻区| 西充县| 昌平区| 沭阳县| 南漳县| 黎平县| 保定市| 遵化市| 高陵县| 涿鹿县| 广安市| 安达市| 龙江县| 本溪| 孝昌县| 和政县| 壤塘县| 湖州市| 汶川县| 伊吾县| 临汾市| 阳山县| 景泰县| 夏邑县| 分宜县| 黎川县| 新乡县| 双辽市| 延川县| 柯坪县| 霍州市| 金溪县| 莲花县|