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