日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux自动备份oracle数据库并上传到备份服务器 脚本实现(转)

發(fā)布時間:2023/12/18 linux 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux自动备份oracle数据库并上传到备份服务器 脚本实现(转) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

實(shí)際項目中,備份數(shù)據(jù)是不可缺少的一步,完成數(shù)據(jù)的自動備份減少個人的工作量,是我們的目標(biāo)。之前很少寫過腳本,不過這些簡單的操作還是可以做到的!話不多說,開始具體介紹:
oracle版本:10.2.0
操作系統(tǒng):linuxredhat6.3
具體操作:
(1)在服務(wù)器上創(chuàng)建備份目錄,并賦予權(quán)限
mkdir -p /backup/oracledata?#新建Oracle數(shù)據(jù)庫備份目錄

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

(2)完成備份腳本

vi /backup/oracledata/ordatabak.sh?#新建文件
加入下面信息:
#!/bin/sh?ORACLE信息可以通過 .bash_profile 查看
export ORACLE_BASE=/oracle/app/oracle
export ORACLE_SID=orcl
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_TERM=xterm
export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin:/usr/bin:/sbin:/usr/sbin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib:/lib:/usr/lib:?/usr/local/lib
export LANG=C
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
#以上代碼為Oracle數(shù)據(jù)庫運(yùn)行賬號oracle的系統(tǒng)環(huán)境變量設(shè)置,必須添加,否則crontab任務(wù)計劃不能執(zhí)行。
dateTime=`date +%Y_%m_%d`?#當(dāng)前系統(tǒng)時間
days=7?#刪除7天前的備份數(shù)據(jù)s
orsid='127.0.0.1:1521/orcl'?#oralce連接信息
orowner=oracle?#?備份此用戶下面的數(shù)據(jù)
bakuser=oracle?#用此用戶來執(zhí)行備份,必須要有備份操作的權(quán)限
bakpass=oracle?#執(zhí)行備注的用戶密碼
bakdir=/DATA/bakorcldata/moodle?#備份文件路徑,需要提前創(chuàng)建好
bakdata=$orowner"_"$dateTime.dmp #備份數(shù)據(jù)庫名稱
baklog=$orowner"_"$dateTime.log?#備份執(zhí)行時候生成的日志文件名稱
ordatabak=$orowner"_"$dateTime.tar.gz?#最后保存的Oracle數(shù)據(jù)庫備份文件
remotePath=/opt/oracle/bakorcl/?#上傳到遠(yuǎn)程服務(wù)器的路徑

cd $bakdir?#進(jìn)入備份目錄
mkdir -p $orowner?#按需要備份的Oracle用戶創(chuàng)建目錄
cd $orowner?#進(jìn)入目錄
exp $bakuser/$bakpass@$orsid?grants=y owner=$orowner file=$bakdir/$orowner/$bakdata log=$bakdir/$orowner/$baklog?#執(zhí)行備份
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天前的備份(注意:{} \中間有空格)
scp?$bakdir/$orowner/$ordatabak 192.168.0.10:$remotePath?#將備份文件上傳到遠(yuǎn)程服務(wù)器 如果不輸人密碼上傳請參考http://blog.sina.com.cn/s/blog_957ef38b0102vuxy.html
:wq! 保存 退出

(3)添加腳本執(zhí)行權(quán)限
chmod +x /backup/oracledata/ordatabak.sh?#添加腳本執(zhí)行權(quán)限
(4)編輯系統(tǒng)任務(wù)執(zhí)行計劃
crontab -e
輸入一下信息“:

00 01 * * * /DATA/bakorcldata/oradatabak.sh#每天凌晨1點(diǎn),以oracle用戶執(zhí)行ordatabak.sh備份文件

:wq! #保存退出

重啟crontab

service crond restart

從此每天的凌晨1點(diǎn) 系統(tǒng)會自動完成數(shù)據(jù)庫的備份,壓縮,并上傳到遠(yuǎn)程服務(wù)器的指定路徑下!

總結(jié)

以上是生活随笔為你收集整理的linux自动备份oracle数据库并上传到备份服务器 脚本实现(转)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。