亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux自動備份Oracle并刪除指定天數前的備份

發布時間:2020-07-04 08:12:17 來源:網絡 閱讀:537 作者:_蘇格拉底 欄目:關系型數據庫
本篇文章主要關于利用shell腳本實現對Oracle數據庫定時進行備份操作,并刪除指定天數前的備份文件,已經熟練掌握shell的大牛們請果斷路過。本文如有雷同,純屬有意。

先做試驗環境的介紹,再講解具體步驟。本博客的第一篇文章,以后會盡量做得更好,寫得不好得地方請多多包涵,歡迎提出各種建議,例如文章內容選擇、操作步驟的詳細程度等等。

環境:

操作系統:CentOS

        IP地址:192.168.1.2

        端口:1521

        SID:orcl

        Oracle版本:Oracle11g

具體步驟:

(1)root登錄Oracle數據庫服務器

#新建備份目錄

mkdir /home/bak/orcl_data

        #設置目錄權限,該用戶和組是安裝Oracle時設置的

chown -R oracle:oracle /home/bak/orcl_data

(2)創建備份腳本

#新建文件并輸入代碼,保存。腳本保存位置根據個人習慣。

        vim /usr/local/scripts/oracle_bak.sh

        #!/bin/sh

#添加Oracle運行用戶oracle的系統環境變量,以便Crontab計劃任務的執行

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

export ORACLE_BASE=/data/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

        export ORACLE_SID=orcl

        export ORACLE_TERM=xterm

        export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH

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

        export LANG=C

        export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

#獲取日期和時間

        date=`date +%Y_%m_%d`

#設置刪除15天前的備份

        days=15

#Oracle服務器IP、端口、SID

        orsid=`192.168.1.2:1521/orcl`

#備份此用戶的數據

        orowner=osgnu

#執行備份的用戶,必須有備份權限

        bak_user=osgnu

#執行備份的用戶的密碼

        bak_pass=osgnu

#備份的路徑,提前創建好

        bak_dir=/home/bak/orcl_data

#備份數據庫名稱

        bak_data=$orowner"_"$date.dmp

#備份生成的日志文件的名稱

        bak_log=$orowner"_"$date.log

#保存的Oracle數據庫備份文件

        ordatatar=$orowner"_"$date.tar.gz  
#進入備份目錄

        cd $bak_dir

#按需要備份的Oracle用戶來創建相應目錄

        mkdir -p $orowner

#進入目錄

        cd $orowner

#執行備份

        exp $bak_user/$bak_pass@$orsid grants=y owner=$orowner file=$bak_dir/$orowner/$bak_data log=$bak_dir/$orowner/$bak_log

#壓縮

        tar -zcvf $ordatatar $bak_data $bak_log

#刪除備份文件

        find $bak_dir/$orowner -type f -name "*.dmp" -exec rm {} \;

#刪除日志文件

        find $bak_dir/$orowner -type f -name "*.log" -exec rm {} \;

#刪除15天前的備份

        find $bak_dir/$orowner -type f -name "*.tar.gz" -mtime +$days -exec rm {} \;

#保存退出

        :wq!

#添加執行權限

        chmod +x /usr/local/scripts/oracle_bak.sh

(3)編輯計劃任務

        crontab -e或vim /etc/crontab然后添加以下內容

#每天凌晨1點30分以oracle用戶的身份執行備份腳本

        30 1 * * * oracle /usr/local/scripts/oracle_bak.sh

#保存退出

        :wq!

#重啟crond

        service crond restart

        自動備份oracle并刪除指定天數前的備份已完成。

www.osgnu.com  溫馨提醒:BruceZ原創內容 版權所有,轉載請注明出處以及原文鏈接。

本文鏈接:www.osgnu.com/shell/1.html

轉載請注明來源:OSGNU >> Linux自動備份Oracle并刪除指定天數前的備份

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

河池市| 东乡族自治县| 怀化市| 台江县| 彝良县| 凤翔县| 襄城县| 五常市| 甘肃省| 兴文县| 怀来县| 万州区| 瓦房店市| 肥城市| 瑞丽市| 诏安县| 漾濞| 额尔古纳市| 太白县| 恭城| 兴和县| 虹口区| 金乡县| 南木林县| 彝良县| 贵港市| 韶关市| 永吉县| 宝清县| 天祝| 锦屏县| 京山县| 奉贤区| 沙湾县| 吉水县| 汾阳市| 凌云县| 元氏县| 常德市| 乐都县| 勃利县|