1、新建oracle資料庫備份目錄
mkdir -p /back_db
2、新建oracle資料庫備份指令碼
vi /back_db/oraclebackups.sh
3、指令碼內容:
echo 'environment variables loaded successfully!'
backdata=$orowner"_"$(date +%y%m%d-%h%m).dmp
backlog=$orowner"_"$(date +%y%m%d-%h%m).log
ordataback=$orowner"_"$(date +%y%m%d-%h%m).tar.gz
backdir=/back_db
echo $backdir
cd $backdir
echo 'oracle backup...'
exp ssss1/ss1234 file=$backdir/$backdata log=$backdir/$backlog
tar -zcvf $ordataback $backdata $backlog
#刪除臨時檔案
find $backdir -name "*.log" -exec rm {} \;
find $backdir -name "*.dmp" -exec rm {} \;
#刪除半月之前的壓縮檔案(備份只儲存半月,可以自定義)
find $backdir -name "*.tar.gz" -mtime +$days |xargs rm -rf;
echo 'compression success!'
注:1、使用者名稱/密碼 寫自己用的即可;
2、另外刪除15天前的備份tar.gz檔案;
3、 新增指令碼執行許可權 x=775
chmod +x /back_db/oraclebackups.sh
5、新增定時任務
crontab -e
00 02 * * * sh /back_db/oraclebackups.sh
#每天凌晨2點,執行 oraclebackups.sh備份檔案
* */2 * * * sh /back_db/oraclebackups.sh
#每兩小時,執行 oraclebackups.sh備份檔案
6、重啟crond
service crond restart
7、完事
步驟要點:
2、使用者的執行許可權要檢查是否有;
2、設定定時任務時,oracle的環境變數不能錯,否則不能執行;
注:自己執行時遇到的問題彙總:
我用的root使用者執行定時任務。
所用命令:
crontab -l 檢視定時任務
crontab -e 修改定時任務
00 02 * * * sh /back_db/oraclebackups.sh #每天凌晨兩點執行指令碼
開啟crond service crond start
關閉crond service crond stop
重啟crond service crond restart
指令碼發現的問題
1.執行指令碼發現root賬號下 exp命令 未定義
解決: /root/.bash_profile 增加oracle的配置檔案
將 /home/oracle/.bash_profile (此檔案為oracle的配置檔案) 檔案下的配置檔案複製到 /root/.bash_profile 裡邊
2.執行定時任務時候,總要互動輸入密碼問題
解決:
exp ssss1/ss1234 file=$backdir/$backdata log=$backdir/$backlog
sqsc1 為賬號 sqsc1234 為密碼
之前互動讓輸入資料庫密碼是因為密碼中有特殊符號導致linux將特殊符號編譯了。重設密碼後解決
3.刪除臨時檔案命令要注意:
」 rm {} \; 「 這部分 』}『 跟 』\『 中間要有個空格,不然命令不執行。
#********************====備份還原****************************************===
1.解壓備份的檔案
2. imp ssss1/ss1234 file=/back_db/db_191031-0948.dmp log=/back_db/db_191031-0948.log full=y ignore=y
注:提示imp命令不存在,需要設定環境變數
/root/.bash_profile 增加oracle的配置檔案
將 /home/oracle/.bash_profile (此檔案為oracle的配置檔案) 檔案下的配置檔案複製到 /root/.bash_profile 裡邊
Linux備份還原
無論是 windows 還是 linux 備份都是乙個非常好的習慣。linux下,備份是一件非常簡單的事情,乙個命令備份,乙個命令還原,so easy 備份命令 sudo tar cvpzf backup.tgz exclude proc exclude lost found exclude mnt...
linux下的Oracle備份與還原
su oralce使用者下,system使用者進入sqlplus操作 建立表空間 create tablespace eas d haiya standard datafile kingdee oradata oradata hy eas d haiya standard.ora size 5000...
Linux下如何實現備份和還原
最近在配置centos的伺服器,我們都知道配置過程可能很複雜,有時還可能出錯,總不能配置出錯了無法恢復就重灌系統吧,所以說做好系統備份是很重要的。linux的備份其實就是把檔案統一打個包存起來,等到要恢復時,再用這些檔案覆蓋掉原來的檔案就好啦。切換到root使用者的根目錄下 必須是根目錄,要不然有的...