Oracle11g 备份和恢复的方法
一、按方案備份
可以建立腳本db_export.sh,腳本內(nèi)容如下:
#!/bin/bash
ORACLE_SID=mydb?????????????????????????????????????????? #數(shù)據(jù)庫的SID,我這里用mydb
ORACLE_HOME=/usr/oracle/product/11.1??????? #數(shù)據(jù)庫的安裝目錄,也是bin文件夾所處的路徑
export ORACLE_HOME
export ORACLE_SID
filename=`date +%Y%m%d_%H%M%S`.dmp??? #文件名格式
echo DUMPING DATA TO $filename
cd /usr/oracle/product/11.1/bin???????????????????????????? #進入到可執(zhí)行命令文件夾內(nèi),如果系統(tǒng)配置環(huán)境變量路徑了,這個可省略,當(dāng)然,也可以和下一句合并,一起執(zhí)行
./expdp 用戶名/密碼 directory=BACKUPDIR dumpfile=$filename????? #執(zhí)行備份,BACKUPDIR 是在數(shù)據(jù)庫內(nèi)用SQL語句設(shè)置好的變量,如果沒有則需要提前設(shè)置好,如果密碼是含有特殊字符的非標(biāo)準(zhǔn)命名,那就得加上單引號和雙引號,這么寫: '用戶名/"密碼"'
如果就執(zhí)行一次也可以寫成(假設(shè)此次只導(dǎo)出各表結(jié)構(gòu)):
/usr/oracle/product/11.1/bin/expdp 用戶名/密碼 directory=BACKUPDIR dumpfile=data.dmp CONTENT=METADATA_ONLY
當(dāng)然這里前面的ORACLE_HOME、ORACLE_SID和BACKUPDIR得設(shè)置好,CONTENT選項用于指定要導(dǎo)出的內(nèi)容.默認(rèn)值為ALL,所以ALL時一般忽略不寫了
CONTENT={ALL | DATA_ONLY | METADATA_ONLY}
當(dāng)設(shè)置CONTENT為ALL時,將導(dǎo)出對象定義及其所有數(shù)據(jù).為DATA_ONLY時,只導(dǎo)出對象數(shù)據(jù),為METADATA_ONLY時,只導(dǎo)出對象定義
二、按方案恢復(fù)
可以建立腳本 db_import.sh,腳本內(nèi)容如下:
ORACLE_SID=mydb
ORACLE_HOME=/usr/oracle/product/11.1
export ORACLE_HOME
export ORACLE_SID
filename=20130407_055001.dmp
echo LOAD DATA FROm $filename
cd /usr/oracle/product/11.1/bin
./impdp 用戶名/密碼 directory=BACKUPDIR dumpfile=$filename TABLE_EXISTS_ACTION=REPLACE
具體各行介紹參看一、按方案備份
?
可以每日用crontab定時執(zhí)行備份操作,把所有操作日志和提示都存到日志文件中
.../db_export.sh >> .../db_export.log 2>&1
還可以建立腳本定期檢查刪除日志文件,舉例腳本如下(假如刪除擴展名為dmp):
echo start: `date +%F-%T`
find 目錄 -name '*.dmp'?-mtime +5 -exec? rm -rfv {} \;
意為只留5天數(shù)據(jù)
轉(zhuǎn)載于:https://blog.51cto.com/hoarn/1175358
總結(jié)
以上是生活随笔為你收集整理的Oracle11g 备份和恢复的方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华为云云容器快速搭建网站实践随记—利用私
- 下一篇: 小故事分享:千里马与苍蝇的故事