第一篇:Sybase數(shù)據(jù)庫備份方案
Sybase數(shù)據(jù)庫備份方案
Sybase數(shù)據(jù)備份方案,Sybase數(shù)據(jù)庫產(chǎn)品自從1987年問世以來,它的客戶機(jī)/服務(wù)器(client/server)工作模式、分布處理的基礎(chǔ)體系結(jié)構(gòu)、完善的安全保密性能、高速快捷的運(yùn)行方式、多平臺跨操作系統(tǒng)的廣泛應(yīng)用等優(yōu)點(diǎn),迅速被IT界接受并推廣應(yīng)用。
我們作為金融業(yè)的用戶,也在1995年開始使用Sybase10版本。在具體的使用中,發(fā)現(xiàn)集中式的數(shù)據(jù)管理有其優(yōu)點(diǎn),就是數(shù)據(jù)風(fēng)險(xiǎn)范圍大為縮小,但是作為Sybase的服務(wù)器一端,數(shù)據(jù)風(fēng)險(xiǎn)比較集中,如何做好數(shù)據(jù)庫的數(shù)據(jù)備份,成為至關(guān)重要的問題。
在實(shí)際應(yīng)用中,我們總結(jié)出了兩種全量備份方案:
一、Sybase數(shù)據(jù)備份方案之使用Sybase的BackupServer(備份服務(wù)器),做Dump備份
轉(zhuǎn)儲數(shù)據(jù)庫(Dumpdatabase),就是為整個(gè)數(shù)據(jù)庫(包括數(shù)據(jù)、表結(jié)構(gòu)、觸發(fā)器、游標(biāo)、存儲過程、事務(wù)日志等)做一次物理備份。轉(zhuǎn)儲數(shù)據(jù)庫時(shí),系統(tǒng)自動(dòng)執(zhí)行一次checkpoint,即將日志和數(shù)據(jù)從緩沖區(qū)拷貝到硬盤(只拷貝臟頁),把已被分配的頁(日志和數(shù)據(jù))轉(zhuǎn)儲到設(shè)備。命令格式為:
dumpdatabase數(shù)據(jù)庫名to設(shè)備文件名with參數(shù)
如果備份到硬盤的文件上,可以不預(yù)先估算備份文件的大小,只要硬盤有足夠的存儲空間就可以。如果是備份到dds磁帶上,那么就要估算一下備份后的大小,90米的dds磁帶壓縮存儲空間為4G,120米的磁帶壓縮存儲空間為8G,如果數(shù)據(jù)庫的備份文件超過了這個(gè)尺寸,就要考慮多文件轉(zhuǎn)儲,使用stripe參數(shù)。命令格式為:
dumpdatabase數(shù)據(jù)庫名to設(shè)備文件名1 stripeon設(shè)備文件名2 stripeon設(shè)備文件名3…… with參數(shù) 這種數(shù)據(jù)備份方式是將整個(gè)數(shù)據(jù)庫的運(yùn)行環(huán)境完整的復(fù)制一份,包括數(shù)據(jù)庫的臟頁和碎片,在使用load命令恢復(fù)時(shí),只能恢復(fù)到同樣大小的數(shù)據(jù)庫中(數(shù)據(jù)和日志的大小都只能和原來完全一致),適用于在每天的日終營業(yè)網(wǎng)點(diǎn)下班后的日常備份。優(yōu)點(diǎn)是數(shù)據(jù)庫完整無誤,缺點(diǎn)是不能直接查看備份內(nèi)容。
二、Sybase數(shù)據(jù)備份方案之分?jǐn)?shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)記錄做兩次備份
在一般情況下,生產(chǎn)機(jī)的數(shù)據(jù)庫都比較龐大,而實(shí)驗(yàn)機(jī)則相對較小,難以在實(shí)驗(yàn)環(huán)境中以load命令恢復(fù)工作機(jī)的內(nèi)容。所以,在工作實(shí)踐中,我們摸索出了第二種全量備份方案。
1、數(shù)據(jù)結(jié)構(gòu)備份
在windows平臺的SybaseSQLServerManager(數(shù)據(jù)庫管理)平臺中選擇ServeràGenerateddl則產(chǎn)生整個(gè)數(shù)據(jù)庫服務(wù)器的所有信息,如果選擇databaseàgenerateddl則產(chǎn)生所選定數(shù)據(jù)庫的信息,以master庫為例,產(chǎn)生的文件主要包括:config.ddl(配置)、devices.ddl(設(shè)備)、database.ddl(數(shù)據(jù)庫)、logins.ddl(用戶)、remote.ddl(遠(yuǎn)程)、cache.ddl(緩沖)、segment.ddl()、group.ddl(用戶組)、user.ddl(用戶)、default.ddl(確省)、rule.ddl(規(guī)則)、udt.ddl、table.ddl(表)、view.ddl(視圖)、proc.ddl(存儲過程)、triger.ddl(觸發(fā)器)。
2、數(shù)據(jù)記錄備份
將數(shù)據(jù)庫各表以Sybase自代的bcp(bulkcopy)工具的方式導(dǎo)成一定格式的文本文件,命令格式:
bcp表名out路徑名文件名-c-t分隔符-u(用戶名)-p(密碼)-S(服務(wù)器名)如果將一個(gè)數(shù)據(jù)庫中的所有表都做一個(gè)bcp備份,就需要針對每一個(gè)表都做一次bcp,在一般情況下,一個(gè)數(shù)據(jù)庫有100多個(gè)表,工作量比較大。可以利用數(shù)據(jù)庫中的系統(tǒng)表信息做一個(gè)bcp備份腳本。原理是每一個(gè)用戶表在系統(tǒng)表中都有信息記載,可以通過isql語句查詢得到。現(xiàn)舉一例說明: 1)、先編輯一個(gè)名為mkbcpout.sql的文件,內(nèi)容如下: select“echobcp'”+name+“out……………………'
”+“bcp”+name+“out./+”name+“.table-c-t'|'-Uuser-Ppassword-SSERVER”fromsysobjectswheretype='U' go 2)、執(zhí)行isql命令,以此文件作為輸入,執(zhí)行結(jié)果輸出到另外一個(gè)文件里: isql-Uuser-Ppassword-Sserver-Imkbcpout.sql-Obcpout 3)、對bcppout文件稍微修改,增加可執(zhí)行權(quán)限 chmod+xbcpout 4)、執(zhí)行bcpout,導(dǎo)出數(shù)據(jù)文本./bcpout
3、數(shù)據(jù)庫恢復(fù)
業(yè)務(wù)生產(chǎn)機(jī)可能為小型機(jī),而實(shí)驗(yàn)開發(fā)環(huán)境的硬件環(huán)境為PCserver,安裝好winnt或SCOunix下的Sybase服務(wù)器后,根據(jù)需要?jiǎng)?chuàng)建空間足夠大的數(shù)據(jù)庫和tempdb(系統(tǒng)臨時(shí)數(shù)據(jù)庫),創(chuàng)建數(shù)據(jù)庫用戶,并將其更改為此數(shù)據(jù)庫的所有者,要注意兩點(diǎn):1)此數(shù)據(jù)庫允許bcp拷貝,2)此數(shù)據(jù)庫自動(dòng)清除log。命令格式為:
1>sp_dboptiondatabasedbname,“selectinto/bulkcopy”,true 2>go 1>sp_dboptiondatabasename,“trunclogonchkpt”,true 2>go 上述兩個(gè)配置可能與生產(chǎn)機(jī)的配置不同。
然后以新創(chuàng)建的數(shù)據(jù)庫用戶登錄,導(dǎo)入數(shù)據(jù)結(jié)構(gòu),注意要首先導(dǎo)入表結(jié)構(gòu),然后才是存儲過程、觸發(fā)器等等。命令格式:
1、isql-Uusername-Ppassword-Itable.ddl-oerror.log.table
2、isql-Uusername-Ppassword-Iproc.ddl-oerror.log.proc ……
為了提高bcp導(dǎo)入數(shù)據(jù)的速度,需要將比較大的表的索引和主鍵刪除,否則的話,每bcp進(jìn)一條數(shù)據(jù),數(shù)據(jù)庫都自動(dòng)寫一條log日志,記載此數(shù)據(jù)的上一條和下一條記錄,確定本記錄在此表中的準(zhǔn)確位置,一是影響bcp速度,二是數(shù)據(jù)庫的log飛速膨脹。數(shù)據(jù)庫的自動(dòng)清除log功能只有在一個(gè)事務(wù)結(jié)束后才起作用。準(zhǔn)備工作做完后,開始倒入數(shù)據(jù)記錄。使用類似做bcpout的方法做一個(gè)bcpin的腳本,然后執(zhí)行:./bcpin|teeerror.bcpin 使用tee管道輸出的目的是讓計(jì)算機(jī)完整記錄下倒入過程,自動(dòng)存入error.bcpin文件中,待倒入結(jié)束后,我們只需要檢查日志文件,不需要一直緊盯著計(jì)算機(jī)屏幕。所有工作做完之后,不要忘記重新將刪除的主鍵和索引建上。
如果有現(xiàn)成的數(shù)據(jù)庫,只需要單純地導(dǎo)入數(shù)據(jù)記錄,則首先將數(shù)據(jù)庫中所有用戶表(也就是所有type=“U”的表)清空,命令格式: 1>truncatetabletablename 2>go 當(dāng)然最好也是利用做bcpout腳本的做一個(gè)truncate腳本,通過執(zhí)行此腳本將所有用戶表清空。然后的數(shù)據(jù)導(dǎo)入、處理索引和主鍵的過程與上面類似。
三、Sybase數(shù)據(jù)備份方案之利用做bcp備份腳本的方法做數(shù)據(jù)庫碎片整理 Sybase數(shù)據(jù)庫作為聯(lián)機(jī)事務(wù)處理應(yīng)用服務(wù)器,每天應(yīng)用程序都對數(shù)據(jù)庫做大量的插入、修改和刪除等操作,不可避免的在數(shù)據(jù)庫的物理存儲介質(zhì)上留下頁碎片和擴(kuò)展單元碎片,從而影響數(shù)據(jù)庫的存儲效率和運(yùn)行速度。具體表現(xiàn)為:業(yè)務(wù)繁忙時(shí)出現(xiàn)死鎖(deadlock),數(shù)據(jù)庫的輸入/輸出資源被大量占用,業(yè)務(wù)處理速度慢。其解決辦法是:
1、清空數(shù)據(jù)庫中的所有表,命令格式:
isql-Uusername-Ppassword-Itruncate.sql-oerror.truncate
2、刪除所有表的索引和主鍵
isql-Uusername-Ppassword-Idropindex.sql-oerror.dropindex
3、導(dǎo)入數(shù)據(jù)./bcpin
4、添加索引和主鍵
isql-Uusername-Ppassword-Iaddindex.sql-oerror.addindex
5、更新數(shù)據(jù)庫狀態(tài)
1>updatestatisticstablename 2>go 上述操作都是針對數(shù)據(jù)庫中的所有用戶表進(jìn)行的,利用做bcp備份腳本的方法做出相應(yīng)的腳本,使繁瑣的數(shù)據(jù)庫維護(hù)變得簡便易行,還克服了直接使用isql語句操作風(fēng)險(xiǎn)大、沒有操作日志的毛病。以上就是對Sybase數(shù)據(jù)備份方案的簡單介紹。
第二篇:sybase數(shù)據(jù)庫自動(dòng)備份方案(forwindows)
2.2版財(cái)務(wù)軟件、3.0集中核算版財(cái)務(wù)軟件自動(dòng)備份方案
作者:yaya
感謝:scott 大力支持
準(zhǔn)備工作:
1、下載WinRAR3.0壓縮工具(假設(shè)安裝在D盤)
2、檢查Sybase BCKServer(sybase備份服務(wù))服務(wù)是否啟動(dòng)
3、Task Scheduler(計(jì)劃任務(wù))服務(wù)是否啟動(dòng)
4、創(chuàng)建備份用文件夾,本文以E:backup 為例
5、用記事本編寫一個(gè)sql文件,文件名為backup.sql,內(nèi)容如下: use master go dump database cwbase1 to “e:backupback.dat” go exit 并將此文件拷貝至D:sybase文件夾下(假設(shè)sybase裝在D盤)
操作過程:
一、數(shù)據(jù)庫自動(dòng)備份
1、點(diǎn)擊我的電腦-控制面板-計(jì)劃任務(wù)
2、添加“計(jì)劃任務(wù)”,應(yīng)用程序選擇D:Sybasebinisql.exe(假設(shè)sybase裝在D盤)
3、選擇
每天
執(zhí)
行
該
程
序1
4、輸入服務(wù)器系統(tǒng)管理員密碼(進(jìn)入Windows2000的密碼)
5、選擇打開高級屬性選項(xiàng)
6、如圖,在運(yùn)行里輸入isql.exe-Usa-Paaaaaa-id:sybasebackup.sql(-U是指用戶,后面緊跟數(shù)據(jù)庫管理員用戶名,默認(rèn)是sa,-P是密碼,后面緊跟數(shù)據(jù)庫管理員密碼,目前系統(tǒng)默認(rèn)為空,必須設(shè)置上密碼,可以通過2.2版本的帳套管理修改數(shù)據(jù)庫管理員密碼,本文以aaaaaa為例;-i,是指路徑,后面緊跟要執(zhí)行的sql語句路徑)
7、選擇日程安排,選擇一個(gè)不工作的時(shí)段啟動(dòng)計(jì)劃任務(wù)。
自動(dòng)備份功能至此結(jié)束,然后我們借用WinRAR自帶的RAR工具將備份好的數(shù)據(jù)壓縮并按3 照日期命名保存。
二、自動(dòng)壓縮并按日期命名
1、再添加一個(gè)計(jì)劃任務(wù),運(yùn)行欄輸入 “D:Program FilesWinRARRar.exe” a-ag-df e:backupback e:backupback.dat
2、將該任務(wù)定義為每天自動(dòng)啟動(dòng),要比數(shù)據(jù)庫自動(dòng)備份任務(wù)延遲30分鐘以上。即可實(shí)現(xiàn)自動(dòng)將備份數(shù)據(jù)庫壓縮并刪除原文件生成以日期命名的文件。
3、定期將該文件夾下的文件刻錄成光盤永久保存。
數(shù)據(jù)恢復(fù)時(shí),啟動(dòng)sql advantage,執(zhí)行 load database cwbase1 from “e:backupback.dat” 即可
第三篇:數(shù)據(jù)庫備份方案
1、完全備份(Full Backup)
備份全部選中的文件夾,并不依賴文件的存檔屬性來確定備份那些文件。在備份過程中,任何現(xiàn)有的標(biāo)記都被清除,每個(gè)文件都被標(biāo)記為已備份。換言之,清除存檔屬性。
完全備份就是指對某一個(gè)時(shí)間點(diǎn)上的所有數(shù)據(jù)或應(yīng)用進(jìn)行的一個(gè)完全拷貝。實(shí)際應(yīng)用中就是用一盤磁帶對整個(gè)系統(tǒng)進(jìn)行完全備份,包括其中的系統(tǒng)和所有數(shù)據(jù)。這種備份方式最大的好處就是只要用一盤磁帶,就可以恢復(fù)丟失的數(shù)據(jù)。因此大大加快了系統(tǒng)或數(shù)據(jù)的恢復(fù)時(shí)間。然而它的不足之處在于,各個(gè)全備份磁帶中的備份數(shù)據(jù)存在大量的重復(fù)信息;另外,由于每次需要備份的數(shù)據(jù)量相當(dāng)大,因此備份所需時(shí)間較長。
2、差異備份(Differential Backup)
備份自上一次完全備份之后有變化的數(shù)據(jù)。差異備份過程中,只備份有標(biāo)記的那些選中的文件和文件夾。它不清除標(biāo)記,也即備份后不標(biāo)記為已備份文件。換言之,不清除存檔屬性。
差異備份是指在一次全備份后到進(jìn)行差異備份的這段時(shí)間內(nèi),對那些增加或者修改文件的備份。在進(jìn)行恢復(fù)時(shí),我們只需對第一次全備份和最后一次差異備份進(jìn)行恢復(fù)。差異備份在避免了另外兩種備份策略缺陷的同時(shí),又具備了它們各自的優(yōu)點(diǎn)。首先,它具有了增量備份需要時(shí)間短、節(jié)省磁盤空間的優(yōu)勢;其次,它又具有了全備份恢復(fù)所需磁帶少、恢復(fù)時(shí)間短的特點(diǎn)。系統(tǒng)管理員只需要兩盤磁帶,即全備份磁帶與災(zāi)難發(fā)生前一天的差異備份磁帶,就可以將系統(tǒng)恢復(fù)。
3、增量備份(Incremental Backup)
備份自上一次備份(包含完全備份、差異備份、增量備份)之后有變化的數(shù)據(jù)。增量備份過程中,只備份有標(biāo)記的選中的文件和文件夾,它清除標(biāo)記,既:備份后標(biāo)記文件,換言之,清除存檔屬性。
增量備份是指在一次全備份或上一次增量備份后,以后每次的備份只需備份與前一次相比增加和者被修改的文件。這就意味著,第一次增量備份的對象是進(jìn)行全備后所產(chǎn)生的增加和修改的文件;第二次增量備份的對象是進(jìn)行第一次增量備份后所產(chǎn)生的增加和修改的文件,如此類推。這種備份方式最顯著的優(yōu)點(diǎn)就是:沒有重復(fù)的備份數(shù)據(jù),因此備份的數(shù)據(jù)量不大,備份所需的時(shí)間很短。但增量備份的數(shù)據(jù)恢復(fù)是比較麻煩的。您必須具有上一次全備份和所有增量備份磁帶(一旦丟失或損壞其中的一盤磁帶,就會造成恢復(fù)的失敗),并且它們必須沿著從全備份到依次增量備份的時(shí)間順序逐個(gè)反推恢復(fù),因此這就極大地延長了恢復(fù)時(shí)間。
第四篇:oracle數(shù)據(jù)庫自動(dòng)備份方案
1.目的
編寫本文檔的目的為實(shí)現(xiàn)ORACLE數(shù)據(jù)庫的自動(dòng)備份,為不動(dòng)產(chǎn)數(shù)據(jù)增加一份數(shù)據(jù)安全按保障。
2.軟件環(huán)境
數(shù)據(jù)庫服務(wù)器:oracle 11g atabase x64 v11.2.0.4.0 客戶端:Oracle client x64 v11.2.0.4.0 注意:數(shù)據(jù)庫服務(wù)器和客戶端版本必須保持一致,否則會出現(xiàn)無法預(yù)知的錯(cuò)誤。
3.實(shí)施方案
3.1.編寫數(shù)據(jù)庫自動(dòng)備份腳本
腳本內(nèi)容如下,將文件存儲為oraclebackup.bat:
@echo off echo 刪除10天前的備分文件和日志
forfiles /p “D:oraclebackup” /m *.dmp /d-10 /c “cmd /c del @path” forfiles /p “D:oraclebackup” /m *.log /d-10 /c “cmd /c del @path” echo 正在備份 oracle 數(shù)據(jù)庫,請稍等……
exp BDCDJ_CP/BDCDJ_CP@10.6.161.70/orcl file=D:/oraclebackup/BDCDJ_CP%date:~0,4%%date:~5,2%%date:~8,2%.dmp log=D:/oraclebackup/BDCDJ_CP%date:~0,4%%date:~5,2%%date:~8,2%.log echo 任務(wù)完成!注意:
1)修改數(shù)據(jù)庫連接用戶名、密碼、數(shù)據(jù)庫地址和實(shí)例名
2)修改備份文件存儲地址,以上腳本存儲位置為D:oraclebackup 3.2.新建任務(wù)計(jì)劃
1)打開任務(wù)計(jì)劃程序
2)打開創(chuàng)建基本任務(wù),輸入任務(wù)名稱、選擇任務(wù)執(zhí)行時(shí)間和執(zhí)行的腳本,完成任務(wù)計(jì)劃創(chuàng)建。
第五篇:數(shù)據(jù)庫備份和恢復(fù)方案及步驟(最終版)
操作系統(tǒng):GNU/Linux 數(shù)據(jù)庫管理系統(tǒng):Oracle10g
一、安裝Recovery Catalog 1,用dbca創(chuàng)建一個(gè)DATABASE catdb,用于存放recovery catalog data [oracle@localhost ~]$dbca 2,在catdb中創(chuàng)建一個(gè)名為rcat_ts的表空間作為用戶rman的默認(rèn)表空間
[oracle@localhost ~]$sqlplus sys/oracle@catdb as sysdba SQL> create tablespace rcat_ts;SQL> create user rman identified by oracle temporary tablespace temp Default tablespace rcat_ts quota unlimited on rcat_ts;3,授予catlog所有者rman recovery_catalog_owner角色,該角色提供給用戶所有查詢和維護(hù)recovery catalog所必需的權(quán)限
SQL> grant connect,resource,recovery_catalog_owner to rman;4,啟動(dòng)rman,以catalog所有者rman登錄
[oracle@localhost ~]$rman catalog rman/oracle@catdb RMAN> create catalog tablespace rcat_ts;5,用rman同時(shí)連接到target數(shù)據(jù)庫、catalog數(shù)據(jù)庫,在新建的recovery catalog中注冊target數(shù)據(jù)庫
[oracle@localhost ~]$rman target sys/oracle@orcl catalog rman/oracle@catdb RMAN> register database;6,察看已在recovery catalog中注冊的target數(shù)據(jù)庫
[oracle@localhost ~]$sqlplus rman/oracle@catdb SQL>select * from db;
二、配置RMAN
1,同時(shí)連接target數(shù)據(jù)庫和recovery catalog數(shù)據(jù)庫
[oracle@localhost ~]$rman target sys/oracle@orcl catalog rman/oracle@catdb 2,RMAN> show all(檢查配置)
configure default device type to disk(設(shè)置默認(rèn)的備份的設(shè)備為磁盤)
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET;(設(shè)置備份的并行級別)
configure channel 1 device type disk format '/home/new/backup_%U'(設(shè)置備份文件格式)
configure channel 2 device type disk format '/home/oracle/backup_%U'(設(shè)置備份文件格式)
configure controlfile autobackup on(打開控制文件的自動(dòng)備份)
configure controlfile autobackup format for device type disk to '/home/new/ctl_%F'(設(shè)置控制文件備份格式)
三.備份測試
備份全庫
1,同時(shí)連接target數(shù)據(jù)庫和recovery catalog數(shù)據(jù)庫
[oracle@localhost ~]$rman target sys/oracle@orcl catalog rman/oracle@catdb 2,RMAN> backup database plus archivelog delete input;3,連接target數(shù)據(jù)庫
[oracle@localhost ~]$sqlplus sys/oracle@orcl as sysdba SQL> conn hr/hr;SQL> select salary from employees where employee_id=157;SQL> update employees set salary =2000 where employee_id=157;SQL> commit;SQL> select salary from employees where employee_id=157;
四.恢復(fù)測試
復(fù)原及恢復(fù)全庫 1,連接target數(shù)據(jù)庫
[oracle@localhost ~]$sqlplus sys/oracle@orcl as sysdba 2,把target數(shù)據(jù)庫先關(guān)閉,然后啟動(dòng)到mount狀態(tài) SQL> shutdown immediate;SQL> startup mount;3,復(fù)原及恢復(fù)全庫
RMAN> restore database
channel ORA_DISK_1: restore complete, elapsed time: 00:05:10 RMAN> recover database media recovery complete, elapsed time: 00:00:07
4,連接target數(shù)據(jù)庫
[oracle@localhost ~]$sqlplus sys/oracle@orcl as sysdba 5,打開target數(shù)據(jù)庫
SQL> alter database open;6,查看已錄入的事物 SQL> conn hr/hr;SQL> select salary from employees where employee_id=157;
假設(shè)備份了一個(gè)表空間users
恢復(fù)表空間:
rman target rman/rman@test2006 catalog rman/rman@test2007
sql 'alter tablespace users offline immediate'(使TEST2006的USERS表空間脫機(jī))
進(jìn)入test2006
select tablespace_name,status from dba_tablespaces;(檢查USERS已經(jīng)脫機(jī))
退出RMAN
刪除D:oracleoradataTEST2006users01.dbf
rman target rman/rman@test2006 catalog rman/rman@test2007
restore tablespace users
recover tablespace users
sql 'alter tablespace users online'(使TEST2006的USERS表空間在線)
進(jìn)入test2006
select tablespace_name,status from dba_tablespaces;(檢查USERS已經(jīng)在線)
三、物理(熱)備份。
Linux 下Oracle10.2.0.1 RMAN備份及恢復(fù)步驟介紹
切換服務(wù)器歸檔模式,如果已經(jīng)是歸檔模式可跳過此步:
%sqlplus /nolog(啟動(dòng)sqlplus)
SQL> conn / as sysdba(以DBA身份連接數(shù)據(jù)庫)
SQL> shutdown immediate;(立即關(guān)閉數(shù)據(jù)庫)
SQL> startup mount(啟動(dòng)實(shí)例并加載數(shù)據(jù)庫,但不打開)
SQL> alter database archivelog;(更改數(shù)據(jù)庫為歸檔模式)
SQL> alter database open;(打開數(shù)據(jù)庫)
SQL> alter system archive log start;(啟用自動(dòng)歸檔)
SQL> exit(退出)
2、連接:
%rman target='gti/gti123@LANDF';(啟動(dòng)恢復(fù)管理器)
3、基本設(shè)置:
RMAN> configure default device type to disk;(設(shè)置默認(rèn)的備份設(shè)備為磁盤)
RMAN> configure device type disk parallelism 2;(設(shè)置備份的并行級別,通道數(shù))RMAN> RMAN>
RMAN> configure controlfile autobackup on;(打開控制文件與服務(wù)器參數(shù)文件的自動(dòng)備份)
RMAN> configure controlfile autobackup format for device type disk to ' /home/oracle/backup/data/ctl_%F';(設(shè)置控制文件與服務(wù)器參數(shù)文件自動(dòng)備份的文件格式)
4、查看所有設(shè)置:
RMAN> show all
5、查看數(shù)據(jù)庫方案報(bào)表:
RMAN> report schema;CONFIGURE
CHANNEL
DEVICE
TYPE
DISK
FORMAT '/home/oracle/backup/data1/backup_%U';(設(shè)置備份的文件格式,只適用于磁盤設(shè)備)CONFIGURE
CHANNEL
DEVICE
TYPE
DISK
FORMAT '/home/oracle/backup/data/backup_%U';(設(shè)置備份的文件格式,只適用于磁盤設(shè)備)
6、備份全庫:
RMAN> backup database plus archivelog delete input;(備份全庫及控制文件、服務(wù)器參數(shù)文件與所有歸檔的重做日志,并刪除舊的歸檔日志)
7、備份表空間:
熱備份(歸檔狀態(tài)下才有效果)
1、alter tablespace tablespace_name start backup;
2、拷貝你的該表空間的數(shù)據(jù)文件備份
3、alter tablespace tablespace_name end backup;
4、一個(gè)一個(gè)表空間做完,就備份完了
RMAN> backup tablespace system plus archivelog delete input;(備份指定表空間及歸檔的重做日志,并刪除舊的歸檔日志)RMAN> backup tablespace UNDOTBS plus archivelog delete input;(備份指定表空間及歸檔的重做日志,并刪除舊的歸檔日志)RMAN> backup tablespace SYSAUX plus archivelog delete input;(備份指定表空間及歸檔的重做日志,并刪除舊的歸檔日志)RMAN> backup tablespace TEMP plus archivelog delete input;(備份指定表空間及歸檔的重做日志,并刪除舊的歸檔日志)
8、備份歸檔日志:
RMAN> backup archivelog all delete input;
9、復(fù)制數(shù)據(jù)文件:
RMAN> copy datafile 1 to '/home/oracle/product/10.2.0.1/backup/system.copy';/* RMAN> RMAN> RMAN> */
10、查看備份和文件復(fù)本:
RMAN> list backup;
11、驗(yàn)證備份:
RMAN> validate backupset 3;copy copy copy
'/home/oracle/data/gti_sys01.dbf'
'/home/oracle/data/gti_undotbs.dbf' '/home/oracle/data/sysaux_01.dbf' 1
to to to '/home/oracle/product/10.2.0.1/backup/system.copy';'/home/oracle/product/10.2.0.1/backup/undo.copy';'/home/oracle/product/10.2.0.1/backup/sysaux.copy';
12、從自動(dòng)備份中恢復(fù)服務(wù)器參數(shù)文件:
RMAN> shutdown immediate;(立即關(guān)閉數(shù)據(jù)庫)
RMAN> startup nomount;(啟動(dòng)實(shí)例)
RMAN> restore spfile to pfile '/backup1/initgti.ora' from autobackup;(從自動(dòng)備份中恢復(fù)服務(wù)器參數(shù)文件)
13、從自動(dòng)備份中恢復(fù)控制文件:
RMAN> shutdown immediate;(立即關(guān)閉數(shù)據(jù)庫)
RMAN> startup nomount;(啟動(dòng)實(shí)例)
RMAN> restore controlfile to '/backup1' from autobackup;(從自動(dòng)備份中恢復(fù)控制文件)
13、恢復(fù)和復(fù)原全數(shù)據(jù)庫:
RMAN> shutdown immediate;(立即關(guān)閉數(shù)據(jù)庫)
RMAN> exit(退出)
%mv
%rman target='gti/gti123@LANDF';(啟動(dòng)恢復(fù)管理器)
RMAN> startup pfile=/home/oracle/product/10.2.0.1/dbs/initgti.ora(指定初始化參數(shù)文件啟動(dòng)數(shù)據(jù)庫)
RMAN> restore database;(還原數(shù)據(jù)庫)
RMAN> recover database;(恢復(fù)數(shù)據(jù)庫)
RMAN> alter database open;(打開數(shù)據(jù)庫)
14、恢復(fù)和復(fù)原表空間:
RMAN> sql 'alter tablespace users offline immediate';(將表空間脫機(jī))
RMAN> exit(退出恢復(fù)管理器)
/home/oracle/product/10.2.0.1/dbs/snapcf_gti.f /home/oracle/product/10.2.0.1/dbs/snapcf_gti.f.bak(將數(shù)據(jù)文件重命名)%mv
%mv /home/oracle/data/gti_undotbs.dbf /home/oracle/data/gti_undotbs.dbf.bak(將表空間重命名)
%mv /home/oracle/data/sysaux_01.dbf /home/oracle/data/sysaux_01.dbf.bak(將表空間重命名)
%rman target='gti/gti123@LANDF';(啟動(dòng)恢復(fù)管理器)
RMAN> restore tablespace users;(還原表空間)
RMAN> recover tablespace users;(恢復(fù)表空間)
RMAN> sql 'alter tablespace users online';(將表空間聯(lián)機(jī))
15、增量備份與恢復(fù):
第一天的增量基本備份:
RMAN> backup incremental level=0 database plus archivelog delete input;
第二天的增量差異備份:
RMAN> backup incremental level=2 database plus archivelog delete input;
第三天的增量差異備份:
RMAN> backup incremental level=2 database plus archivelog delete input;
第四天的增量差異備份:
RMAN> backup incremental level=1 database plus archivelog delete input;
第五天的增量差異備份:
RMAN> backup incremental level=2 database plus archivelog delete input;
第六天的增量差異備份:
RMAN> backup incremental level=2 database plus archivelog delete input;
/home/oracle/product/10.2.0.1/dbs/gti_sys01.dbf /home/oracle/data/gti_sys01.dbf.bak(將表空間重命名)第七天的增量差異備份:
RMAN> backup incremental level=0 database plus archivelog delete input;
增量恢復(fù):
RMAN> shutdown immediate;
RMAN> exit
%mv
%rman target='gti/gti123@LANDF';(啟動(dòng)恢復(fù)管理器)
RMAN> startup pfile=/home/oracle/product/10.2.0.1/dbs/initgti.ora(指定初始化參數(shù)文件啟動(dòng)數(shù)據(jù)庫)
RMAN> restore database;
RMAN> recover database;
RMAN> alter database open./home/oracle/product/10.2.0.1/dbs/snapcf_gti.f /home/oracle/product/10.2.0.1/dbs/snapcf_gti.f.bak(將數(shù)據(jù)文件重命名)
RMAN>crosscheck backupset;RMAN>delete obsolete RMAN>crosscheck archivelog all;RMAN>delete archivelog all;