亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

實現Oracle數據庫每天異地自動備份

瀏覽:6日期:2023-11-14 10:54:52
相信為數不少的系統治理員天天都在做著同一樣的工作——對數據進行備份。一旦哪一天疏忽了,而這一天系統又恰恰發生了故障,需要進行數據恢復,那么此時就無能為力了。假如天天設定一個固定的時間,系統自動進行備份,那該多好啊!下面筆者結合實踐經驗,談一談UNIX環境下Oracle數據庫的自動備份,以起到拋磚引玉的作用。 我們計劃讓數據庫在晚上23點做eXPort導出備份,在凌晨2點將備份文件拷貝到磁帶上,在凌晨4點將備份文件拷貝到另一臺UNIX機器上,為此我們可進行如下操作: 一、導出數據庫 export命令將數據庫中的數據備份成一個二進制文件,它通常有三種模式:用戶模式、表模式和整個數據庫模式。本文擬采用用戶模式,備份之前,應先建立一個備份目錄,以容納備份文件,比如可建一個/backup目錄。接著我們可在UNIX的Oracle目錄下(也可以是其它目錄)分別建立兩個文件ora—backup,tar—backup。需要說明的是,前一個文件需要對Oracle的參數進行初始化,為了方便起見,我們不妨將初始化命令放到一個文件中(文件名姑且定為ora—env),再由第一個文件調用它。 1. ora—env文件對Oracle的參數進行初始化,其內容如下: ORACLE—HOME=$ORACLE—HOME;export ORACLE—HOMEORACLE—SID=ora73;export ORACLE—SIDORACLE—TERM=sun;export ORACLE—TERMLD—LIBRARY—PATH=$ORACLE—HOME/lib;export LD—LIBRARY—PATHORA—NLS32=$ORACLE—HOME/ocommon/nls/admin/data;export ORA—NLSPATH=.:/usr/ccs/bin:/usr/UCb:$ORACLE—HOME/bin:$PATH;export PATHDISPLAY=host1:0;export DISPLAYNLS—LANG=american—america.zhs16cgb231280;export NLS—LANG2. ora—backup文件對數據庫做export導出,導出的文件名可以任意定,本文定為字母“xx”加當天日期,即假如當天日期是12月10號,則導出的文件名為“xx1210.dmp”,以區別于其它日期的備份文件。 ora—backup文件內容: ./oracle/ora—env#初始化Oracle數據庫rq=′date +″%m%d″ ′#把當天日期賦予變量rqrm /backup/# 清空 /backup目錄exp test/test file=/backup/xx$rq.dmp log=/backup/xx$rq.log本命令用于在$提示符下,導出test用戶的數據(其口令亦為test),導出文件及日志均放在/backup目錄下。 二、磁帶備份 tar—backup文件將用export命令導出的數據文件拷貝到磁帶上。 tar—backup文件內容: tar rvf /dev/rmt/0n/backup/本命令可將/backup目錄下當天產生的文件備份到磁帶上。本文件中,tar命令使用了三個參數,其中r選項表示向磁帶上拷入文件而不破壞磁帶原來內容,v選項表示在拷貝過程中顯示文件信息,f選項后面加上磁帶設備名,指定文件向何處拷貝,n選項表示磁帶機不倒帶。/dev/rmt/0表示UNIX主機第一個磁帶驅動器,同理,/dev/rmt/1則表示UNIX主機第二個磁帶驅動器,依此類推。 ora—env、ora—backup、tar—backup文件編寫完成后,分別使用下述命令: chmod 755 ora—envchmod 755 ora—backupchmod 755 tar—backup這樣,三個文件就都變成了可執行文件。 三、異地備份 我們知道,通常可用FTP命令在兩臺主機間傳輸數據,但一般是通過交互方式實現的,即需要手工輸入目標主機的IP地址、用戶名、口令等。顯然,這不符合自動備份的要求。所幸的是,我們可以通過編寫一個.netrc的文件來達到目標。這一文件必須命名為.netrc,且必須存放在啟動FTP命令的機器上的用戶注冊目錄中,該文件的權限應禁止組內或其它用戶進行讀訪問。這樣,當用戶使用FTP命令的時候,系統將會在該用戶的注冊目錄中尋找.netrc文件,假如能夠尋找到,將會首先執行該文件,否則,會交互式地提示用戶輸入用戶名、口令等。 在使用FTP命令之前,應先在另一臺作備份用的UNIX機器上建一目錄,以容納備份文件,本文建的目錄是/pub 。需要指出的是,為了加快備份速度,兩臺主機之間的傳輸速率應盡可能的高,最好位于同一局域網上。 .netrc文件內容如下: machine host2# host2為作備份用的主機名login oracle#oracle為備份主機上的一個用戶passWord oracle#oracle用戶的口令為oraclemacdef init#定義一個名為init的宏,它將在自動注冊進程的最后被執行bin#文件的傳輸方式設為二進制lcd /backup# 進入本地工作目錄/backupcd /pub# 進入備份主機目錄/pubmput # 將/backup目錄下的所有文件傳輸至備份主機bye#退出FTP會話進程.netrc文件編寫完成后,使用下述命令:chmod 600 .netrc這樣,.netrc文件就只能被該用戶所訪問。 四、啟動備份進程 Cron是一個永久進程,它由/etc/rc.local啟動執行。Cron檢查/var/spool/cron/crontabs/目錄中的文件,找到所要執行的任務和執行任務的時間。 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:所要運行的命令; 假如一個域是,表明命令可以在該域所有可能的取值范圍內執行。 假如一個域是由連字符隔開的兩個數字,表明命令可以在兩個數字之間的范圍內執行(包括兩個數字本身)。 假如一個域是由逗號隔開的一系列值組成的,表明命令可以在這些值組成的范圍內執行。 假如日期域和星期域都有值,則這兩個域都有效。 現在,我們編寫一個文件,用以啟動自動備份進程。值得注重的是,該文件只能在Oracle用戶名下用crontab -e 命令來編輯,否則將不會被定時執行,文件名定為Oracle,文件將放在/var/spool/cron/crontabs 目錄下。編輯完成后,可以在Oracle的$提示符下,用crontab -l命令來查看。 Oracle文件內容: 0 23    /oracle/ora—backup# 天天23點對數據庫執行備份0 2    /oracle/tar—backup# 天天2點將文件備份到磁帶上0 4    ftp -i host2# 天天4點將文件備份到另一臺主機上經過以上的操作后,系統天天晚上將自動產生一個備份,并且自動將備份文件分別拷貝到磁帶上和另一臺主機上。系統治理員需要做的是,隔幾天換一盤磁帶(更換磁帶的周期取決于備份文件的大小和磁帶的容量)和清理備份目錄。這樣,他們就可以從備份數據的繁瑣中解脫出來,去做其它更有意義的工作。而數據庫既實現了磁帶備份,又實現了異地備份,相應的安全性也大大提高了。
標簽: Oracle 數據庫
主站蜘蛛池模板: 久久青青草原精品国产不卡 | 成人国产精品免费软件 | 麻豆com| 亚洲欧美日韩中文字幕在线一 | 最新在线观看精品国产福利片 | 视频一区二区三区欧美日韩 | 青草草在线观看免费视频 | 激情视频一区 | 欧美激情大尺度做爰叫床声 | 精品国产人成亚洲区 | 制服丝袜中文字幕在线观看 | 久久综合中文字幕一区二区 | 男女激情爱爱 | 欧美影视一区二区三区 | 九九九九热精品免费视频 | 国产下药迷倒白嫩美女网站 | 亚洲欧美日本人成在线观看 | 日本久操 | 人人狠狠| 亚洲精品中文字幕乱码 | 国产精品jizz在线观看软件 | 欧美三级欧美一级 | 欧美成人免费全网站大片 | 免费看影片的网站入口 | 国产成人精品日本亚洲语音 | 欧美日本黄色 | 国产剧情第一页 | 999精品免费视频 | 亚洲毛片免费视频 | 一级免费a | 国产欧美亚洲精品a | 九九视频免费观看 | a级国产乱理片在线观看 | 久在草视频 | 成人免费xxxxx在线视频 | 一级一片免费视频播放 | 给我一个可以看片的www日本 | 国产区网址 | 国产原创一区二区 | 国产乱码精品一区二区三区四川 | 51视频在线观看免费国产 |