1、,Oracle 10g数据库应用教程,第8章 备份和恢复,课程描述 介绍如何使用导入/导出、数据泵技术、RMAN和Oracle闪回技术对Oracle数据库进行备份和恢复,本章知识点,导入/导出 数据泵技术 RMAN技术 闪回(Flashback)技术,备份和恢复概述,1 概念 备份(名词):数据库信息的一个拷贝。 备份(动词):通过特定的方法,将数据库的必要文件复制到转储设备的过程。 转储设备:用于放置数据库拷贝的磁带或磁盘。,恢复:将已备份的数据信息还原到数据库系统中去,将数据库返回到需要的状态。 对于Oracle而言,这些信息包括控制文件、数据文件以及重做日志文件等。 在某些情况下,数据库的一些数据可能丢失或被破坏,那么DBA就需要将数据库重新设置(或恢复)到以前的某个时刻,这个时刻的数据库是完整的、正确的。,备份和恢复概述,2 数据库备份的目的: 为了防止意外事件发生而造成数据库的破坏后恢复数据库中的数据信息。,备份和恢复概述,3 备份的类型,3 备份的类型,3 备份的类型,8.1 导入/导出,导出是数据库的逻辑备份 导入是数据库的逻辑恢复。 在Oracle中,Export实用程
2、序就是用来完成这样的数据库备份的。若要恢复使用由一个导出生成的文件,可使用Import实用程序。 在命令提示符窗口输入EXP HELP=Y调用EXP命令的帮助信息。,执行导入导出操作的用户必须具有DBA角色,或者exp_full_database权限。 如:查看当前用户被授予的角色 select * from user_role_privs;,8.1 导入/导出,select * from user_sys_privs; -查看当前用户被授予的系统权限,8.1 导入/导出,导出有3种模式: 用户(User)模式:导出用户所有对象以及对象中的数据。 表(Table)模式:导出用户的所有表或者用户指定的表。 全局(Full)模式(数据库模式):导出数据库中所有对象。,8.1.1 导出,导出有三种方式: (1)交互方式。 在输入Exp命令后,根据系统的提示输入导出参数。 (2)命令行方式。 (3)参数文件方式。关键参数是Parfile。,8.1.1 导出,【例】以交互方式进行数据库中的表XS的导出。 C:exp /*在命令提示符下输入EXP,然后回车*/ Export: Release 10
3、.2.0.1.0 Production on 星期四 6月8 15:18:18 2006 Copyright 1982,2005, Oracle. All rights reserved. 用户名:system /*输入用户名和口令*/ 口令: 连接到:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 Production,导出表,With the Partitioning, OLAP and Data Mining options 输入数组提取缓冲区大小:4096 /*这里使用默认值,直接回车即可*/ 导出文件:EXPDAT.DMPXS.DMP /*输入导出文件名称*/ (1)E(完整的数据库),(2)U(用户) 或 (3)T(表):(2)U T /*在这里选择要导出的类型,我们选择表*/ 导出表数据(yes/no):yes /*使用默认设置,导出表数据*/ 压缩区(yes/no):yes /*使用默认设置,压缩区*/,导出表,已导出ZHS16GBK字符集和AL16UTF16 NCHAR字符集 即将导出指定的表通过常规
4、路径 要导出的表(T)或分区(T:P):(RETURN退出)XS /*在此输入要导出的表名称*/ 正在导出表 XS 22行被导出 要导出的表(T)或分区(T:P):(RETURN以退出) /*导出表XS完毕,直接回车即可完成导出工作。若要导出其他表,在此输入表名即可*/ 在没有警告的情况下成功终止导出。,导出表,【例】以命令行方式进行数据库中的表XS的导出。 D:exp userid=system/oracle full=N file=d:xs.dmp tables=xs 注意:若想一次导出多个表则tables=(xs,kc) 若想导出其他方案下的表,如scott方案,则tables=(scott.xs),导出表,参数模式其实就是将命令行中命令后面所带的参数写在一个参数文件中,然后再使用命令,使后面带一个调用该文件的参数。 可通过普通的文本文件编辑器来创建这个文件。 为了便于标识,将该参数文件命名为.parfile的后缀。,导出表,【例】以参数方式导出XS表 在D:建立一个参数文件xs.parfile内容为: userid=system/oracle full=N file=d:xs.
5、dmp tables=xs D:exp parfile=xs.parfile,导出表,导出方案,使用system身份导出system方案。 EXP userid=system/oracle owner=system file=d:systemfa.dmp full=n,导出数据库,EXP userid=system/oracle file=d:dbbk.dmp full=y,8.1.2 导入,导出数据可以通过Oracle的Import实用程序导入。 当数据库出现错误的修改或删除操作时,利用导入操作通过导出文件恢复重要的数据。 导入操作可交互模式进行也可通过命令行模式或参数模式进行。,【例】以交互模式进行数据库中XS表的导入。 D:imp /*在命令提示符下输入IMP,然后回车*/ Import: Release 10.2.0.1.0 Production on 星期四 6月8 15:3 8:18 2006 Copyright 1982,2005 Oracle. All rights reserved. 用户名:system /*输入用户名和口令*/ 口令: 连接到:Oracle Dat
6、abase 10g Enterprise Edition Release 10.2.0.1.0 Production,导入表,With the Partitioning, OLAP and Data Mining options 导入文件:EXPDAT.DMPXS.DMP/*输入要导入的导出转储文件名*/ 输入插入缓冲区大小(最小为8192)30720 /*使用默认设置,然后回车*/ 经由常规路径导出由EXPORT:V10.02.00创建的文件 已经完成ZHS16GBK字符集和AL16UTF16 NCHAR字符集中的导入 只列出导入文件的内容(yes/no):no,导入表,由于对象已存在,忽略创建错误(yes/no):no 导入权限(yes/no):yes 导入表数据(yes/no):yes 导入整个导出文件(yes/no):no 用户名:system/*输入用户名,导入的数据将会在此用户模式下创建*/ 输入表(T)或分区(T:P)名称。空列表表示用户的所有表 输入表(T)或分区(T:P)名称或。如果完成:XS /*输入要创建的表的名称*/,导入表,输入表(T)或分区(T:P)名称或。
7、如果完成: 正在将ADMIN的对象导入到ADMIN 正在导入表 “XS” 22行被导入 准备启用约束条件 成功终止导入,但出现警告。,导入表,命令行模式 D:imp USERID=system/oracle FULL=N FILE=d:XS.DMP TABLES=XS,导入表,参数模式 以下是一个参数文件的内容: USERID=system/oracle FULL=N FILE=d:XS.DMP TABLES=XS 使用参数模式执行过程如下: D:imp PARFILE=d:XS.PARFILE,导入表,导入方案,例:以system身份导入system方案 IMP userid=system/oracle file=d:system.dmp fromuser=system touser=system,导入数据库,相当于数据库迁移 IMP userid=system/oracle full=y file=d:dbbk.dmp,8.1.3 数据泵导入/导出,数据泵概述,数据泵(Data Pump)是Oracle 10g新增的实用程序,它是可以从数据库中高速导出或加载数据库的方法,可以自动管
8、理多个并行的数据流。 数据泵可以实现在测试环境、开发环境、生产环境以及高级复制或热备份数据库之间的快速数据迁移;数据泵还能实现部分或全部数据库逻辑备份,以及跨平台的可传输表空间备份。,数据泵技术相对应的工具是Data Pump Export和Data Pump Import。 它的功能与前面介绍的EXP和IMP类似,所不同的是数据泵的高速并行的设计使得服务器运行时执行导入和导出任务快速装载或卸载大量数据。 数据泵可实现断点重启 数据泵技术是基于EXP/IMP的操作,主要用于对大量数据的大的作业操作。,数据泵概述,1. 使用EXPDP导出 EXPDP可以交互进行也可以通过命令进行。 EXPDP关键字 dumpfile : 目标转储文件(.dmp)的列表 job_name : 要创建的导出作业的名称 tables: 列出要导出的表的列表 directory: 供转储文件使用的目录对象,数据泵的使用,表8.3 EXPDP关键字,数据泵的使用导出,【例】使用EXPDP导出system用户的表XS。 (1)EXPDP准备工作。在使用EXPDP之前,需要创建一个目录,用来存储数据泵导出的数据。使用
9、如下方法创建目录: SQLCREATE DIRECTORY dpump_dir as d:bak; 在目录创建后,必须给导入导出的用户赋予目录的读写权限。 SQLGRANT READ,WRITE ON DIRECTORY dpump _dir TO system;,【例】使用EXPDP导出system用户的表XS。 (2) 使用EXPDP导出数据。 D:expdp system/oracle dumpfile=xs.dmp directory= dpump _dir tables=xs job_name=xs_job,数据泵的使用导出,Export: Release 10.2.0.1.0 - Production on 星期六, 10 6月, 2006 16:31:54 Copyright (c) 2003, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 启动 “system“.“XS_JOB“: admin/* dumpfile=xs.dmp directory= dpump_dir tables=xs job_name=xs_job 正在使用 BLOCKS 方法进行估计. 处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA 使用 BLOCKS 方法的总估计: 64 KB 处理对象类型 TABLE_EXPORT/TABLE/TABLE 处理对象类型 TABLE_EXPORT/TABLE/INDEX/INDEX 处理对象类型 TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT 处理对象类型 TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS . . 导出了 “sys
《数据库闪回技术课件》由会员F****n分享,可在线阅读,更多相关《数据库闪回技术课件》请在金锄头文库上搜索。