自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何在UNIX下實現(xiàn)Oracle數(shù)據(jù)庫自動備份

系統(tǒng) Linux 數(shù)據(jù)庫運維 Oracle 其他OS
UNIX環(huán)境下如何實現(xiàn)Oracle數(shù)據(jù)庫自動備份?本文講解,如何讓數(shù)據(jù)庫在晚上23點做eXPort導(dǎo)出備份,在凌晨2點將備份文件拷貝到磁帶上,在凌晨4點將備份文件拷貝到另一臺UNIX機器上。

數(shù)據(jù)備份幾乎是每個系統(tǒng)管理員天天都要做的工作,不過,這個工作非常繁瑣——假如天天設(shè)定一個固定的時間,系統(tǒng)自動進行備份,那該多好啊!下面筆者結(jié)合實踐經(jīng)驗,談一談UNIX環(huán)境下如何實現(xiàn)Oracle數(shù)據(jù)庫自動備份,以起到拋磚引玉的作用。

我們計劃讓數(shù)據(jù)庫在晚上23點做eXPort導(dǎo)出備份,在凌晨2點將備份文件拷貝到磁帶上,在凌晨4點將備份文件拷貝到另一臺UNIX機器上,為此我們可進行如下操作:

一、導(dǎo)出Oracle數(shù)據(jù)庫

export命令將數(shù)據(jù)庫中的數(shù)據(jù)備份成一個二進制文件,它通常有三種模式:用戶模式、表模式和整個數(shù)據(jù)庫模式。本文擬采用用戶模式,備份之前,應(yīng)先建立一個備份目錄,以容納備份文件,比如可建一個/backup目錄。接著我們可在UNIX的Oracle目錄下(也可以是其它目錄)分別建立兩個文件ora—backup,tar—backup。需要說明的是,前一個文件需要對Oracle的參數(shù)進行初始化,為了方便起見,我們不妨將初始化命令放到一個文件中(文件名姑且定為ora—env),再由***個文件調(diào)用它。

1. ora—env文件對Oracle的參數(shù)進行初始化,其內(nèi)容如下:

ORACLE—HOME=$ORACLE—HOME;export ORACLE—HOME

ORACLE—SID=ora73;export ORACLE—SID

ORACLE—TERM=sun;export ORACLE—TERM

LD—LIBRARY—PATH=$ORACLE—HOME/lib;export LD—LIBRARY—PATH

ORA—NLS32=$ORACLE—HOME/ocommon/nls/admin/data;export ORA—NLS

PATH=.:/usr/ccs/bin:/usr/UCb:$ORACLE—HOME/bin:$PATH;export PATH

DISPLAY=host1:0;export DISPLAY

NLS—LANG=american—america.zhs16cgb231280;export NLS—LANG

2. ora—backup文件對數(shù)據(jù)庫做export導(dǎo)出,導(dǎo)出的文件名可以任意定,本文定為字母“xx”加當(dāng)天日期,即假如當(dāng)天日期是12月10號,則導(dǎo)出的文件名為“xx1210.dmp”,以區(qū)別于其它日期的備份文件。

ora—backup文件內(nèi)容:

./oracle/ora—env

#初始化Oracle數(shù)據(jù)庫

rq=′date +″%m%d″ ′

#把當(dāng)天日期賦予變量rq

rm /backup/?

# 清空 /backup目錄

exp test/test file=/backup/xx$rq.dmp log=/backup/xx$rq.log

本命令用于在$提示符下,導(dǎo)出test用戶的數(shù)據(jù)(其口令亦為test),導(dǎo)出文件及日志均放在/backup目錄下。

#p#

二、Oracle數(shù)據(jù)庫自動備份之磁帶備份

tar—backup文件將用export命令導(dǎo)出的數(shù)據(jù)文件拷貝到磁帶上。

tar—backup文件內(nèi)容:

tar rvf /dev/rmt/0n/backup/?

本命令可將/backup目錄下當(dāng)天產(chǎn)生的文件備份到磁帶上。本文件中,tar命令使用了三個參數(shù),其中r選項表示向磁帶上拷入文件而不破壞磁帶原來內(nèi)容,v選項表示在拷貝過程中顯示文件信息,f選項后面加上磁帶設(shè)備名,指定文件向何處拷貝,n選項表示磁帶機不倒帶。/dev/rmt/0表示UNIX主機***個磁帶驅(qū)動器,同理,/dev/rmt/1則表示UNIX主機第二個磁帶驅(qū)動器,依此類推。

ora—env、ora—backup、tar—backup文件編寫完成后,分別使用下述命令:

chmod 755 ora—env

chmod 755 ora—backup

chmod 755 tar—backup

這樣,三個文件就都變成了可執(zhí)行文件。

#p#

三、Oracle數(shù)據(jù)庫自動備份之異地備份

我們知道,通常可用FTP命令在兩臺主機間傳輸數(shù)據(jù),但一般是通過交互方式實現(xiàn)的,即需要手工輸入目標(biāo)主機的IP地址、用戶名、口令等。顯然,這不符合自動備份的要求。所幸的是,我們可以通過編寫一個.netrc的文件來達(dá)到目標(biāo)。這一文件必須命名為.netrc,且必須存放在啟動FTP命令的機器上的用戶注冊目錄中,該文件的權(quán)限應(yīng)禁止組內(nèi)或其它用戶進行讀訪問。這樣,當(dāng)用戶使用FTP命令的時候,系統(tǒng)將會在該用戶的注冊目錄中尋找.netrc文件,假如能夠?qū)ふ业?,將會首先?zhí)行該文件,否則,會交互式地提示用戶輸入用戶名、口令等。

