第9章数据移动ok_第1页
第9章数据移动ok_第2页
第9章数据移动ok_第3页
第9章数据移动ok_第4页
第9章数据移动ok_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第9章

数据移动主要内容数据移动概述利用EXPDP/IMPDP进行数据的导出与导入利用EXP/IMP进行数据的导出与导入利用SQL*Loader进行数据的装载29.1数据移动概述数据移动是指将数据从数据库导出到操作系统文件,或者从操作系统文件导入到数据库中。利用导出工具,将数据库中选定的记录集或数据字典以二进制文件的形式存储到操作系统中,这个二进制文件称为转储文件,以dmp格式存储。利用Oracle提供的导入工具将导出的转储文件导入数据库内部。利用Oracle提供的装载工具SQL*Loader将操作系统文件中的数据装载到数据库中。4数据移动有以下特点及用途:可以在不同版本的数据库间进行数据移植;可以在不同操作系统上运行的数据库间进行数据移植,例如可以从WindowsNT系统迁移到Unix系统等;可以在数据库模式之间传递数据,即先将一个模式中的对象进行备份,然后再将该备份导入到数据库其他模式中;数据的导出与导入与数据库物理结构没有关系,是以对象为单位进行的,这些对象在物理上可能存储于不同的文件中;对数据库进行一次逻辑备份与恢复操作能重新组织数据,消除数据库中的链接及磁盘碎片,提高数据库的性能;除了进行数据的备份与恢复外,还可以进行数据库对象定义、约束、权限等的备份与恢复。在Oracle10g之前Export(EXP)Import(IMP)从Oracle10g开始引入了数据泵(DataPump)技术DataPumpExport(EXPDP)DataPumpImport(IMPDP)6两类数据移动实用程序比较Export和Import是客户端实用程序,可以在服务器端使用,也可以在客户端使用;Expdp和Impdp是服务器端实用程序,只能在数据库服务器端使用。利用Expdp,Impdp在服务器端多线程并行地执行大量数据的导出与导入操作。数据泵技术具有重新启动作业的能力,即当发生数据泵作业故障时,DBA或用户进行干预修正后,可以发出数据泵重新启动命令,使作业从发生故障的位置继续进行。9.2利用EXPDP/IMPDP进行数据的导出与导入创建目录对象利用EXPDP导出数据利用IMPDP导入数据9.2.1创建目录对象EXPDP和IMPDP工具使用之前需要创建DIRECTORY对象,并将该目录对象的READ、WRITE权限授予用户。SQL>CREATEORREPLACEDIRECTORYdpump_dirAS'D:\BACKUP\DUMP';

