第一篇:数据库备份和恢复方案及步骤(最终版)
操作系统: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;
第二篇:个人所得税备份恢复数据库步骤
1.先找到这三个文件
2.备份这三个文件到桌面或指定盘
●具体操作如下
一、数据备份的方法:
请您右击桌面桌面金税三期个人所得税图标→→属性→→“打开文件位置”(Win7系统)/“查找目标”(XP系统),1、打开Data文件夹,把里面的AppData.db、EPAccount.db复制粘贴到桌面上;
2、左上角“后退”按钮点击一下,打开AppModules→→GRSDS→→Data,把里面的Data.db复制粘贴到桌面上。
3、当前目录下如存在“XX.db-wal”和“XX.db-shm”两个扩展名文件,需同时与“XX.db”一起备份; 例如:Data.db-wal和Data.db-shm,要与Data.db一起复制拷贝、压缩打包。
温馨提醒:请将复制的文件妥善保管,以备后期恢复数据库使用。
二、数据恢复的方法:
步骤一:请先关闭个税软件,右击桌面金税三期个人所得税图标→→“属性”→→“打开文件位置”(Win7系统)/“查找目标”(XP系统)
1、打开“data文件夹”,将之前备份的appdata.db和epaccount.db复制并替换进来;
2、左上角“后退”按钮点击一下,打开“AppModules文件夹”→→“GRSDS文件夹”→→打开“data文件夹”,将之前备份的Data.db复制并替换进来,数据库就恢复好了。
3、恢复操作前,请确认当前目录是否存在“XX.db-wal”和“XX.db-shm”两个扩展名文件,如存在请先删除此文件,然后再进行数据库恢复;
例如:先删除Data.db-wal和Data.db-shm两个文件,再恢复Data.db。
温馨提醒:数据只能覆盖,不能合并;您在恢复数据前,请先确认新软件中没有报税的数据再操作。
第三篇:Oracle数据库备份和恢复论文
摘要:本文从Oracle的体系结构开始,由原理到实践,论述了Oracle数据库备份的方式和策略。包括IMp/EXp,RMAN,OS备份等。
Abstract: Starting from the architecture of ORACLE, this paper discusses the backup method and strategy of database Oracle, including IMp/EXp, pMAN and OS theoretically and practically.关键字:Oracle, 备份, 恢复, RMAN
Keywords: Oracle;Backup;Restoration;RMAN
概述
在大型软件运行系统中,存在着很多备份策略,如RAID技术,CLUSTER技术等等。很多时候,这些系统的备份就能够解决数据库备份的问题。但是,这种备份成本很高。同时,硬件的备份有时根本满足不了现实的需要,如果用户不小心误删了一个表,又想恢复的时候,数据库的备份就变的重要了。
Introduction: In the running system of some big software, there exist many backup strategies such as RAID technology and CLUSTER technology etc.In most cases, these system backup strategies can fulfill the database backup.However the cost is rather high.At the same time, hardware backup sometimes is far from the actual requirement.The database backup becomes very important when a table is deleted by accident and needs to be restored.Oracle的运行方式
Oracle数据库有两种运行方式:一是归档方式(ARCHIVELOG),归档方式的目的是当数据库发生故障时最大限度恢复数据库,可以保证不丢失任何已提交的数据;二是不归档方式(NOARCHIVELOG),只能恢复数据库到最近的回收点(冷备份或是逻辑备份)。根据数据库的高可用性和用户可承受丢失的工作量的多少,对于实时性要求高的数据库,强烈要求采用为归档方式;不归档方式只用在那些开发和调试的数据库等。
如何改变数据库的运行方式,在创建数据库时,作为创建数据库的一部分,就决定了数据库初始的存档方式。一般情况下为NOARCHIVELOG方式。当数据库创建好以后,根据我们的需要把需要运行在归档方式的数据库改成ARCHIVELOG方式。操作如下。
1.关闭数据库,备份已有的数据,改变数据库的运行方式是对数据库的重要改动,所以要对数据库做备份,对可能出现的问题作出保护。
2.修改初试化参数,使能自动存档。
修改(添加)初始化文件init[SID].ora参数:
log_archive_start=true #启动自动归档
log_archive_format=ARC%T%S.arc #归档文件格式
log_archive_dest=/archdir/arch #归档路径
在8i中,可以最多有五个归档路径,并可以归档到其它服务器,如备用数据库(standby database)服务器。
3.启动Instance到Mount状态,即加载数据库但不打开数据库。
$> svrmgrl
SVRMGRL> connect internal
SVRMGRL> startup mount
SVRMGRL> alter database archivelog;// 使数据库运行在归档方式
SVRMGRL> alter database open;
Oracle的备份方案
按照备份的方式,可以分为逻辑备份、冷备份(脱机备份)、热备份(联机备份),其中冷备份与热备份又可以合称为物理备份。按照备份的工具,可以分为EXp/IMp备份、操作系统备份、RMAN、第三方工具备份,如VERITAS等。下面分别介绍Oracle本身提供的几种备份工具和操作。
1.EXp/IMp备份(逻辑备份)
EXp/IMp属于逻辑备份的范畴,逻辑备份是指只备份数据库中的数据但不记录数据物理位置的一种备份。导出为数据库作一个二进制的备份,并且这个备份只能由其姊妹程序imp(import)来读取。具体的使用方法如下。(因为EXp和IMp使用上参数基本相同,所以只以EXp为例。)
EXp的命令格式和参数
格式:KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)
例程: EXp SCOTT/TIGER GRANTS=Y TABLES=(EMp,DEpT,MGR)
USERID 必须是命令行中的第一个参数
关键字 说明(默认)关键字 说明(默认)
USERID 用户名/口令 FULL 导出整个文件(N)
BUFFER 数据缓冲区的大小 OWNER 所有者用户名列表
FILE 输出文件(EXpDAT.DMp)TABLES 表名列表
COMpRESS 导入一个范围(Y)RECORDLENGTH IO记录的长度
GRANTS 导出权限(Y)INCTYpE 增量导出类型
INDEXES 导出索引(Y)RECORD 跟踪增量导出(Y)
ROWS 导出数据行(Y)pARFILE 参数文件名
CONSTRAINTS 导出限制(Y)CONSISTENT 交叉表一致性
LOG 屏幕输出的日志文件 STATISTICS 分析对象(ESTIMATE)
DIRECT 直接路径(N)TRIGGERS 导出触发器(Y)
FEEDBACK 显示每 x 行(0)的进度 FILESIZE 各转储文件的最大尺寸
QUERY 选定导出表子集的子句
注:可以通过exp -help命令查看exp的使用方法;imp-help命令查看imp的使用方法.2.操作系统备份(冷备份和热备份)
操作系统备份有两类,冷备份(Cold backup)和热备份(Hot backup)。操作系统备份和上面的逻辑备份有本质的区别,它将拷贝整个的数据文件。
冷备份
在文件级备份开始前数据库必须彻底关闭。关闭操作必须用带有normal、immediate、transaction选项的shutdown来执行。
数据库使用的每个文件都被备份下来,这些文件包括: 所有数据文件、所有控制文件、所有联机重做日志文件和INIT.ORA文件(建议)。
作冷备份一般步骤是:
1)正常关闭要备份的实例(instance);
2)备份整个数据库到一个目录
3)启动数据库
即:
SVRMGRL>connect internal
SVRMGRL >shutdown immediate
SVRMGRL >!cp
or
SVRMGRL >!tar cvf /dbbak/fullbk.tar /u01/oracle/oradata/dbname
SVRMGRL >startup
热备份
热备份是当数据库打开时的操作系统备份。热备份只能用于ARCHIVELOG方式的数据库。热备份没有必要备份联机日志,但必须是归档状态,在实例恢复的时候,可能需要用到归档日志。当前联机日志一定要保护好或是处于镜相状态,当前联机日志的损坏,对于数据库的损坏是巨大的,只能以数据的丢失来进行数据库的恢复工作。对于临时表空间,存放的是临时信息,在热备份是也可以考虑不用备份,如果临时文件发生故障,可以删除该数据文件与表空间,重建一个临时表空间。
热备份备份的内容和冷备份备份的内容一样,操作一般步骤是:
1)备份的表空间通过使用ALTER TABLESpACE …… BEGIN BACKUp使表空间进入热备份方式。
2)用类似冷备份的操作系统命令对组成表空间的数据文件进行拷贝。
3)使用ALTER TABLESpACE …… END BACKUp命令使表空间脱离热备份方式。
4)使用ALTER DATABSE …… BACKUp CONTROLFILE命令备份控制文件。
即:
SVRMGRL>connect internal;
SVRMGRL>alter tablespace User begin backup;
SVRMGRL>!cp /u01/oradata/dbname/user01.ora /dbbak/user01.ora
SVRMGRL>alter tablespace User end backup;
SVRMGRL>alter database backup controlfile to
or
SVRMGRL>alter database backup controlfile to trace;
注意:因为热备份的时候,用户还在操作数据库,所以最好是让每个表空间处于备份状态的时间最短,这样就要求一个表空间一个表空间的备份,不要一起使表空间处于备份状态而同时拷贝数据文件。
3.RMAN
Recovery Manager(RMAN)是一个使DBA能很方便地对数据库执行备份和恢复任务的Oracle应用工具,能够提供DBA对企业数据库备份与恢复操作的集中控制。RMAN只能用于ORACLE8或更高的版本中。它能够备份整个数据库或数据库部件,其中包括表空间、数据文件,控制文件和归档文件。RMAN可以按要求存取和执行备份和恢复。
RMAN支持六种不通的类型的备份,经常用到的有两种:
FULL 数据库全备份,包括所有的数据块。
INCREMENTAL 增量备份,是指只备份在同级别或更低级别上进行的前一次备份之后的作过改动的那些数据块。这其中需要一个0级的增量作为增量的基础,它备份包括全部曾经被数据库使用过的数据块(但不是完全数据库备份)。RMAN共可以支持7级增量。
BACKUp,RESTORE,RECOVER是RMAN最基本的三个命令,分别可以进行数据库的备份,复原以及恢复操作。restore命令用于恢复来自备份集或映像拷贝的数据文件、控制文件或归档重做日志。recovery命令用于进行介质恢复应用重做日志文件。
RMAN的备份信息一般保存在恢复目录中,恢复目录也是一个数据库,只不过这个数据库用来保存备份信息,一个恢复目录可以用来保存多个数据库的备份信息。RMAN也可以在没有恢复目录(NOCATALOG)下运行,这个时候备份信息保存在控制文件。这种情况比较危险,因为一旦控制文件被破坏,将导致所有数据库备份信息的丢失和恢复的失败,而且,没有恢复目录,很多RMAN的命令将不被支持。所以对于重要的数据库,建议创建恢复目录。
创建恢复目录一般有以下步骤。(例子数据库为db)
1)为目录创建一个单独的表空间
SQL>create tablespace tsrman datafile ’/dbbak/rman/rsrman.dbf’ size 50M;
2)创建RMAN用户
SQL>create user rman identified by rman default tablespace rsrman temporary tablespace temp;
3)给RMAN授予权限
SQL>grant connect, resource, recovery_catalog_owner to rman;
4)打开RMAN
$rman
5)连接恢复目录数据库
RMAN>connect catalog rman/rman@db
6)创建恢复目录
RMAN>create catalog tablespace tsrman 在对某个数据库进行备份之前,必须先在恢复目录上注册该数据库,这一过程操作如下(假定目标数据库连接字符串为db100)。
1)连接到恢复目录数据库
$rman rman/rman@db
2)在RMAN中连接到目标数据库(即要进行备份的数据库)
RMAN>connect target sys/change_on_install@db100
3)注册数据库
RMAN>register database;
注册完数据库后,就可以进行数据库的备份了。有完全数据库备份、表空间备份、控制文件备份、和归档日志备份等。操作分别如下。
1)完全数据库备份
要求:ARCHIVELOG模式,在DB OpEN的情况下进行数据库完全备份。
RMAN>run{
allocate channel c1 type=disk;
backup database;
release channel c1;
}
2)表空间备份
要求:ARCHIVELOG模式
RMAN>run{
allocate channel c1 type=disk;
backup tablespace “ts_users” filesperset 3 format ‘aatst_%t%s.%p’;
release channel c1;
}
3)控制文件备份
RMAN>run{
allocate channel c1 type=disk;
backup current controlfile tag=weekly_sat_backup;
release channel c1;
}
在对数据库进行完全备份时,控制文件自动包含其中。也可以在表空间或数据文件的备份中包含一个控制文件。
RMAN>run{
allocate channel c1 type=disk;
backup tablespace “ts_users”
filesperset 3 format ‘aatst_%t%s.%p’;
include current controlfile;
release channel c1;
}
4)归档日志备份
通过查询数据字典表V$ARCHIVED_LOG获取要备份的日志序列号,然后执行命令:
RMAN>run{
allocate channel c1 type=disk;
backup archivelog low logseq 3 high logseq 10 thread 1;
release channel c1;
}
Oracle的备份策略
正确的备份策略不仅能保证数据库服务器的24*7的高性能的运行,还能保证备份与恢复的快速性与可靠性。我们将以RMAN的多级增量备份作为一个备份策略的例子来讨论。采用多级备份就是为了减少每天备份所需要的时间,而又保证系统有良好的恢复性。恢复时间与备份时间要有一个权衡。比如只要进行一个数据库的全备份,然后就只备份归档也可以保证能把数据库恢复到最新的状态,但是这样的恢复时间将是不可容忍的。多级备份也正是为了解决这种问题,结合某些应用的特点,可以采用如下的备份策略:
每个月做一个数据库的全备份(包括所有的数据和只读表空间);
每个星期一做一次零级备份(不包含只读表空间);
每个星期三做一次一级备份;
每天做一次二级备份。
每天做一次恢复目录的热备份。
任何数据库的更改需要重新同步CATALOG目录并重新备份(如添加数据文件)或重新备份(如修改表空间为只读)。
每次备份后都可以备份归档日志或定期备份归档日志。如果可能,可以直接备份到磁带上。
Oracle的恢复
下面的操作约定恢复目录存储在db118中,目标数据库是db100。
1.数据库恢复
1)启动SQL*pLUS,使用正确的init.ora文件,使用NOMOUNT选项启动目标数据库实例。
2)启动RMAN并连接到恢复目录,如下:
$rman catalog rman/rman@db118
恢复管理器: Release 9.2.0.1.0production
Copyright(c)1995, 2002, Oracle Corporation.All rights reserved.连接到恢复目录数据库
RMAN>
3)连接到目标数据库
RMAN>connect target internal/oracle@demo.oracle
连接到目标数据库: db(DBID=1142471523)
4)一旦连接到目标数据库,执行restore命令恢复控制文件
RMAN>run{
2>allocate channel c1 type disk;
3>restore controlfile;
4>}
小结
保证Oracle数据库的安全是系统安全的重要组成部分,必须要设计完善的数据库备份和恢复方案。Oracle提供的各种工具结合起来使用能够使数据库的备份和恢复变得简单。在实际的Oracle数据库的备份和恢复中,会有许多不通的和复杂的情况出现,针对不同的情况,要本着使数据具有最大的可恢复性和恢复时间最短的原则去进行数据库的恢复,这需要大量的实践和经验积累。
参考文献
[1] Oracle8i Backup and Recovery Guide Oracle Document
[2] Oracle8i Recovery Manager User’s Guide and Reference Oracle Document
[3] Oracle9i:A Beginner’s Guide(美)Michael Abbey Michael Corey Ian Abramson 2002.3 机械工业出版社
[4] Oracle8i备份与恢复手册(美)Rama Velpuri Anand Adkoli 蒋蕊 王磊等译 2001.9 机械工业出版社
第四篇:NBU备份恢复方案
数据备份方案SYMANTEC NetBackup(NBU)简介
SYMANTEC NetBackup软件是一个功能强大的企业级数据备份管理软件,它为UNIX、Windows和Netware混合环境提供了完整的数据保护机制,具有保护企业从工作组到企业级服务器的所有的数据的能力。管理员能够通过图形界面来管理备份和恢复的所有方面,制定企业统一的备份策略。NetBackup针对Oracle、DB2、SAP R/
3、Informix、Sybase、Microsoft SQL Server 和 Microsoft Exchange Server 等数据库提供了备份和恢复的解决方案。
NetBackup模块功能介绍
Master Server 在NetBackup Enterprise Server中,Master Server是第一个组件。Master Server是管理一切数据保护工作的最核心的部件。所管理的工作包括,任务调度,客户端备份,介质管理,设备管理等等。Media Server 当需要备份的数据在不同地点或数据量比较大的时候,我们需要使用多个Media Servers来做分担备份管理的任务。Media Server是NetBackup中第二个组件。Media Server通过网络承担着本地各个机器上的数据备份,它可以和Master Server或其他的Media Server共享备份设备,或使用自己的备份设备也可以。在有多个Media Servers的情况下,一个Media Server因故障停止数据保护工作的时候,可以由Master Server把这个Media Server的数据保护工作转移到另外的Media Servers上。Clients(Protected Server)
第三个组件就是Clients,客户端。所有的通过网络把数据传到Master Server或Media Servers上来做数据保护的机器,都是客户端。在客户端上要安装NetBackup的客户端软件。注意:Master Server和Media Server本身也是NetBackup的Clients,它们在备份自己的数据的时候就是客户端。
NetBackup Tape Library and Rototics Support NetBackup支持所有主流的磁带机、磁带库和光盘库设备,包括StorageTek,IBM,Quantum|ATL,ADIC 和HP等等等。所谓NetBackup支持这些设备不是单指能够往其磁带上写数据,主要是指对其的设备管理和介质管理功能。磁盘缓冲(DISK STAGING)
磁盘缓冲(DISK STAGING)为NetBackup管理员提供了一种备份方法,首先在磁盘上创建备份镜像,然后将镜像转移到另一种介质上。NetBackup软件的磁盘缓冲分三个步骤完成:首先在磁盘上创建NetBackup备份镜像,然后在可以配置的稍后时间,将镜像转移到另外一个介质上。
备份方案设计
目前使用比较广泛的备份方式有以下两种备份方式: LAN备份
LAN备份是基于数据量不大的情况下,结构简单,但是要占用生产的网络带宽,其结构图如下:
采用SAN存储架构的LAN-free备份方式:
采用san存储架构的解决方案,也称为LAN-Free备份。它将磁带库和磁盘阵列各自作为独立的光纤结点,备份时,数据流直接从磁盘阵列传到磁带库内,是一种无需占用网络带宽(LAN-Free)的解决方案。以下是它的结构图:
备份和恢复的定义及实现
备份系统资源的定义
在系统备份前,首先必须定义备份系统,分配磁带库资源。可以如下配置备份系统资源: 将带库中所有磁带驱动器定义成一组或几组资源(术语:Storage Unit)。这样,当你备份一组数据时,系统就会允许使用相应的磁带驱动器去备份相应的数据了。
对每个数据库服务器,我们可以定义一组磁带,作为一个磁带池(术语:Volume Pool),在自动备份时,备份系统回自动将该数据库备份到这个磁带池中。这里我们可以定义:
1.Volume Pool for主数据库 2.Volume Pool for 文件系统
备份策略的定义
定义好备份资源后,必须根据实际需要配置备份策略。定义备份策略,涉及到以下内容: 1.在什么时间 2.将什么数据
3.以什么方式(如全备份或增量备份)、4.通过哪组磁带驱动器(备份通道,如:磁带驱动器)、5.备份到哪一个磁带组(备份目的地,如:Volume Pool for 主数据库)而备份的方式可以分为三种:全备份、增量备份、累计增量备份。1.全备份
每次备份定义的所有数据,优点是恢复快,缺点是备份数据量大,数据多时可能做一次全备份需很长时间
2.增量备份
备份自上一次备份以来更新的所有数据,其优点是每次备份的数据量少,缺点是恢复时需要全备份及多份增量备份
3.差分备份
备份自上一次全备份以来更新的所有数据。我们可以结合这三种方式,灵活应用。数据备份的过程
在业务系统中,我们会在所有数据库服务器上部署相应的Netbackup SAN Media Server软件及用于数据库在线热备份的Agent。
在定义好备份资源和策略后,在指定的时间,备份系统就会自动的将数据库服务器上的数据从服务器上、采用指定的方式、通过指定的磁带驱动器备份到指定磁盘池中。
在备份结束后,系统会报告备份的状况,然后,系统管理员就会在VEIRTAS Netbackup管理界面上清楚地看到已经备份的数据的描述。在VERITAS Netbackup上对备份介质上的数据的管理采用的是简单易懂的目录结构。系统管理员通过该目录下的备份项目可以非常方便的察看已经备份的数据的情况,包括:这个数据是什么时候对哪个数据库的备份,采用的是哪一种备份方式(全备份?增量备份?还是累计增量备份?)。一个完整的备份包括一条或几条备份项目,一般包括一个全备份项目、一个累计增量备份项目、几个增量备份项目。你可以保留以前的备份—在最近一次全备份以前的备份。也可以同时对一份数据做两个备份。
备份系统对数据库的备份采用的是在线备份,通过VERITAS Netbackup的database Agent,我们可以在不停止数据库运行的情况下,对数据库数据进行备份,包括全备份、累计增量备份或者增量备份。这种备份方式,保证了系统的7x24小时的运行。
数据的恢复
当发生数据损坏时,我们需要从磁带库恢复数据。
有了VERITAS Netbackup,数据的恢复是非常快速和简单的。通过Netbackup管理界面,系统管理员只需要选定相应的数据备份项目(备份管理目录下的相应的项目名,对应某个时间点备份的某个数据库的数据,并有说明),进行恢复(Restore)即可。选择备份项目时,如前所述,首先选定最近一次全备份进行恢复,然后选定最近一次累计增量备份,最后选定这次累计增量备份以后的所有增量备份项目,依时间顺序进行恢复即可。
备份系统基础知识
数据备份的原则
对数据进行备份是为了保证数据的一致性和完整性,消除系统使用者和操作者的后顾之忧。不同的应用环境要求不同的解决方案来适应,一般来说,一个完善的备份系统,需要满足以下原则:
稳定性
备份产品的主要作用是为系统提供一个数据保护的方法,于是该产品本身的稳定性和可靠性就变成了最重要的一个方面。首先,备份软一定要与操作系统100%的兼容,其次,当事故发生时,能够快速有效地恢复数据。 全面性
包括了各种操作平台,如各种厂家的UNIX、NetWare、Windows NT、VMS等,并安装了各种应用系统,如ERP、数据库、群件系统等。选用的备份软件,要支持各种操作系统、数据库和典型应用。 自动化
很多系统由于工作性质,对何时备份、用多长时间备份都有一定的限制。在下班时间系统负荷轻,适于备份。可是这会增加系统管理员的负担,因此,备份方案应能提供定时的自动备份。在自动备份过程中,还要有日志记录功能,并在出现异常情况时自动报警。 高性能
随着业务的不断发展,数据越来越多,更新越来越快,在休息时间来不及备份如此多的内容,在工作时间备份又会影响系统性能。这就要求在设计备份时,尽量考虑到提高数据备份的速度,利用多个磁带机并行操作的方法。 操作简单
需要一个直观的、操作简单的图形化用户界面,缩短操作人员的学习时间,减轻操作人员的工作压力,使备份工作得以轻松地设置和完成。 实时性
关键性的任务是要24小时不停机运行的,在备份的时候,有一些文件可能仍然处于打开的状态。那么在进行备份的时候,要采取措施,实时地查看文件大小、进行事务跟踪,以保证正确地备份系统中的所有文件。 容灾考虑
将磁带库中的磁带拷贝一份,存放在远离数据中心的地方,以防数据中心发生不可预测的灾难。
备份系统组成
能否安全有效的备份取决于以下三个因素: 1.执行备份的磁带机
磁带机的质量与性能在整个备份过程中是至关重要的,它是能否进行高速高质量备份的关键所在。2.存储备份数据的介质
介质是数据的负载物,它的质量一定要有保证,使用质量不过关的介质无疑是拿自己的数据冒险。3.控制备份的软件
优秀备份软件包括加速备份、自动操作、灾难恢复等特殊功能,对于安全有效的数据备份是非常重要的。
确定介质保存时间
备份过程中要用到大量的存储介质,备份介质的保留时间的长短将决定所需购置和维护的介质量。目前的备份策略都是基于多磁带轮换制,即保存有过时数据的介质可重新覆盖使用,轮换频率可根据备份类型和备份的窗口来确定。
计算所需磁带介质数量
1.备份系统所需的介质数量可根据下述流程确定: 2.确定介质容量
3.计算每个服务器上的数据做全备份所需的介质数量
4.根据每种介质的保留时间或轮换频率即可计算出所需的介质数目
售后服务承诺
第五篇: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数据备份方案的简单介绍。