Linux ORCLE數(shù)據(jù)庫(kù)增量備份腳本
更新時(shí)間:2009年11月20日 17:57:19 作者:
Linux下ORCLE數(shù)據(jù)庫(kù)增量備份腳本 (基礎(chǔ)篇) ,需要的朋友可以參考下。
ORCLE數(shù)據(jù)庫(kù)備份策略
1.通過(guò)使用exp和imp命令實(shí)現(xiàn)數(shù)據(jù)庫(kù)導(dǎo)出和導(dǎo)入。
有三種模式:
a. 用戶模式: 導(dǎo)出(導(dǎo)入)用戶所有對(duì)象以及對(duì)象中的數(shù)據(jù);
b. 表模式: 導(dǎo)出(導(dǎo)入)用戶所有表或者指定的表;
c. 整個(gè)數(shù)據(jù)庫(kù): 導(dǎo)出(導(dǎo)入)數(shù)據(jù)庫(kù)中所有對(duì)象。
如:
普通導(dǎo)出
a.導(dǎo)出一個(gè)完整數(shù)據(jù)庫(kù)
exp system/manager file=f.dmp full=y
b.導(dǎo)出數(shù)據(jù)庫(kù)定義而不導(dǎo)出數(shù)據(jù)
exp system/manager file=f.dmp full=y rows=n
普通導(dǎo)入:
a.完全導(dǎo)入
imp system/manager file=f.dmp full=y
b.數(shù)據(jù)庫(kù)結(jié)構(gòu)存在時(shí),只導(dǎo)入數(shù)據(jù)
imp system/manager file=f.dmp full=y ignore=y
2.每周進(jìn)行數(shù)據(jù)庫(kù)備份,以防數(shù)據(jù)庫(kù)被意外破壞后恢復(fù)數(shù)據(jù)
安排如下:
周一: 完全備份(f1) exp xxx/xxx inctype=complete file=f1.dmp
周二: 增量備份(f2) exp xxx/xxx inctype=incremental file=f2.dmp
周三: 增量備份(f3) exp xxx/xxx inctype=incremental file=f3.dmp
周四: 增量備份(f4) exp xxx/xxx inctype=incremental file=f4.dmp
周五: 累積備份(f5) exp xxx/xxx inctype=cumulative file=f5.dmp
周六: 增量備份(f6) exp xxx/xxx inctype=incremental file=f6.dmp
周日: 增量備份(f7) exp xxx/xxx inctype=incremental file=f7.dmp
比如數(shù)據(jù)庫(kù)在周日被破壞,則可用以下方式恢復(fù):
1.創(chuàng)建空的數(shù)據(jù)庫(kù),同之前的結(jié)構(gòu)。
2.imp xxx/xxx inctype=RESTORE FULL=y FILE=f1.dmp
3.imp xxx/xxx inctype=RESTORE FULL=y FILE=f5.dmp
4.imp xxx/xxx inctype=RESTORE FULL=y FILE=f6.dmp
說(shuō)明:
完全導(dǎo)出:對(duì)整個(gè)數(shù)據(jù)庫(kù)的備份
增量導(dǎo)出:是備份上一次完全導(dǎo)出后改變的數(shù)據(jù)。
累積導(dǎo)出:是備份自上次完全導(dǎo)出后改變的數(shù)據(jù)。
EXAMPLE:LINUX下備份數(shù)據(jù)庫(kù)
BACKUP_DIR=/home/oracle/backups
if [ ! -d $BACKUP_DIR ]; then
mkdir -p $BACKUP_DIR
fi
DAYS=(Sun Mon Tue Wed Thu Fri Sat) #創(chuàng)建數(shù)組
TYPES=(incremental complete incremental incremental incremental cumulative incremental)
day=`date +%w` #取得本周天數(shù),0代表周日,1代表周一
DAY_NAME=${DAYS[$day]} #取得數(shù)組的值
TYPE=${TYPES[$day]}
DATE_NAME=`date +%F`
FILE_NAME=${DATE_NAME}-${DAY_NAME}-${TYPE}.dmp #2008-12-8-Mon-complete.dmp
exp xxx/xxx inctype=$TYPE file=${BACKUP_DIR}/${FILE_NAME} > /dev/null
gzip ${BACKUP_DIR}/${FILE_NAME}
find $BACKUP_DIR -mtime +7 -delete #刪除七天前更改過(guò)的文件
1.通過(guò)使用exp和imp命令實(shí)現(xiàn)數(shù)據(jù)庫(kù)導(dǎo)出和導(dǎo)入。
有三種模式:
a. 用戶模式: 導(dǎo)出(導(dǎo)入)用戶所有對(duì)象以及對(duì)象中的數(shù)據(jù);
b. 表模式: 導(dǎo)出(導(dǎo)入)用戶所有表或者指定的表;
c. 整個(gè)數(shù)據(jù)庫(kù): 導(dǎo)出(導(dǎo)入)數(shù)據(jù)庫(kù)中所有對(duì)象。
如:
普通導(dǎo)出
a.導(dǎo)出一個(gè)完整數(shù)據(jù)庫(kù)
exp system/manager file=f.dmp full=y
b.導(dǎo)出數(shù)據(jù)庫(kù)定義而不導(dǎo)出數(shù)據(jù)
exp system/manager file=f.dmp full=y rows=n
普通導(dǎo)入:
a.完全導(dǎo)入
imp system/manager file=f.dmp full=y
b.數(shù)據(jù)庫(kù)結(jié)構(gòu)存在時(shí),只導(dǎo)入數(shù)據(jù)
imp system/manager file=f.dmp full=y ignore=y
2.每周進(jìn)行數(shù)據(jù)庫(kù)備份,以防數(shù)據(jù)庫(kù)被意外破壞后恢復(fù)數(shù)據(jù)
安排如下:
周一: 完全備份(f1) exp xxx/xxx inctype=complete file=f1.dmp
周二: 增量備份(f2) exp xxx/xxx inctype=incremental file=f2.dmp
周三: 增量備份(f3) exp xxx/xxx inctype=incremental file=f3.dmp
周四: 增量備份(f4) exp xxx/xxx inctype=incremental file=f4.dmp
周五: 累積備份(f5) exp xxx/xxx inctype=cumulative file=f5.dmp
周六: 增量備份(f6) exp xxx/xxx inctype=incremental file=f6.dmp
周日: 增量備份(f7) exp xxx/xxx inctype=incremental file=f7.dmp
比如數(shù)據(jù)庫(kù)在周日被破壞,則可用以下方式恢復(fù):
1.創(chuàng)建空的數(shù)據(jù)庫(kù),同之前的結(jié)構(gòu)。
2.imp xxx/xxx inctype=RESTORE FULL=y FILE=f1.dmp
3.imp xxx/xxx inctype=RESTORE FULL=y FILE=f5.dmp
4.imp xxx/xxx inctype=RESTORE FULL=y FILE=f6.dmp
說(shuō)明:
完全導(dǎo)出:對(duì)整個(gè)數(shù)據(jù)庫(kù)的備份
增量導(dǎo)出:是備份上一次完全導(dǎo)出后改變的數(shù)據(jù)。
累積導(dǎo)出:是備份自上次完全導(dǎo)出后改變的數(shù)據(jù)。
EXAMPLE:LINUX下備份數(shù)據(jù)庫(kù)
BACKUP_DIR=/home/oracle/backups
if [ ! -d $BACKUP_DIR ]; then
mkdir -p $BACKUP_DIR
fi
DAYS=(Sun Mon Tue Wed Thu Fri Sat) #創(chuàng)建數(shù)組
TYPES=(incremental complete incremental incremental incremental cumulative incremental)
day=`date +%w` #取得本周天數(shù),0代表周日,1代表周一
DAY_NAME=${DAYS[$day]} #取得數(shù)組的值
TYPE=${TYPES[$day]}
DATE_NAME=`date +%F`
FILE_NAME=${DATE_NAME}-${DAY_NAME}-${TYPE}.dmp #2008-12-8-Mon-complete.dmp
exp xxx/xxx inctype=$TYPE file=${BACKUP_DIR}/${FILE_NAME} > /dev/null
gzip ${BACKUP_DIR}/${FILE_NAME}
find $BACKUP_DIR -mtime +7 -delete #刪除七天前更改過(guò)的文件
您可能感興趣的文章:
- Linux oracle數(shù)據(jù)庫(kù)自動(dòng)備份自動(dòng)壓縮腳本代碼
- Linux中Oracle數(shù)據(jù)庫(kù)備份
- Linux自動(dòng)備份MySQL數(shù)據(jù)庫(kù)腳本代碼
- linux下mysql自動(dòng)備份數(shù)據(jù)庫(kù)與自動(dòng)刪除臨時(shí)文件
- Linux VPS備份教程 數(shù)據(jù)庫(kù)/網(wǎng)站文件自動(dòng)定時(shí)備份
- linux下Vps自動(dòng)備份web和mysql數(shù)據(jù)庫(kù)的腳本
- linux下備份MYSQL數(shù)據(jù)庫(kù)的方法
- linux每天定時(shí)備份數(shù)據(jù)庫(kù)并刪除十天前數(shù)據(jù)詳細(xì)步驟
相關(guān)文章
Oracle 閃回 找回?cái)?shù)據(jù)的實(shí)現(xiàn)方法
閃回技術(shù)是Oracle強(qiáng)大數(shù)據(jù)庫(kù)備份恢復(fù)機(jī)制的一部分,在數(shù)據(jù)庫(kù)發(fā)生邏輯錯(cuò)誤的時(shí)候,閃回技術(shù)能提供快速且最小損失的恢復(fù)。這篇文章主要介紹了Oracle 閃回 找回?cái)?shù)據(jù)的實(shí)現(xiàn)方法,需要的朋友可以參考下2018-09-09oracle使用sql語(yǔ)句增加字段示例(sql刪除字段語(yǔ)句)
oracle使用sql語(yǔ)句增加修改刪除字段示例2013-12-12Oracle根據(jù)時(shí)間查詢的一些常見(jiàn)情況匯總
根據(jù)時(shí)間查詢是我們?nèi)粘i_(kāi)發(fā)中經(jīng)常會(huì)遇到的一個(gè)功能,下面這篇文章主要給大家介紹了關(guān)于Oracle根據(jù)時(shí)間查詢的一些常見(jiàn)情況,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08Oracle中查看正在運(yùn)行的SQL進(jìn)程腳本分享
這篇文章主要介紹了Oracle中查看正在運(yùn)行的SQL進(jìn)程腳本分享,本文使用腳本實(shí)現(xiàn)了類(lèi)似mysql show processlist命令的功能,需要的朋友可以參考下2014-10-10ORACLE實(shí)現(xiàn)自定義序列號(hào)生成的方法
這篇文章主要為大家詳細(xì)介紹了ORACLE實(shí)現(xiàn)自定義序列號(hào)生成的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10Oracle數(shù)據(jù)庫(kù)表中字段順序的修改方法
這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫(kù)表中字段順序的修改方法,在介紹修改的方法之前先給大家介紹了Oracle數(shù)據(jù)庫(kù)表新建字段的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-11-11