数据库基础ORACLE备份恢复ppt课件
数据库基础ORACLE备份恢复(BAS4102),金蝶顾问学院,讲师:蒋俊,目 录,Oracle 备份与恢复目标 故障类型及处理 Oracle 逻辑备份 Exp/imp Expdp/impdp Oracle物理备份 RMAN,保护数据 提高可持续使用时间 (MTBF) 减少恢复时间 (MTTR) 减少数据丢失,备份和恢复目标,目 录,Oracle 备份与恢复目标 故障类型及处理 Oracle 逻辑备份 Exp/imp Expdp/impdp Oracle物理备份 RMAN,故障类型,语句故障 用户进程故障 用户失误 实例故障 介质故障 网络故障,语句故障,用户进程故障及处理,可能的解决方法,典型问题,通常不需要 DBA 的操作就可解决用户进程错误。实例后台进程会回退未提交的更改并解除锁定。 观察变化趋势。,用户执行异常断开操作 用户会话异常终止 用户遇到了终止会话的程序错误,可能的用户失误,SQL DROP TABLE employees;,SQL TRUNCATE TABLE employees;,SQL UPDATE employees 2 SET salary = salary * 1.5; SQL COMMIT;,SQL DELETE FROM employees; SQL COMMIT;,用户失误处理,实例故障,介质故障,配置可恢复性,要配置数据库的最大可恢复性,必须: 计划常规备份 多路复用控制文件 多路复用重做日志组 保留重做日志的归档副本,重做日志文件,多路复用重做日志组可避免介质故障和数据丢失。建议重做日志组满足以下条件: 每个组至少有两个成员(文件) 在每个磁盘驱动器上有一个成员 在每个磁盘控制器上有一个成员,多路复用重做日志,归档日志文件,通过执行以下步骤创建重做日志文件的归档副本: 指定归档日志文件命名惯例。 指定一个或多个归档日志文件的位置。 将数据库切换到 ARCHIVELOG 模式。,归档日志文件:命名和目的地,ARCHIVELOG 模式,要将数据库置于 ARCHIVELOG 模式下,请执行以下步骤: 1.选中“ARCHIVELOG Mode(ARCHIVELOG 模式)”复选框。 2.单击“Apply(应用)”。只能在 MOUNT 状态下将数据库设置为 ARCHIVELOG 模式。 3.询问是否要重新启动数据库时,请单击“Yes(是)”。 4.备份数据库。 处于ARCHIVELOG 模式下的数据库可访问所有备份和恢复选项。,小结,在本课中,应该已经学会如何: 确定 Oracle 数据库中可能发生的故障类型 说明优化实例恢复的方法 重做日志文件和归档日志文件的重要性 配置 ARCHIVELOG 模式,目 录,Oracle 备份与恢复目标 故障类型及处理 Oracle 逻辑备份 Exp/imp Expdp/impdp Oracle物理备份 RMAN,Oracle 逻辑备份介绍,物理备份的补充 不同版本数据库的迁移 不同平台数据库的迁移,与物理备份比较,占用较小的空间 更为灵活,有四种方式 需要确认字符集 四种备份形式 全局备份 按用户备份 按表备份 表空间备份 备份工具 EXP/IMP EXPDP/IMPDP,Oracle exp/imp工具作用,归档历史数据 存储表的定义 在不同平台及版本间转换数据 在不同数据库间移植表空间,运行EXPORT工具的方法,以交互式对话的方式 命令行 参数文件 通过OEM启动,EXPORT模式,全数据库模式 Tables definitions Tables data Grants Indexes Tables constraints,表模式 Table definitions Table data (all or selected rows) Owners table grants Owners table indexes Table constraints,用户模式 Tables definitions Tables data Owners grants Owners indexes Tables constraints,表空间模式 Table definitions Grants Indexes Table constraints Triggers,EXP命令,举例,exp hr/hr TABLES=(employees,departments) rows=y file=exp1.dmp,exp keyword = (value, value2, ,valuen),exp system/manager OWNER=hr direct=yfile=expdat.dmp,exp system/manager FULL=y inctype=cumulative file=expcum1.dmp,exp system/manager TRANSPORT_TABLESPACE=y TABLESPACES=(ts_emp) log=ts_emp.log,语法,Import 工具,从dump文件读取对象定义和表数据. 然后插入数据对象到数据库. 包括以下功能: 生成表的定义. 从四种模式导出文件中获取数据 从累加文件中获取数据 用户操作失误时,恢复数据,如表的误删除。,Import 模式,模式 描述 Table 获取指定的表. User 获取一个用户的所有对象 Tablespace 获取一个表空间的所有对象 Full Database 获取输出文件的所有对象,Import 命令,语法,举例,imp hr/hr TABLES=(employees,departments) rows=y file=exp1.dmp,imp keyword = value or keyword = (value, value2, value n),imp system/manager FROMUSER=hr file=exp2.dmp,imp system/manager TRANSPORT_TABLESPACE=y TABLESPACES=ts_employees,移动数据:一般体系结构,目录对象:概览,数据泵:概览,数据泵作为一个基于服务器的、可用于高速移动数据与元数据的设备: 是通过 DBMS_DATAPUMP 调用的 可提供以下工具: expdp impdp 基于 Web 的界面 可提供以下数据访问方法: 直接路径 外部表 可与长时间运行的作业分离后重新挂接 可重新启动数据泵作业,目录对象 SQL*Loader 数据泵 - 导出 - 导入 外部表,数据泵:优点,细粒度级对象和数据的选择 显式指定数据库版本 并行执行 估计导出作业占用的空间 分布式环境中的网络模式 导入过程中的重新映射功能 数据取样率和元数据压缩,数据泵导出和导入:概览,数据泵实用程序:接口与模式,数据泵导出和导入接口: 命令行 参数文件 交互式命令行 Database Control 数据泵导出和导入模式: 完整 方案 表 表空间 可移动表空间,细粒度级对象的选择,目录对象 SQL*Loader 数据泵 - 导出 - 导入 外部表,高级功能:取样率,任务:创建测试数据 方法:指定要从源数据库取样和卸载数据的百分比 卸载 HR.EMPLOYEES 表的 44% 的示例: 卸载整个导出作业的 30%(由于未指定表名)的示例:,数据泵文件的命名和大小,生成导出后台作业,数据泵导入,目录对象 SQL*Loader 数据泵 - 导出 - 导入 外部表,数据泵导入:转换,您可以: 使用 REMAP_DATAFILE 重新映射数据文件 使用 REMAP_TABLESPACE 重新映射表空间 使用 REMAP_SCHEMA 重新映射方案,REMAP_DATAFILE = C:oradatatbs6.f:/u1/tbs6.f,数据泵导入:转换,使用 TRANSFORM,还可以: 从表和索引中: 排除 STORAGE 和 TABLESPACE 子句 只排除 STORAGE 子句 重新创建抽象数据类型的对象标识符 更改区分配和文件大小,TRANSFORM = SEGMENT_ATTRIBUTES|STORAGE|OID|PCTSPACE:y|n|v:object type,数据泵:性能注意事项,使用 PARALLEL 参数最大化作业性能 示例:,expdp hr/hr FULL=y DUMPFILE=dp_dir1:full1%U.dmp, dp_dir2:full2%U.dmp FILESIZE=2G PARALLEL=3 LOGFILE=dp_dir1:expfull.log JOB_NAME=expfull,性能初始化参数,以下设置会影响数据泵性能: DISK_ASYNCH_IO=TRUE DB_BLOCK_CHECKING=FALSE DB_BLOCK_CHECKSUM=FALSE 以下参数应设置得更大些才能实现最大并行度: PROCESSES SESSIONS PARALLEL_MAX_SERVERS 应大幅度调整以下参数的大小: SHARED_POOL_SIZE UNDO_TABLESPACE,数据泵访问路径:注意事项,数据泵会自动选择以下其中一种访问路径: 直接路径 外部表,如果数据包括: 加密列 集簇表 卸载和加载时的不同分区,以及其它条件(请参阅“注释”),特性 转储文件集管理,基于目录:例如,DMPDIR:export01.dmp 其中 DMPDIR 创建为: SQL create directory dmpdir as /data/dumps 支持指定多个带通配符的文件: dumpfile=dmp1dir:full1%u.dmp, dmp2dir:full2%u.dmp 根据需要从提供的文件指定中循环创建文件 可以限制文件大小以便管理 自动维护转储文件集的一致性,数据泵 交互模式,通过 Ctl-C 进入交互式模式: ADD_FILE:为作业添加转储文件和通配符文件指定 PARALLEL:动态添加或删除工作线程 STATUS:获取每个工作线程的详细状态并修改报表时间间隔 STOP_JOB=IMMEDIATE:停止作业,使其为可重新启动。IMMEDIATE 不等待工作线程完成当前的工作项目它们将在重新启动时重新执行 START_JOB:重新启动一个先前停止的作业 KILL_JOB:停止作业并删除其所有的资源 (主表、转储文件),使其为不可重新启动 CONTINUE:退出交互模式,继续记录日志 EXIT:退出客户端程序,使作业保持运行,小结,在本课中,应该已经学会如何: 说明移动数据的可用方法 创建和使用目录对象 说明数据泵的一般体系结构 使用数据泵的导出和导入在 Oracle 数据库之间移动数据,练习,数据移动 Exp/imp exp system/kingdee owner=eas file=/home/oracle/bck/eas_10_21.dmp log=/home/oracle/bck/eas_10_21.log Imp 创建表对应的表空间,用户名称 imp system/kingdee file=$impdir/$impfile log=$impdir/$FILE.log fromuser=$username touser=$username Expdp/impdp,练习,数据移动 Expdp 创建目录对象kd_dir并授权 expdp system/kingdee schemas=$expfile dumpfile=$FILE.dmp logfile=$FILE.log directory =kd_dir Impdp impdp system/kingdee dumpfile=$impfile LOGFILE=impdpxxx.log directory=kd_dir REMAP_SCHEMA=$O_schemas:$user