SQL>GRANTREAD,WRITEONDIRECTORYdpump_dirTOscott;9.2.2利用EXPDP导出数据EXPDP导出概述EXPDP常用的命令参数EXPDP导出实例EXPDP导出概述EXPDP将数据库中的元数据与行数据导出到操作系统的转储文件中。EXPDP工具的执行方式:命令行方式:在命令行中直接指定参数设置;参数文件方式:将参数设置存放到一个参数文件中,在命令行中用PARFILE参数指定参数文件;交互方式:通过交互式命令进行导出作业管理。EXPDP导出模式全库导出:通过参数FULL指定,导出整个数据库模式导出:通过参数SCHEMAS指定,是默认的导出模式,导出指定模式中的所有对象。表导出:通过参数TABLES指定,导出指定模式中指定的所有表、分区及其依赖对象。表空间导出:通过参数TABLESPACES指定,导出指定表空间中所有表及其依赖对象的元数据和行数据。传输表空间导出:通过参数TRANSPORT_TABLESPACES指定,导出指定表空间中所有表及其依赖对象的元数据。EXPDP常用的命令参数CONTENT:指定要导出的内容。ALL表示导出对象的元数据及行数据;DATA_ONLY表示只导出对象的行数据;METADATA_ONLY表示只导出对象的元数据。默认为ALL。DIRECTORY:指定转储文件和日志文件所在位置的目录对象,该对象由DBA预先创建。DUMPFILE:指定转储文件名称列表,可以包含目录对象名。默认值为expdat.dmp。FULL:指定是否进行全数据库导出,包括所有行数据与元数据。默认值为NO。JOB_NAME:指定导出作业的名称。默认值为系统自动为作业生成的一个名称。LOGFILE:指定导出日志文件的名称。默认值为export.log。PARALLEL:指定执行导出作业时最大并行进程个数。默认值为1。PARFILE:指定参数文件的名称。SCHEMAS:指定进行模式导出及模式名称列表。TABLES:指定进行表模式导出及表名称列表。TABLESPACES:指定进行表空间模式导出及表空间名称列表。TRANSPORT_TABLESPACES:指定进行传输表空间模式导出及表空间名称列表。EXPDP导出实例表导出C:\>expdpsystem/tigerDIRECTORY=dpump_dirDUMPFILE=emp_dept.dmpLOGFILE=emp_dept.logTABLES=scott.emp,scott.deptPARALLEL=3模式导出C:\>expdpsystem/tigerDIRECTORY=dpump_dirDUMPFILE=scott.dmpSCHEMAS=scott表空间导出C:\>expdpsystem/tigerDIRECTORY=dpump_dirDUMPFILE=users.dmpTABLESPACES=users全库导出C:\>expdpsystem/tigerDIRECTORY=dpump_dirDUMPFILE=expfull.dmpFULL=YESNOLOGFILE=YES9.2.3利用IMPDP导入数据IMPDP是一个用于将转储文件导入目标数据库的工具。IMPDP工具可以将转储文件导入到源数据库中,也可以导入到其它平台上运行的不同版本的Oracle数据库中。IMPDP工具的执行也可以采用交互方式、命名行方式以及参数文件方式三种。IMPDP导入模式全库导入:将源数据库的所有元数据与行数据都导入到目标数据库中。模式导入:通过参数SCHEMA指定,将指定模式中所有对象的元数据与行数据导入目标数据库。表导入:通过参数TABLES指定,将指定表、分区以及依赖对象导入目标数据库中。表空间导入:通过参数TABLESPACES指定,将指定表空间中所有对象及其依赖对象的元数据和行数据导入目标数据库。传输表空间导入:通过参数TRANSPORT_TABLESPACES指定,将源数据库指定表空间的元数据导入到目标数据库中。IMPDP常用的命令参数CONTENT:指定要导入的内容。ALL表示导入对象的元数据及行数据;DATA_ONLY表示只导入对象的行数据;METADATA_ONLY表示只导入对象的元数据。默认为ALL。DIRECTORY:指定转储文件和日志文件所在位置的目录对象,该对象由DBA预先创建。DUMPFILE:指定转储文件名称列表,可以包含目录对象名,默认值为expdat.dmp。FULL:指定是否进行全数据库导入,包括所有元数据与行数据。默认值为YES。INCLUDE:指定导入操作中要导入的对象类型和对象元数据。JOB_NAME:指定导入作业的名称。默认值为系统自动为作业生成的一个名称。LOGFILE:指定导入日志文件的名称。默认值为import.log。NOLOGFILE:指定是否生成导入日志。默认值为NO。PARALLEL:指定执行导入作业时并行进程的最大个数。默认值为1。PARFILE:指定参数文件的名称。QUERY:指定导入操作中SELECT语句中的数据导入条件。REMAP_SCHEMA:将源模式中的所有对象导入到目标模式中。REMAP_TABLE:允许在导入操作过程中重命名表。REMAP_TABLESPACE:将源表空间所有对象导入目标表空间中。SCHEMAS:指定进行模式导入的模式名称列表。默认为当前用户模式。TABLES:指定表模式导入的表名称列表。TABLESPACES:指定进行表空间模式导入的表空间名称列表。TRANSPORT_TABLESPACES:指定进行传输表空间模式导入的表空间名称列表。IMPDP导入实例表导入C:\>impdpscott/tigerDIRECTORY=dpump_dirDUMPFILE=emp_dept.dmpTABLES=dept,empCONTENT=DATA_ONLY

