资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Click to edit Master title style,First Level,Second Level,Third Level,Fourth Level,Fifth Level,第十四章 数据加载与传输,备份,就是数据库信息的一个拷贝。对于,Oracle,而言,,这些信息包括控制文件、,数据,文件以及,重做,日志文件,等。数据库备份的目的是为了防止意外,事,件,发生而,造成数据库,的破坏后恢复数据库中的,数据,信息,。,1,概述,备份,和恢复,是两个互相联系的概念,,备份,就是,将数据信息,保存,起来;而恢复则,是当意外事,件发生,或者某种需要时,将已,备份的,数据信息,还,原到,数据库系统中去,。,数据库,备份类型,备份一个,Oracle,数据库有三种标准方式,:,导出,(Export,),脱机,备份,(offline backup),联机,(ARCHIVELOG),备份,(online backup),。,导出,方式是数据库的逻辑备份。脱机备份,和,联机,备份都是物理备份,(,也称低级备份,),。,2,类型,(1),逻辑备份,导出是将数据库中数据备份到一个称为“导出转储文,件”的二进制系统文件中。,导出有,3,种模式:,用户,(User),模式:,导出用户所有对象以及对象中的,数据。,表,(Table),模式:,导出用户的所有表或者用户指定,的表。,全局,(Full),模式,(,也称为数据库模式,),:,导出数据库,中所有对象,包括所有数据、数据定义和用来重建数,据库的存储对象。,(,2),物理备份,物理,备份是拷贝数据库文件而不是其逻辑内容。,Oracle,支持,两种,不同类型,的物理,备份:脱机备份,(,也称冷备份,),和联机备份,(,也,称热备份,),。,脱机备份,脱机,备份在数据库已经正常关闭的情况进行。,联机备份,数据库,可能要求,24,小时运行,而且随时会对数据进行操作。,联机,备份过程具备强有力功能的原因有两个。第一,提供了完全的时间点,(,point-in-time,),恢复。第二,在文件系统备份时允许数据库保持打开状态。,14.3,导,入,/,导出,导出,是数据库的逻辑备份,导入是数据库的,逻辑,恢复,。,1,导出,数据库,的逻辑备份包括读一个数据库记录集和,将,记录,集写入一个文件中。这些记录,的读取,与其,物理,位置,无关,。,在,Oracle,中,,Export,实用程序就是用来完成,这样,的,数据库,备份,的。若要恢复使用由一个导出生成,的,文件,,可使用,Import,实用程序。,表,14.1,列出了,Export,指定的运行期选项。可以在命令,提示符窗口输入,EXP HELP=Y,调用,EXP,命令的帮助信,息。,表,14.1 Export,选项,【,例,14.1,】,以交互模式进行,数据库,orcl,的表,emp,的,导出。,C:exp,/*,在命令提示符下输入,EXP,,然后回车*,/,Export,:Release 10.2.0.1.0 Production on,星期四,6,月,8 15:18:18 2006,Copyright,1982,2005,Oracle.All rights reserved.,用户名:,scott,/*,输入用户名和口令*,/,口令,:,连接,到:,Oracle Database,11g,Enterprise Edition Release,11.2.0.1.0,Production With,the Partitioning,OLAP and Data Mining options,输入,数组提取缓冲区大小:,4096,/*,这里使用默认值,直接回车即可*,/,导出,文件:,EXPDAT.DMP,aa.DMP,/*,输入导出文件名称*,/,(,1)E(,完整的数据库,),,,(2)U(,用户,),或,(3)T(,表,),:,(2)U,T,/*,在这里选择要导出的类型,我们选择表*,/,导出表数据,(yes/no),:,yes /*,使用默认设置,导出表数据*,/,压缩区,(yes/no),:,yes /*,使用默认设置,压缩区*,/,已导出,ZHS16GBK,字符集和,AL16UTF16 NCHAR,字符集,即将导出指定的表通过常规路径,要导出的表(,T,)或分区(,T,:,P,):(,RETURN,退出),EMP,/*,在此输入要导出的表名称*,/,正在导出表,emp14,行被导出,要导出的表(,T,)或分区(,T,:,P,):(,RETURN,以退出),/*,导出表,emp,完毕,直接回车即可完成导出工作。若要导出其他表,在此输入表名即可*,/,在没有警告的情况下成功终止导出。,2,导入,导出,数据可以通过,Oracle,的,Import,实用程序导入。,可以导,入,全部,或部分数据,。,如果,导入一个全导出的导出转储文件,则包括表空间、,数据,文件,和用户在内的,所有,数据库对象都会在导入时创建。不过,,,为了,在数据库中指定对象的物理分配,,,通常,需要预先创建表,空,间,和用户,。,如果,只从导出转储文件中导入部分数据,,那么表空间,、,数据,文件,和用户必须在导入前设置好,。,表,14.2,给出导入操作的参数,其他参数请参照导出参数。,表,14.2 Import,关键字,表,14.2 Import,关键字,【,例,14.2,】,以交互模式,进行,ORCL,数据库中,EMP,表,的导入。,D,:imp,/*,在命令提示符下输入,IMP,,然后回车*,/,Import,:Release,11.2.0.1.0,Production on,星期四,6,月,8 15:3 8:18 2006,Copyright,1982,2005 Oracle.All rights reserved.,用户名:,scott,/*,输入用户名和,口令,口令,:,连接,到:,Oracle Database,11g,Enterprise Edition Release,11.2.0.1.0,Production,With the Partitioning,OLAP and Data Mining,options,导,入文件:,EXPDAT.DMP,aa,.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,用户名:,scott,/*,输入用户名,导入的数据将会在此用户,模式下创建*,/,输入表(,T,)或分区(,T,:,P,)名称。,空列表表示用户的所有表,输入表(,T,)或分区(,T,:,P,)名称或如果完成:,EMP,/*,输入要创建的表的名称*,/,输入表(,T,)或分区(,T,:,P,)名称或。如果完成:,正在将,scott,的对象导入到,scott,正在导入表“,EMP”14,行被导入,准备启用约束条件,成功终止导入,但出现警告。,练习,试试导出和导入,scott,用户,14.4,数据,泵,数据泵(,Data Pump,),是,Oracle,10g,时新增,的实用程序,它可以从数据库中高速,导出,或加载数据库的方法,可以自动管理多个并行的数据流,。,数据泵,还能实现部分或全部数据库逻辑备份,以及跨平台的可传输表空间备份。,1,概述,数据,泵技术相对应的工具是,Data Pump Export,和,Data,Pump,Import,。它,的,功能与,前面介绍的,EXP,和,IMP,类似,,所,不同的是:,数据,泵的高速并行的设计使得,服务器运行,时执行导入和导出任务快速装载或卸载大量数据,。,另外,,数据泵可以实现,断点,重启,即一个任务无论是人为地中断还是意外中断,都可以从断点地方重新,启动。,数据,泵技术是基于,EXP/IMP,的操作,主要用于对大量数据的大的作业操作,。在,使用数据泵进行数据导出与加载时,可以使用多线程并行操作。,2,数据,泵的使用,在,Oracle,中,,有两种方式使用数据泵,一是在命令方式导出与导入数据;二是,基于,Web,的企业管理器中进行导入导出。,1.,使用,EXPDP,导出,EXPDP,可以交互进行也可以通过命令进行。,表,14.3,给出,EXPDP,命令的操作参数。,表,14.3 EXPDP,关键字,表,14.3 EXPDP,关键字,【,例,14.3】,使用,EXPDP,导出,admin,用户的表,XS,。,(1)EXPDP,准备工作。在使用,EXPDP,之前,需要创建一个目录,用来存储,数据泵,导出的数据。使用如下方法创建目录:,SQLCREATE DIRECTORY dpump_dir as d:bak;,在目录创建后,必须给导入导出的用户赋予目录的读写权限。,SQLGRANT READ,WRITE ON DIRECTORY dpump _dir TO ADMIN;,(,2),使用,EXPDP,导出数据。,C:expdp admin/osiris dumpfile=xs.dmp directory=dpump _dir,tables=xs,job_name=xs_job,Export:Release,11.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,11.2.0.1.0,-Production,With the Partitioning,OLAP and Data Mining options,启动,ADMIN.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,.,导出了,ADMIN.XS 7.828 KB 22,行,已成功加载,/,卸载了主表,ADMIN.XS_JOB,*,ADMIN.XS_JOB,的转储文件集为,:,D:BAKXS.DMP,作业,ADMIN.XS_JOB,已于,16:33:48,成功完成,3.,使用,IMPDP,导入,使用,IMPDP,可以将,EXPDP,所导出的文件导入到数据库。,如果要将整个导入的数据库对象,进行,全部导入,还需要授予用户,IMP_FULL_DATABASE,角色,。表,14.4,给出了,IMPDP,与,XEPDP,不同的参数说明,其余参数请参考,EXPDP,参数。可以如下,语句,查看,IMPDP,的参数。,表,14.4IMP,关键字,【,例,14.4】,使用,xs.dmp,导出文件导入表,XS,。,C:impdp admin/osiris dumpfile=xs.dmp,directory=dpump_dir tables=xs table_exists_action=replace,Import:Release,11.2.0.1.0,-Production on,星期六,10 6,月,2006 17:17:56,Copyright(c)2003,2005,Oracle.All rights reserved.,连接到,:Oracle Database 10g Enterprise Edition Release,11.2.0.1.0,-Production,With the Partitioning,OLAP and Data Mining options,已成功加载,/,卸载了主表,ADMIN.SYS_IMPORT_FULL_01,启动,ADMIN.SYS_IMPORT_FULL_01:admin/*dumpfile=xs.dmp,directory=dpump_dir,处理对象类型,TABLE_EXPORT/TABLE/TABLE,处理对象类型,TABLE_EXPORT/TABLE/TABLE_DATA,.,导入了,ADMIN.XS 7.828 KB 22,行,处理对象类型,TABLE_EXPORT/TABLE/INDEX/INDEX,处理对象类型,TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT,处理对象类型,TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS,作业,ADMIN.SYS_IMPORT_FULL_01,已于,17:18:16,成功完成,练习,创建一个表空间,在该表空间中创建一张表。,将该表空间导出,删除表空间,将表空间导入,
展开阅读全文