Oracle 11g數(shù)據(jù)庫使用expdp每周進(jìn)行數(shù)據(jù)備份并上傳到備份服務(wù)器
學(xué)校需要將之前的生產(chǎn)數(shù)據(jù)庫備份到華為云,之后實(shí)現(xiàn)每周自動(dòng)備份
1.看看數(shù)據(jù)庫情況
1.1先看了下表空間情況,生產(chǎn)環(huán)境表空間大概90G,用了才一半不到
查看所有表空間及使用情況
SELECT B.FILE_NAME 物理文件名, B.TABLESPACE_NAME 表空間名稱, B.BYTES/1024/1024 大小M, (B.BYTES-SUM(NVL(A.BYTES,0)))/1024/1024 已使用M, SUBSTR((B.BYTES-SUM(NVL(A.BYTES,0)))/(B.BYTES)*100,1,5) 使用率 FROM DBA_FREE_SPACE A,DBA_DATA_FILES B WHERE A.FILE_ID=B.FILE_ID GROUP BY B.TABLESPACE_NAME,B.FILE_NAME,B.BYTES ORDER BY B.TABLESPACE_NAME;
2.數(shù)據(jù)庫備份
2.1登陸數(shù)據(jù)庫
[root@]$ sqlplus / as sysdba
2.2創(chuàng)建邏輯目錄
執(zhí)行這個(gè)操作并不會在Linux中創(chuàng)建/opt/data_backup這個(gè)文件,最后需要手動(dòng)去創(chuàng)建該文件才能進(jìn)行備份。
SQL> create directory back_dir as '/opt/backup' SQL> select * from dba_directories; #查看所有邏輯目錄,看是否創(chuàng)建成功
2.3給數(shù)據(jù)庫用戶文件操作權(quán)限#dbuser為數(shù)據(jù)庫用戶名,更具實(shí)際情況更改
Grant read,write on directory back_dir to dbuser;
2.3創(chuàng)建物理目錄
[root@]$ mkdir -p /opt/backup #-p 確保目錄名稱存在,不存在的就建一個(gè),可使用參數(shù)創(chuàng)建多級目錄
1.3備份數(shù)據(jù)庫
[root@]$ expdp dbuser/passwd@192.168.110.9:1521/orcl dumpfile=dbback.dmp log=log.log directory=back_dir schemas=cbyxy
exedp有很多參數(shù),這里是用到的一些解釋
dbuser/passwd@192.168.110.9:1521/orcl #導(dǎo)出用戶名/密碼@數(shù)據(jù)庫IP/數(shù)據(jù)庫SID
dumpfile=導(dǎo)出的文件名.dmp
log=導(dǎo)出過程的日志名.log
directory=備份放的路徑名,用的之前的邏輯目錄名
schemas=要備份的數(shù)據(jù)庫用戶名字
FULL=y #加上意思為導(dǎo)出整個(gè)數(shù)據(jù)庫就不需要schemas參數(shù)了
也可以按表空間導(dǎo)出TABLESPACES=
表名導(dǎo)出TABLES=
等等還有很多參數(shù)自行了解
3.shell腳本實(shí)現(xiàn)自動(dòng)備份
#!/bin/bash #導(dǎo)入環(huán)境變量,根據(jù)具自己實(shí)際情況填寫 export ORACLE_BASE=/home/oracle/app export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1 export PATH=$ORACLE_HOME/bin:$PATH export LOCAL_IP=192.168.110.183:1521 export BACKUP_USER_IP_DIR=root@192.168.110.187:/opt/ #備份服務(wù)器的用戶,ip,保存地址 export ORACLE_USER_NAME=system #數(shù)據(jù)庫的用戶密碼根據(jù)實(shí)際情況填寫,備份整個(gè)庫最好使用system或sys管理員用戶 export ORACLE_USER_PASSWD=Abc123556.. export ORACLE_SID=orcl #不知道可以使用Oracle用戶執(zhí)行echo $ORACLE_SID,或者SQL> SELECT instance_name FROM v$instance export DATA_DIR=/opt/backup #與數(shù)據(jù)庫中的邏輯地址相同,用來儲存?zhèn)浞菸募? export DELTIME=`date -d "7 days ago" +%Y%m%d` # -d "7 days ago" 為獲取七天前的日期,以日期命名方便任務(wù)自動(dòng)刪>除 export BAKUPTIME=`date +%Y%m%d` #備份日期年月日 export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK #定義語言地域和字符集屬性的環(huán)境變量,根據(jù)自己數(shù)據(jù)庫情況修改 mkdir -p $DATA_DIR echo "Starting bakup..." echo "Backup file path $DATA_DIR/$BAKUPTIME.dmp" expdp $ORACLE_USER_NAME/$ORACLE_USER_PASSWD@$LOCAL_IP/$ORACLE_SID dumpfile=$BAKUPTIME.dmp log=$BAKUPTIME.log directory=expdp full=y echo "backup file success..." tar -zcvPf $DATA_DIR/$BAKUPTIME.tar.gz $DATA_DIR/$BAKUPTIME.dmp --remove-files ##-P:指定絕對路徑 --remove-files :打包后刪除原文件 echo "tar the file backup successfully" echo "scp to":$BACKUP_IP scp $DATA_DIR/$BAKUPTIME.tar.gz $BACKUP_USER_IP_DIR #遠(yuǎn)程服務(wù)器防火墻有限制scp端口需要加:-P 端口號 rm -f $DATA_DIR/$DELTIME.log #刪除之前的備份 echo "Bakup completed."
4.添加定時(shí)任務(wù)
[root@ ]$ crontab -e
添加行:* 1 * * 6 /opt/back.sh #每個(gè)星期的星期六早上執(zhí)行備份任務(wù)
* * * * * - - - - - | | | | | | | | | +----- 星期中星期幾 (0 - 6) (星期天 為0) | | | +---------- 月份 (1 - 12) | | +--------------- 一個(gè)月中的第幾天 (1 - 31) | +-------------------- 小時(shí) (0 - 23) +------------------------- 分鐘 (0 - 59)
4.參考文章
https://www.cnblogs.com/xwdreamer/p/3511047.html
https://www.cnblogs.com/farmer-y/p/5888432.html
https://blog.csdn.net/weixin_41607523/article/details/110817646
https://blog.csdn.net/XUEYUTIANQI/article/details/113976558
到此這篇關(guān)于Oracle 11g數(shù)據(jù)庫使用expdp每周進(jìn)行數(shù)據(jù)備份并上傳到備份服務(wù)器的文章就介紹到這了,更多相關(guān)Oracle 11g使用expdp備份數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Win11系統(tǒng)下Oracle11g數(shù)據(jù)庫下載與安裝使用詳細(xì)教程(圖解)
Oracle11g是Oracle公司出的一個(gè)比較輕量版的數(shù)據(jù)庫,在window系統(tǒng)上安裝比較方便,這篇文章主要給大家介紹了關(guān)于Win11系統(tǒng)下Oracle11g數(shù)據(jù)庫下載與安裝使用的相關(guān)資料,需要的朋友可以參考下2023-12-12Oracle 11g安裝錯(cuò)誤提示未找到wfmlrsvcapp.ear的解決方法
這篇文章主要為大家詳細(xì)介紹了Oracle 11g安裝錯(cuò)誤提示未找到wfmlrsvcapp.ear的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04Oracle多行數(shù)據(jù)合并為一行數(shù)據(jù)并將列數(shù)據(jù)轉(zhuǎn)為字段名三種方式
怎么合并多行記錄的字符串,一直是oracle新手喜歡問的SQL問題之一,下面這篇文章主要給大家介紹了關(guān)于Oracle多行數(shù)據(jù)合并為一行數(shù)據(jù)并將列數(shù)據(jù)轉(zhuǎn)為字段名的三種方式,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-06-06深入探討:oracle中row_number() over()分析函數(shù)用法
本篇文章是對oracle中row_number() over()分析函數(shù)的用法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05Oracle數(shù)據(jù)庫中l(wèi)ead和lag函數(shù)用法示例
lag與lead函數(shù)是跟偏移量相關(guān)的兩個(gè)分析函數(shù),通過這兩個(gè)函數(shù)可以在一次查詢中取出同一字段的前N行的數(shù)據(jù)(lag)和后N行的數(shù)據(jù)(lead)作為獨(dú)立的列,這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫中l(wèi)ead和lag函數(shù)用法的相關(guān)資料,需要的朋友可以參考下2024-06-06Oracle 解決ORA-00257 Archiver error 報(bào)錯(cuò)問題解決
訂單投資交易環(huán)境進(jìn)行 impdb 數(shù)據(jù)泵恢復(fù)數(shù)據(jù),執(zhí)行到一半,報(bào)錯(cuò)終止,歸檔策略保留時(shí)間較長,或歸檔頻率過高,導(dǎo)致數(shù)據(jù)庫掛載盤符空間不足,本文給大家分享Oracle 解決ORA-00257 Archiver error 報(bào)錯(cuò)問題解決,感興趣的朋友一起看看吧2023-12-12