中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

玉门市| 永济市| 嘉祥县| 宜昌市| 千阳县| 酒泉市| 咸丰县| 徐闻县| 旬邑县| 临泉县| 平潭县| 高密市| 诸城市| 沧源| 利川市| 繁峙县| 乌鲁木齐县| 四会市| 朔州市| 丹寨县| 泰兴市| 长宁县| 加查县| 灵石县| 文登市| 汶川县| 梁河县| 勐海县| 塔城市| 子洲县| 蓬溪县| 罗甸县| 化州市| 建宁县| 芦溪县| 万全县| 鄯善县| 德江县| 延吉市| 西贡区| 泰安市|