Oracle11g 备份和恢复的方法
一、按方案?jìng)浞?/p>
可以建立腳本db_export.sh,腳本內(nèi)容如下:
#!/bin/bash
ORACLE_SID=mydb?????????????????????????????????????????? #數(shù)據(jù)庫(kù)的SID,我這里用mydb
ORACLE_HOME=/usr/oracle/product/11.1??????? #數(shù)據(jù)庫(kù)的安裝目錄,也是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???????????????????????????? #進(jìn)入到可執(zhí)行命令文件夾內(nèi),如果系統(tǒng)配置環(huán)境變量路徑了,這個(gè)可省略,當(dāng)然,也可以和下一句合并,一起執(zhí)行
./expdp 用戶名/密碼 directory=BACKUPDIR dumpfile=$filename????? #執(zhí)行備份,BACKUPDIR 是在數(shù)據(jù)庫(kù)內(nèi)用SQL語(yǔ)句設(shè)置好的變量,如果沒(méi)有則需要提前設(shè)置好,如果密碼是含有特殊字符的非標(biāo)準(zhǔn)命名,那就得加上單引號(hào)和雙引號(hào),這么寫(xiě): '用戶名/"密碼"'
如果就執(zhí)行一次也可以寫(xiě)成(假設(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選項(xiàng)用于指定要導(dǎo)出的內(nèi)容.默認(rèn)值為ALL,所以ALL時(shí)一般忽略不寫(xiě)了
CONTENT={ALL | DATA_ONLY | METADATA_ONLY}
當(dāng)設(shè)置CONTENT為ALL時(shí),將導(dǎo)出對(duì)象定義及其所有數(shù)據(jù).為DATA_ONLY時(shí),只導(dǎo)出對(duì)象數(shù)據(jù),為METADATA_ONLY時(shí),只導(dǎo)出對(duì)象定義
二、按方案恢復(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
具體各行介紹參看一、按方案?jìng)浞?/p>
?
可以每日用crontab定時(shí)執(zhí)行備份操作,把所有操作日志和提示都存到日志文件中
.../db_export.sh >> .../db_export.log 2>&1
還可以建立腳本定期檢查刪除日志文件,舉例腳本如下(假如刪除擴(kuò)展名為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 备份和恢复的方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 华为云云容器快速搭建网站实践随记—利用私
- 下一篇: 小故事分享:千里马与苍蝇的故事