C:\>impdpscott/tigerDIRECTORY=dpump_dirDUMPFILE=emp_dept.dmpTABLES=dept,empNOLOGFILE=Y模式导入C:\>impdpsystem/tigerDIRECTORY=dpump_dirDUMPFILE=scott.dmpSCHEMAS=scottC:\>impdpscott/tigerDIRECTORY=dpump_dirDUMPFILE=scott.dmpREMAP_SCHEMA=scott:test_scott表空间导入C:\>impdpscott/tigerDIRECTORY=dpump_dirDUMPFILE=users.dmpTABLESPACES=users;数据库导入C:\>impdpscott/tigerDIRECTORY=dpump_dirDUMPFILE=expfull.dmpFULL=YESNOLOGFILE=YES9.3利用EXP/IMP进行数据的导出与导入EXP/IMP工具介绍利用EXP导出数据利用IMP导入数据9.3.1EXP/IMP工具介绍Export和Import是Oracle在早期版本中提供的数据导出与导入工具,可以在不同版本、不同平台的Oracle数据库之间进行数据移动。EXP/IMP工具有交互式方式执行、命令行方式执行以及参数文件方式执行三种。EXP/IMP工具的导出、导入模式分为全库模式、表空间模式、用户模式以及表模式。9.3.2利用EXP导出数据EXP常用的命令参数EXP导出实例EXP常用的命令参数BUFFER:设置数据缓冲区大小。COMPRESS:设置是否压缩数据以便将来数据导入到一个区,默认值为Y。CONSTRAINTS:指定是否导出约束条件,默认值为Y。DIRECT:指定是否使用直接路径,默认值为N。FILE:指定导出的转储文件的名称,默认值为expdat.dmp。FILESIZE:指定每个转储文件的最大大小。FULL:指定是否导出整个数据库,默认值为N。GRANTS:指定是否导出权限,默认值为Y。INDEXES:指定是否导出索引,默认值为Y。LOG:指定一个日志文件用于保存导出操作过程中产生的信息,包括错误信息。OBJECT_CONSISTENT:指定在对象导出期间是否设置数据的读一致性,默认值为N。OWNER:用户导出模式,指定要导出的用户名列表。PARFILE:指定参数文件名称。QUERY:用于指定查询条件,导出表中数据的子集。ROWS:指定是否导出表中数据,默认值为Y。

TABLES:表导出模式,指定要导出表的名称列表。TABLESPACES:传输表空间导出模式,指定要导出的表空间列表。TRANSPORT_TABLESPACE:指定是否导出可传输表空间元数据,默认值为N。TRIGGERS:指定是否导出触发器,默认值为Y。USERID:指定连接数据库的用户名与口令。EXP导出实例C:\>expsystem/tigerFULL=yFILE='d:\backup\orclfull.dmp'C:\>expsystem/tigerFILE='d:\backup\scott_hr.dmp'OWNER=scott,hrGRANTS=yROWS=yCOMPRESS=yC:\>expsystem/tigerFILE='d:\backup\emp_dept.dmp'TABLES=(scott.emp,scott.dept)GRANTS=yINDEXES=yC:\>expsystem/tigerFILE='d:\backup\users.dmp'TABLESPACE=(USERS)GRANTS=yINDEXES=y9.3.3利用IMP导入数据IMP常用的命令参数IMP导入实例IMP常用的命令参数BUFFER:设置数据缓冲区大小。COMMIT:指定是否一组数据导入后提交,默认为一个表全部导入后提交。默认值为N。COMPILE:指定是否对导入时创建的包、过程和函数进行编译。默认值为Y。CONSTRAINTS:指定是否导入约束。默认值为Y。DATA_ONLY:指定是否只导入数据,默认导入元数据和行数据。默认值为N。FILE:指定导入的转储文件的名称,默认值为expdat.dmp。FILESIZE:指定每个转储文件的最大大小。FROMUSER:指定用于导入的用户名列表。FULL:指定是否导入整个转储文件。默认值为Y。GRANTS:指定是否导入权限。默认值为Y。IGNORE:指定是否忽略导入过程中创建对象时发生的错误。默认值为N。INDEXES:指定是否导入索引。默认值为Y。

LOG:指定一个日志文件用于保存导入操作过程中产生的信息,包括错误信息。

PARFILE:指定存放参数设置信息的参数文件。ROWS:指定是否导入行数据,默认值为Y。

TABLES:表导入模式,指定要导入的表名称列表。TABLESPACES:表空间导入模式,指定要导入的表空间列表。TOUSER:指定要导入的用户模式列表。USERID:指定连接数据库的用户名与口令。IMP导入实例C:\>impsystem/tigerFULL=yFILE='d:\backup\orclfull.dmp'C:\>impsystem/tigerFILE='d:\backup\scott_hr.dmp'FROMUSER=scott,hrC:\>impscott/tigerFILE='d:\backup\emp_dept.dmp'FROMUSER=scottTABLES=(dept,emp)IGNORE=y9.4利用SQL*Loader进行数据的装载SQL*Loader工具介绍SQL*Loader参数SQL*Loader数据加载示例9.4.1SQL*Loader工具介绍SQL*Loader是Oracle的数据加载工具,可以把文本格式存放的数据导入到Oracle数据库中,是一种在不同数据库之间进行数据迁移的非常方便而且通用的工具。利用SQL*Loader工具可以完成下列操作如果数据文件存放在与数据库系统不同的操作系统平台上,可以通过网络进行数据加载。在同一会话中加载多个数据文件。在同一个会话中向多个表加载数据。可以自定义数据的字符集。可以有选择性的加载数据。可以使用SQL函数在数据加载

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论