资源预览内容
第1页 / 共30页
第2页 / 共30页
第3页 / 共30页
第4页 / 共30页
第5页 / 共30页
第6页 / 共30页
第7页 / 共30页
第8页 / 共30页
第9页 / 共30页
第10页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Oracle Backup and Recovery,Oracle 备份与恢复概述,备份与恢复的意义 完全恢复与不完全恢复 Oracle备份与恢复的方式冷备份与恢复联机热备份逻辑备份与恢复Oracle DATA PUMPRMAN的备份与恢复,Oracle完全恢复与不完全恢复,完全恢复 complete Recovery 恢复到最后时间点 不丢失任何数据 需要的文件 有效的数据库完整备份 数据库备份后的所有归档日志文件 在线日志文件 当前的控制文件,Oracle完全恢复与不完全恢复,不完全恢复 Incomplete Recovery 恢复到指定的时间点或指定日志 丢失部分数据 需要的文件 有效的数据库完整备份 数据库备份后的所有归档日志文件 在线日志文件 当前的控制文件,Oracle的冷备份与恢复,冷备份的意义 服务器系统维护 周期性停机维护 冷备份的步骤,冷备份步骤,2,3,4,SHUTDOWN IMMEDIATE;,拷贝数据库相关文件,STARTUP OPEN;,Data files,Control files,Parameter files,1,Log files,Password file,Oracle数据库的逻辑备份与恢复,逻辑备份的意义 基于时间点的数据库备份 不同版本数据库的升级 用于建立测试数据库 Export & Import (Exp help=y 列出所有参数) 按表模式 按用户模式 按表空间模式 全库模式 不同版本间数据库的逻辑备份规则,Oracle数据库的逻辑备份与恢复例子,导出备份例子(按用户方式)exp system/managerorcl file=d:datau01.dmp owner=(hr,scott) log=d:dataexp.txt 导出备份例子(按数据库方式)exp system/managerorcl file=d:datafull.dmp full=y log=d:dataexp.txt 导入恢复例子(按用户方式)imp system/managerorcl file=d:datahis.dmp FROMUSER=(hr,scott) TOUSER=(hr,scott) log=imp_log.txt,Oracle DATA PUMP (数据泵),Oracle 数据泵 基本概念1、使用EXPDP,IMPDP进行数据的导出导入2、基于服务器的,不能在客户端运行3、高速的数据导出导入4、Data Pump是在Oracle目录中读写文件,需要创建外部和内部目录,EXPDP的用法,1、Expdp help=y 列出所有参数 2、创建目录- DIRECTORY对象 SQL conn system/oracle SQL CREATE DIRECTORY dump_dir AS D:dump; SQLGRANT ALL ON DIRECTORY dump_dir TO PUBLIC; 3、导出表 EXPDP hr/hrorcl DIRECTORY=dump_dir DUMPFILE=emp.dmp TABLES=test 4、导出方案 EXPDP hr/hrorcl DIRECTORY=dump_dir DUMPFILE=schema_hr.dmp SCHEMAS=hr,EXPDP的用法,5、导出表空间 EXPDP hr/hrorcl DIRECTORY=dump_dir DUMPFILE=tablespaces_hr.dmp TABLESPACES=USERS 6、导出数据库 EXPDP system/oracleorcl DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y,IMPDP的用法,1、导入表 IMPDP hr/hrorcl DIRECTORY=dump_dir DUMPFILE=emp.dmp TABLES=test 2、导入方案 IMPDP hr/hrorcl DIRECTORY=dump_dir DUMPFILE=schema_hr.dmp SCHEMAS=hr 3、导入表空间 IMPDP hr/hrorcl DIRECTORY=dump_dir DUMPFILE=tablespaces_hr.dmp TABLESPACES=USERS 4、导入数据库 IMPDP system/oracleorcl DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y,Recovery manager (RMAN),Server process (default),Server process (Polling),Server process (channel),MML,Server process (channel),Server process (channel),Disk,Disk,Target database,Server process (rcvcat),Recovery catalog DB,Enterprise Manager,RMAN 备份与恢复,Connecting Without a Recovery Catalog,Recovery manager (RMAN),Server process (default),Server process (Polling),Target database,C: set ORACLE_SID=DB01C: rman nocatalog target system/manager,rman target scott/tigerDB01 nocatalog,本地启动RMAN,远程启动 RMAN,使用RMAN进行在线备份,rman target sys/oracleORCL nocatalog RMAN run 2 allocate channel d1 type disk; 3 allocate channel d2 type disk; 4 backup (database format = e:BACKUPfull_%U.bak include current controlfile);,使用RMAN进行完全恢复全库恢复,1.停掉数据库删除全部的数据文件模拟数据库崩溃 2.使用RMAN 进行全库恢复 C:set ORACLE_SID=orcl C:set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK C:rman target sys/oracle nocatalog RMAN startup mount #可在SQLPLUS中执行 RMAN run 2 allocate channel d1 type disk; 3 allocate channel d2 type disk; # Parallel Restore 4 restore database; # 只能在rman中执行 5 recover database;#可在SQLPLUS中执行 6 sql “alter database open”; #可在SQLPLUS中执行,使用RMAN进行完全恢复单个数据库文件恢复,1.停掉数据库删除某个的数据文件模拟数据库文件损坏 2.使用RMAN 进行恢复数据文件 C:set ORACLE_SID=orcl C:set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK C :rman target sys/oracle nocatalog RMAN startup mount ;#可在SQLPLUS中执行 RMAN run 2 allocate channel d1 type disk; 3 allocate channel d2 type disk; 4 restore datafile file#; # 只能在rman中执行 5 recover datafile file#; ;#可在SQLPLUS中执行 6 sql “alter database open”; ;#可在SQLPLUS中执行,使用 RMAN进行不完全恢复,Mount the database. Allocate multiple channels to assist parallelization. Restore all data files. Recover the database using UNTIL TIME, CANCEL, or CHANGE. Open the database using RESETLOGS. Perform a whole database backup.,1.创建一个测试表 Sqlconn system/oracleorcl Sqlset time on; Sqlcreate table test_rec as select * from all_users; 2.使用RMAN备份数据库 rman target sys/oracleorcl nocatalog RMAN run allocate channel d1 type disk; allocate channel d2 type disk; backup (database format = e:BACKUPfull_%u.bak); ,使用RMAN进行不完全恢复例子基于时间点的恢复,3.删除测试表 Sqldrop table test_rec 4.使用RMAN恢复到删除表前的时间点 C:set ORACLE_SID=ORCL C:set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK C:set NLS_DATE_FORMAT=YYYY-MM-DD:HH24:MI:SS C:set NLS_DATE_LANGUAGE=AMERICAN C :rman target sys/oracleORCL nocatalog RMAN run allocate channel ch1 type disk;allocate channel ch2 type disk;set until time = 2007-11-22:20:14:00 ; restore database;recover database;alter database open resetlogs ; ,使用RMAN进行不完全恢复例子基于时间点的恢复,1、创建新的控制文件 alter database backup controlfile to trace;在udump目录下产生一个跟踪文件,根据跟踪文件的命令重新创建控制文件 2.备份在线控制文件与恢复备份:alter database backup controlfile to d:dumpcontrol01.ctl;恢复:startup mount;select * from v$log -查询当前未归档的在线日志文件recover database until cancel using backup controlfile;当提示输入一个不存在的归档日志时,输入上述查询语句查询的当前未归档的在线日志文件alter database open resetlogs;-不会丢数据的恢复,控制文件的备份与恢复,Oracle Flashback(闪回),1、Flashback Drop (1).恢复被删除的表 SQLcreate table t1 as select * from user_tables; SQLdrop table t1; SQLselect object_name,original_name,type from user_recyclebin; SQLflashback table t1 to before drop; SQLdesc t1;,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号