在使用FTP命令之前,應(yīng)先在另一臺作備份用的UNIX機器上建一目錄,以容納備份文件,本文建的目錄是/pub 。需要指出的是,為了加快備份速度,兩臺主機之間的傳輸速率應(yīng)盡可能的高,***位于同一局域網(wǎng)上。

.netrc文件內(nèi)容如下:

machine host2

# host2為作備份用的主機名

login oracle

#oracle為備份主機上的一個用戶

passWord oracle

#oracle用戶的口令為oracle

macdef init

#定義一個名為init的宏,它將在自動注冊進程的***被執(zhí)行

bin

#文件的傳輸方式設(shè)為二進制

lcd /backup

# 進入本地工作目錄/backup

cd /pub

# 進入備份主機目錄/pub

mput ?

# 將/backup目錄下的所有文件傳輸至備份主機

bye

#退出FTP會話進程

.netrc文件編寫完成后,使用下述命令:

chmod 600 .netrc

這樣,.netrc文件就只能被該用戶所訪問。

四、啟動備份進程

Cron是一個***進程,它由/etc/rc.local啟動執(zhí)行。Cron檢查/var/spool/cron/crontabs/?目錄中的文件,找到所要執(zhí)行的任務(wù)和執(zhí)行任務(wù)的時間。

Crontab文件的每一行由六個域(minutes、hours、day of month、month、day of week、 command)組成,域之間用空格或Tab分開,其中:

minutes:分鐘域,值的范圍是0到59

hours:小時域,值的范圍是0到23

day of month:日期,值的范圍是1到31

month:月份,值的范圍是1到12

day of week:星期,值的范圍是0到6,星期日值為0

command:所要運行的命令

假如一個域是?,表明命令可以在該域所有可能的取值范圍內(nèi)執(zhí)行。

假如一個域是由連字符隔開的兩個數(shù)字,表明命令可以在兩個數(shù)字之間的范圍內(nèi)執(zhí)行(包括兩個數(shù)字本身)。

假如一個域是由逗號隔開的一系列值組成的,表明命令可以在這些值組成的范圍內(nèi)執(zhí)行。

假如日期域和星期域都有值,則這兩個域都有效。

現(xiàn)在,我們編寫一個文件,用以啟動自動備份進程。值得注重的是,該文件只能在Oracle用戶名下用crontab -e 命令來編輯,否則將不會被定時執(zhí)行,文件名定為Oracle,文件將放在/var/spool/cron/crontabs 目錄下。編輯完成后,可以在Oracle的$提示符下,用crontab -l命令來查看。

Oracle文件內(nèi)容:

0 23 ? ? ? /oracle/ora—backup

# 天天23點對數(shù)據(jù)庫執(zhí)行備份

0 2 ? ? ? /oracle/tar—backup

# 天天2點將文件備份到磁帶上

0 4 ? ? ? ftp -i host2

# 天天4點將文件備份到另一臺主機上

經(jīng)過以上的操作后,系統(tǒng)天天晚上將自動產(chǎn)生一個備份,并且自動將備份文件分別拷貝到磁帶上和另一臺主機上,從而實現(xiàn)Oracle數(shù)據(jù)庫自動備份。系統(tǒng)治理員需要做的是,隔幾天換一盤磁帶(更換磁帶的周期取決于備份文件的大小和磁帶的容量)和清理備份目錄。這樣,他們就可以從備份數(shù)據(jù)的繁瑣中解脫出來,去做其它更有意義的工作。而數(shù)據(jù)庫既實現(xiàn)了磁帶備份,又實現(xiàn)了異地備份,相應(yīng)的安全性也大大提高了。

【編輯推薦】

  1. Oracle數(shù)據(jù)庫備份與恢復(fù)之完全攻略
  2. 實戰(zhàn)Oracle數(shù)據(jù)庫備份與恢復(fù)
  3. 專題:MySQL數(shù)據(jù)庫備份
責(zé)任編輯:趙寧寧 來源: IT實驗室
相關(guān)推薦

2010-04-19 13:15:00

Oracle數(shù)據(jù)庫

2009-03-26 11:42:36

定時備份Oracle

2010-04-19 12:35:36

Oracle數(shù)據(jù)庫

2010-04-19 12:54:01

Oracle數(shù)據(jù)庫

2021-09-22 09:55:20

LinuxMySQL數(shù)據(jù)庫

2018-06-07 09:22:16

LinuxMysql備份

2019-07-25 18:57:36

Linux數(shù)據(jù)庫自動備份

2009-11-20 14:08:39

Oracle數(shù)據(jù)庫備份

2010-08-12 13:32:08

DB2數(shù)據(jù)庫備份

2011-05-25 10:56:19

Oracle數(shù)據(jù)庫Unix環(huán)境優(yōu)化

2013-05-24 13:24:46

Mysql數(shù)據(jù)庫自動備份

2010-04-09 15:22:57

Oracle數(shù)據(jù)庫

2018-12-12 19:10:01

Oracle數(shù)據(jù)庫自動備份

2023-09-05 08:40:57

刪除數(shù)據(jù)庫Oracle

2010-05-26 15:07:36

SVN版本庫自動備份

2011-05-17 15:02:15

ORACLE數(shù)據(jù)庫備份

2011-08-04 17:32:33

Oracle數(shù)據(jù)庫dmp文件

2010-10-26 13:33:08

Oracle自動備份

2011-03-30 13:57:41

MySQL數(shù)據(jù)庫自動備份

2011-05-17 14:19:28

Oracle異地數(shù)據(jù)庫自動備份
點贊
收藏

51CTO技術(shù)棧公眾號