福建省电力公司oracle培训教材--ORACLE的备份与恢复
- 格式:ppt
- 大小:156.00 KB
- 文档页数:31
Oracle备份与恢复案例By Piner一. 理解什么是数据库恢复当我们使用一个数据库时,总希望数据库的内容是可靠的、正确的,但由于计算机系统的故障(硬件故障、软件故障、网络故障、进程故障和系统故障)影响数据库系统的操作,影响数据库中数据的正确性,甚至破坏数据库,使数据库中全部或部分数据丢失。
因此当发生上述故障后,希望能重构这个完整的数据库,该处理称为数据库恢复。
恢复过程大致可以分为复原(Restore)与恢复(Recover)过程。
数据库恢复可以分为以下两类:1.1实例故障的一致性恢复当实例意外地(如掉电、后台进程故障等)或预料地(发出SHUTDOUM ABORT语句)中止时出现实例故障,此时需要实例恢复。
实例恢复将数据库恢复到故障之前的事务一致状态。
如果在在线后备发现实例故障,则需介质恢复。
在其它情况Oracle在下次数据库起动时(对新实例装配和打开),自动地执行实例恢复。
如果需要,从装配状态变为打开状态,自动地激发实例恢复,由下列处理:(1)为了解恢复数据文件中没有记录的数据,进行向前滚。
该数据记录在在线日志,包括对回滚段的内容恢复。
(2)回滚未提交的事务,按步1重新生成回滚段所指定的操作。
(3)释放在故障时正在处理事务所持有的资源。
(4)解决在故障时正经历一阶段提交的任何悬而未决的分布事务。
1.2介质故障或文件错误的不一致恢复介质故障是当一个文件、一个文件的部分或磁盘不能读或不能写时出现的故障。
文件错误一般指意外的错误导致文件被删除或意外事故导致文件的不一致。
这种状态下的数据库都是不一致的,需要DBA手工来进行数据库的恢复,这种恢复有两种形式,决定于数据库运行的归档方式和备份方式。
(1)完全介质恢复可恢复全部丢失的修改。
一般情况下需要有数据库的备份且数据库运行在归档状态下并且有可用归档日志时才可能。
对于不同类型的错误,有不同类型的完全恢复可使用,其决定于毁坏文件和数据库的可用性。
(2)不完全介质恢复是在完全介质恢复不可能或不要求时进行的介质恢复。
oracle备份和恢复的操作流程Oracle备份和恢复的操作流程备份和恢复是数据库管理中非常重要的任务,可以保护数据免受丢失或损坏的影响。
在Oracle数据库中,备份和恢复操作有着明确的流程和步骤。
本文将详细介绍Oracle备份和恢复的操作流程。
一、备份操作流程1. 确定备份类型:根据需求和数据重要性,确定采用全备份、增量备份还是差异备份。
全备份是指备份整个数据库,增量备份是指备份自上次备份以来的所有更改,差异备份是指备份自上次全备份以来的所有更改。
2. 选择备份工具:Oracle提供了多种备份工具,如RMAN (Recovery Manager)、Data Pump、Export/Import等。
根据需求选择合适的备份工具。
3. 设置备份策略:根据业务需求和数据增长情况,设置备份策略,包括备份频率、保留周期、备份存储位置等。
备份策略应该根据实际情况制定,以充分保护数据并节约存储空间。
4. 执行备份命令:根据选择的备份工具和策略,执行相应的备份命令。
比如使用RMAN进行备份,可以使用RMAN命令行工具或者图形化工具执行备份操作。
5. 检查备份状态:备份完成后,需要检查备份状态,确保备份成功并没有错误。
可以查看备份日志或者备份工具提供的状态信息。
二、恢复操作流程1. 确定恢复类型:根据需要,确定采用完全恢复、部分恢复还是点恢复。
完全恢复是指将整个数据库恢复到某个时间点或备份点的状态,部分恢复是指只恢复某些表或数据文件,点恢复是指只恢复某个时间点的数据。
2. 准备恢复环境:恢复操作需要一个独立的环境,可以是一个新的数据库实例或者一个已有的实例。
需要确保恢复环境与原始数据库的版本和配置相同。
3. 恢复备份文件:根据选择的恢复类型,执行相应的恢复命令。
如果是完全恢复,可以使用全备份文件进行恢复;如果是部分恢复,可以使用增量备份或差异备份文件进行恢复。
4. 应用归档日志:如果数据库启用了归档日志模式,需要将归档日志应用到恢复的数据库中,以保证数据的一致性。
oracle数据库rman备份计划及恢复1.rman完全恢复的前提条件:历史的datafile,controlfile和spfile备份,加上完整的archivelog和完好的redolog。
2.rman备份脚本: a.RMAN 0级备份命令:run{allocate channel c1 type disk;allocate channel c2 type disk;allocate channel c3 type disk;backup incremental level 0 tag 'level0' format "E:\recovery_area\rfdb\rfdb\AUTOBACKUP\rman_dir\RFDB_level_0_%u_%s_%p" as compressed backupset database;sql "alter system archive log current";backup filesperset 3 format "E:\recovery_area\rfdb\rfdb\AUTOBACKUP\rman_dir\arch_%u_%s_%p_%c"archivelog all delete input; #备份归档可选,可以单独定期备份release channel c1;release channel c2;release channel c3;} b.RMAN 1级备份命令:run{allocate channel c1 type disk;allocate channel c2 type disk;allocate channel c3 type disk;backup incremental level 1 tag 'level1' format 'E:\recovery_area\rfdb\rfdb\AUTOBACKUP\rman_dir\RFDB_level_1_%u_%s_%p' as compressed backupset database;sql 'alter system archive log current';backup filesperset 3 format 'E:\recovery_area\rfdb\rfdb\AUTOBACKUP\rman_dir\arch_%u_%s_%p'archivelog all delete input; #备份归档可选,可以单独定期备份release channel c1;release channel c2;release channel c3;} c.rman删除备份命令(在保留最近⼀天备份的情况下,删除其他备份):DELETE NOPROMPT OBSOLETE RECOVERY WINDOW OF 1 DAYS; d.操作系统层⾯运⾏rman备份或删除命令(windows/linux):rman target sys/rf4rfvbgt56yhn@rfdb nocatalog CMDFILE 'D:\app\rman\rman_file\level_0.txt' log=E:\recovery_area\rfdb\rfdb\AUTOBACKUP\rman_dir\log\rman_level_0.log export ORACLE_BASE=/u01/app/oracleexport ORACLE_HOME=/u01/app/oracle/product/11.2.0/db1export ORACLE_SID=atestexport PATH=$ORACLE_HOME/bin:$PATHrman target sys/123456@atest nocatalog CMDFILE '/u01/rman/rman.sh' log=/u01/rman/rman.log00 02 * * 1 bash /u01/rman_file/run_rman_0.sh00 02 * * 3 bash /u01/rman_file/run_rman_0.sh00 02 * * 5 bash /u01/rman_file/run_rman_0.sh00 04 * * * bash /u01/rman_file/run_delete.sh34 11 * * * bash /u01/rman_file/run_rman_0.sh e.rman参数设置:RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;RMAN> CONFIGURE DEFAULT DEVICE TYPE TO DISK;RMAN> CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE disk TO 2;RMAN> CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE disk TO 2;3.rman恢复a.拷贝datafile,controlfile和spfile的rman备份,以及完整的archivelog和完好的redolog⽂件到新的数据库。
1ORACLE 数据库数据备份和恢复操作手册1.1. ORACLE 参数设置进入 CMD 操作界面,使用sqlplus 连接数据库,图例 1 数据库连接操作连接语法: sqlplus system/Oracle2013@orcl参数说明参数说明备注sqlplus 语法命令system 数据库管理员用户名Oracle2013 system 用户密码数据库安装目录的tnsnames.ora 文件中可以找到orcl 数据库连接标示符Oracle11G 目录:C:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN图例 2 成功连接数据库环境变量设置 (在 Sqlplus 中执行 )create or replace directory <dir_name> as‘c:\tmpdir’;参数说明参数说明备注dir_name c:\tmpdir 路径名称文件路径也可以是另外的随意目录,用单引号括起来。
图例 3 环境变量设置1.2.数据备份备份脚本: expdp system/Oracle2013@orcl directory=file_pathdumpfile=ARADMIN.dat logfile=ARADMIN.log schemas=ARADMIN参数说明参数说明备注expdp 语法命令system 数据库管理员用户名Oracle2013 system 用户密码数据库安装目录的 tnsnames.ora 文件中可以找到orcl 数据库连接标示符Oracle11G 目录:C:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMINdirectory 文件目录名称导出数据库文件的存放目录dumpfile 数据库文件名称导出数据库文件的文件名logfile 数据库日志文件名称导出数据库的日志文件名称schemas 数据库用户操作:图例 4 数据库备份操作成功导出。
oracle数据库备份与恢复方案一、编写目的 (1)二、备份工具及备份方式 (1)三、软件备份 (1)四、软件恢复 (1)五、数据备份 (2)六、备份的存储 (2)七、备份数据的保存规定 (2)八、备份介质的格式 (3)九、数据恢复 (4)编写目的本文档主要说明公司项目在实施现场的软件及数据的备份和恢复方案。
二、备份工具及备份方式1.备份工具Oracle RMAN (Recovery Manager):是一一种用于备份(backup)、还原(restore) 和恢复(recover)数据库的Oracle工具。
RMAN只能用于ORACLE8或更高的版本中。
它能够备份整个数据库或数据库部件,如表空间、数据文件、控制文件、归档文件以及Spfile参数文件。
RMAN也允许您进行增量数据块级别的备份,增量RMAN备份是时间和空间有效的,因为他们只备份自上次备份以来有变化的那些数据块.2.备份方式(1)自动备份:由Windows计划任务调度完成;(2)手工备份:完成特殊情况下的备份,分热备份和冷备份,热备份是指在不关闭数据库情况下进行备份,冷备份则需要停止Oracle实例服务。
三、软件备份1.以七天为一个周期每天23:00将所有软件拷贝到其他存储介质上2.超出七天的备份依次删除3.每月一号将上月最后7天的备份文件刻录到光盘上四、软件恢复1.找出最近的备份程序覆盖到正式运行环境的相应目录中1.业务系统或数据库在打重要补丁或升级的前后,必须按要求对业务系统进行停机备份或非停机备份,备份需包含应用和数据库的文件系统及数据,备份方式为手工备份,使用RMAN执行备份;2.系统日常备份:作为7*24运行的重要系统,必须最小化数据丢失的同时,还需要尽可能缩短恢复时间,数据库的日常备份策略如下:(1)确保数据库处于ArchiliveLog模式;(2)每日凌晨01:00执行数据库全备份,含控制文件备份;(3)每四小时间隔执行数据库归档日志备份,含控制文件备份;(4)每间隔两周执行数据库与应用系统文件备份,执行时间:数据库服务器在第一周的周六05:00,应用服务器在第一周的周六7:00。
rman数据库备份与恢复1.rman配置创建恢复目录1)准备目录数据库目录数据库可以选择任何一个数据库,但是最好和被注册的数据库在不同的服务器上,而且最好为目录模式创建独立的表空间。
✓选择创建恢复管理器目录的数据库。
✓创建表空间。
SQL> conn system/oracle@law_tian已连接。
SQL> show parameter instance_nameNAME TYPE V ALUE-------------------- ----------- ---------instance_name string tianSQL> create tablespace cattbs2 datafile 'e:\oracle\oradata\tian\cattbs01.dbf'3 size 20m4 ;表空间已创建。
✓创建包含目录模式的用户。
SQL> create user rman identified by rman2 temporary tablespace temp3 default tablespace cattbs4 quota unlimited on cattbs5 ;用户已创建SQL> grant connect,recovery_catalog_owner to rman;授权成功。
2)创建恢复管理器目录C:\> ramnRMAN> connect catalog ramn/rman@law_tianRMAN> create catalog tablespace cattbs;3)注册要备份的数据库C:\>rman恢复管理器: 版本9.2.0.1.0 - ProductionCopyright (c) 1995, 2002, Oracle Corporation. All rights reserved.RMAN> connect catalog rman/rman@law_tian连接到恢复目录数据库RMAN> connect target system/oracle@law_lawRMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== ORA-01031: insufficient privilegesRMAN> connect target sys/oracle@law_lawRMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== ORA-01017: invalid username/password; logon deniedRMAN> connect target sys/sys@law_law连接到目标数据库: LAWLAW (DBID=1993183208)RMAN> register database;注册在恢复目录中的数据库正在启动全部恢复目录的resync完成全部resyncRMAN> list incarnation; #查看注册的数据库数据库Incarnations 列表DB 关键字Inc 关键字DB 名DB ID CUR 重置SCN 重置时间------- ------- -------- ---------------- --- ---------- ----------1 10 LAWLAW 1993183208 NO 261982 11-12月-031 2 LAWLAW 1993183208 YES 388549 17-12月-03RMAN> report schema;#查看注册数据库的信息数据库方案报表文件KB 表空间RB segs 数据文件名称---- ---------- ----------------- ------- -------------------1 256000 SYSTEM YES E:\ORACLE\ORADATA\LAW\SYSTEM01.DBF2 204800 UNDOTBS1 YES E:\ORACLE\ORADATA\LAW\UNDOTBS01.DBF3 122880 EXAMPLE NO E:\ORACLE\ORADATA\LAW\EXAMPLE01.DBF4 25600 INDX NO E:\ORACLE\ORADATA\LAW\INDX01.DBF5 10240 TOOLS NO E:\ORACLE\ORADATA\LAW\TOOLS01.DBF6 25600 USERS NO E:\ORACLE\ORADATA\LAW\USERS01.DBFRMAN>4)配置自动通道和备份路径RMAN> configure channel device type disk format='e:\bakup\%U.bak';文件名中参数的含义:%u:由备份集编号和建立时间压缩后生成的8字符名称。
EXP SYSTEM/PASSWORD@SID FULL=Y FILE=D:\SYSTEM.DMP LOG=D:\SYSTEM.LOG2.数据入库(a)从数据库中删除SDE和SDE USER用户DROP USER SDE CASCADE;DROP USER SDEUSER CASCADE;(b)创建新的SDE用户和SDEUSER下为创建SDE用户过程:(i)创建表空间CREATE TABLESPACE "SDE"LOGGINGDA TAFILE 'C:\ORACLE\ORADATA\ORACLE\SDE.ora' SIZE 200MEXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO(ii)创建用户CREATE USER "SDE" PROFILE "DEFAULT"IDENTIFIED BY "PASSWORD" DEFAULT TABLESPACE "SDE"TEMPORARY TABLESPACE "TEMP"ACCOUNT UNLOCK;(iii)创建角色GRANT "DBA" TO "SDE";GRANT "CONNECT" TO "SDE";GRANT "RESOURCE" TO "SDE";(iiii)系统权限GRANT ALTER ANY INDEX TO "SDE" WITH ADMIN OPTION;GRANT ALTER ANY TABLE TO "SDE" WITH ADMIN OPTION;GRANT ANAL YZE ANY TO "SDE" WITH ADMIN OPTION;GRANT CREATE ANY INDEX TO "SDE" WITH ADMIN OPTION;GRANT CREATE ANY PROCEDURE TO "SDE" WITH ADMIN OPTION;GRANT CREATE ANY SEQUENCE TO "SDE" WITH ADMIN OPTION;GRANT CREATE ANY TRIGGER TO "SDE" WITH ADMIN OPTION;GRANT CREATE ANY VIEW TO "SDE" WITH ADMIN OPTION;GRANT CREATE SESSION TO "SDE" WITH ADMIN OPTION;GRANT DROP ANY INDEX TO "SDE" WITH ADMIN OPTION;GRANT DROP ANY TABLE TO "SDE" WITH ADMIN OPTION;GRANT DROP ANY VIEW TO "SDE" WITH ADMIN OPTION;GRANT DROP ANY PROCEDURE TO "SDE" WITH ADMIN OPTION;GRANT DROP ANY SEQUENCE TO "SDE" WITH ADMIN OPTION;GRANT EXECUTE ANY PROCEDURE TO "SDE" WITH ADMIN OPTION;GRANT SELECT ANY SEQUENCE TO "SDE" WITH ADMIN OPTION;GRANT SELECT ANY TABLE TO "SDE" WITH ADMIN OPTION;GRANT UNLIMITED TABLESPACE TO "SDE" WITH ADMIN OPTION;3.导入SDE和SDEUSER的数据注意顺序,先SDE,后SDEUSERIMP SYSTEM/PASSWOR@SID FROMUSER=SDE TOUSER=SDEIMP SYSTEM/PASSWOR@SID FROMUSER=SDEUSER TOUSER=SDEUSER以上提到的SDE和SDEUSER是不同的用户,SDE是ArcSDE安装时的默认用户,SDEUSER 是指用户存储数据的用户,如果之间使用SDE默认用户存储,则省去所以的SDEUSER操作空间数据的备份、导出/导入(以Oracle为例):1、首先为什么oracle的exp/imp不能使用?一个feature class (shp文件)导入数据库后,会生成3个table 和7个index,这些表或者是index 可以保存在不同的表空间中。
Oracle数据库备份与恢复的三种⽅法备份与恢复的三种⽅法Oracle数据库有三种标准的备份⽅法,它们分别是导出/导⼊(EXP/IMP)、热备份和冷备份。
导出备件是⼀种逻辑备份,冷备份和热备份是物理备份。
⼀、导出/导⼊(Export/Import) 利⽤Export可将数据从数据库中提取出来,利⽤Import则可将提取出来的数据送回到Oracle数据库中去。
1、简单导出数据(Export)和导⼊数据(Import) Oracle⽀持三种⽅式类型的输出: (1)、表⽅式(T⽅式),将指定表的数据导出。
(2)、⽤户⽅式(U⽅式),将指定⽤户的所有对象及数据导出。
(3)、全库⽅式(Full⽅式),瘵数据库中的所有对象导出。
数据导⼊(Import)的过程是数据导出(Export)的逆过程,分别将数据⽂件导⼊数据库和将数据库数据导出到数据⽂件。
2、增量导出/导⼊ 增量导出是⼀种常⽤的数据备份⽅法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。
在进⾏此种导出时,不要求回答任何问题。
导出⽂件名缺省为export.dmp,如果不希望⾃⼰的输出⽂件定名为export.dmp,必须在命令⾏中指出要⽤的⽂件名。
增量导出包括三种类型: (1)、“完全”增量导出(Complete) 即备份三个数据库,⽐如:exp system/manager inctype=complete file=040731.dmp (2)、“增量型”增量导出 备份上⼀次备份后改变的数据,⽐如:exp system/manager inctype=incremental file=040731.dmp (3)、“累积型”增量导出 累计型导出⽅式是导出⾃上次“完全”导出之后数据库中变化了的信息。
⽐如:exp system/manager inctype=cumulative file=040731.dmp 数据库管理员可以排定⼀个备份⽇程表,⽤数据导出的三个不同⽅式合理⾼效的完成。