您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > oracle逻辑导入导出
2019/7/31移动数据课程目标•学完本课后,应能完成以下工作:–描述移动数据的方式–创建和使用目录对象–使用SQL*Loader加载非OracleDB(或用户文件)中的数据–使用外部表并通过与平台无关的文件移动数据–说明Oracle数据泵的通用体系结构–使用数据泵导出和导入在OracleDB之间移动数据2019/7/31移动数据:通用体系结构外部表APIOracleLoaderOracle数据泵直接路径API元数据APIexpdpimpdp其它客户机数据泵SQL*LoaderDBMS_DATAPUMP数据/元数据移动引擎2019/7/312019/7/31目录对象:概览2019/7/31创建目录对象43215SQL*Loader:概览输入数据文件控制文件SQL*Loader日志文件插入选中拒绝坏文件拒绝记录选择接受放弃文件(可选)放弃字段处理Oracle服务器使用SQL*Loader加载数据2019/7/31SQL*Loader控制文件•SQL*Loader控制文件通知SQL*Loader以下信息:–要加载数据的位置–数据格式–配置详细资料:•内存管理•记录拒绝•中断的加载处理详细资料–数据操纵详细资料2019/7/31加载方法常规加载直接路径加载使用COMMIT使用数据保存(操作速度更快)始终生成重做项只在特定条件下生成重做项强制所有约束条件只强制PRIMARYKEY、UNIQUE和NOTNULL触发INSERT触发器不触发INSERT触发器可加载到聚簇表中不加载到集群中允许其他用户在加载操作过程中修改表阻止其他用户在加载操作过程中更改表在每次插入时维护索引条目在加载结束时合并新的索引条目表块写入数HWM数据插入2019/7/31外部表填充–使用ORACLE_DATAPUMP访问驱动程序将数据卸载到外部文件–不修改外部表外部文件(专有格式)CREATETABLE…ASSELECT表卸载表加载INSERT…SELECT2019/7/31使用外部表–可直接使用外部文件中的数据或将数据加载到另一个数据库。–只能使用ORACLE_DATAPUMP访问驱动程序读取生成的文件。–可组合来自不同源的已生成文件用于加载。来自OracleDB来自外部文件2019/7/31CREATETABLEemp_ext(first_name,last_name,department_name)ORGANIZATIONEXTERNAL(TYPEORACLE_DATAPUMPDEFAULTDIRECTORYext_dirLOCATION('emp1.exp','emp2.exp','emp3.exp'))PARALLELASSELECTe.first_name,e.last_name,d.department_nameFROMemployeese,departmentsdWHEREe.department_id=d.department_idANDd.department_namein('Marketing','Purchasing');使用ORACLE_DATAPUMP填充外部表2019/7/31使用ORACLE_LOADER填充外部表•CREATETABLEextab_employees•(employee_idNUMBER(4),•first_nameVARCHAR2(20),•last_nameVARCHAR2(25),•hire_dateDATE)•ORGANIZATIONEXTERNAL•(TYPEORACLE_LOADERDEFAULTDIRECTORYextab_dat_dir•ACCESSPARAMETERS•(recordsdelimitedbynewline•badfileextab_bad_dir:'empxt%a_%p.bad'•logfileextab_log_dir:'empxt%a_%p.log'•fieldsterminatedby','•missingfieldvaluesarenull•(employee_id,first_name,last_name,•hire_datechardate_formatdatemaskdd-mon-yyyy“))•LOCATION('empxt1.dat','empxt2.dat'))•PARALLELREJECTLIMITUNLIMITED;2019/7/31Oracle数据泵:概览•是一种基于服务器的用于高速移动数据与元数据的工具,Oracle数据泵具有以下特点:–可通过DBMS_DATAPUMP调用–可提供以下工具:•expdp•impdp•基于Web的界面–可提供以下数据访问方法:•直接路径•外部表–可与长时间运行的作业分离,然后与之重新挂接–可重新启动数据泵作业2019/7/31Oracle数据泵:优点–细粒度级的对象和数据选择–显式指定数据库版本–并行执行–估计导出作业占用的空间–分布式环境中的网络模式–导入过程中的重新映射功能–数据采样率和元数据压缩–在导出期间压缩数据–通过加密增强安全性–重新映射数据–能够将XMLType数据作为CLOB导出2019/7/31数据泵导出和导入:概览Expdp客户机转储文件集数据库源主表服务器进程转储文件集服务器进程目标Impdp客户机数据库主表数据库链接“网络模式”数据泵作业数据泵作业2019/7/31数据泵实用程序:接口与模式–数据泵导出和导入接口:•命令行•参数文件•交互式命令行•EnterpriseManager–数据泵导出和导入模式:•全部•方案•表•表空间•可移动表空间2019/7/31细粒度级的对象选择2019/7/31高级功能:采样率–任务:创建测试数据。–方法:指定要从源数据库采样和卸载的数据的百分比。•示例:卸载HR.EMPLOYEES表的44%•示例:卸载整个导出作业的30%(由于未指定表名)expdphr/hrDIRECTORY=DATA_PUMP_DIRDUMPFILE=sample1.dmpSAMPLE=30SAMPLE=HR.EMPLOYEES:442019/7/31导出选项:文件2019/7/31数据泵文件位置•文件位置的优先级顺序:–每个文件的目录–DIRECTORY参数–DATA_PUMP_DIR环境变量–DATA_PUMP_DIR目录对象2019/7/31数据泵文件的命名和大小2019/7/31调度和运行作业2019/7/31数据泵导入2019/7/31数据泵导入:转换•您可以:–使用REMAP_DATAFILE重新映射数据文件–使用REMAP_TABLESPACE重新映射表空间–使用REMAP_SCHEMA重新映射方案–使用REMAP_TABLE重新映射表–使用REMAP_DATA重新映射数据REMAP_DATAFILE='C:\oradata\tbs6.f':'/u1/tbs6.f'2019/7/31数据泵导入:转换•使用TRANSFORM,还可以:–从表和索引中排除以下项:•STORAGE和TABLESPACE子句•仅STORAGE子句–重新创建抽象数据类型的对象标识符–更改区分配和文件大小TRANSFORM=SEGMENT_ATTRIBUTES|STORAGE|OID|PCTSPACE:{y|n|v}[:objecttype]2019/7/31数据泵:性能注意事项•使用PARALLEL参数最大化作业性能•••••••示例:主协调程序并行执行生成的文件expdphr/hrFULL=yDUMPFILE=dpdir1:full1%U.dmp,dpdir2:full2%U.dmp,dpdir3:full3%U.dmpFILESIZE=2GPARALLEL=3LOGFILE=dp_dir1:expfull.logJOB_NAME=expfull2019/7/31性能初始化参数–以下设置会影响数据泵性能:•DISK_ASYNCH_IO•DB_BLOCK_CHECKING•DB_BLOCK_CHECKSUM–将以下参数设置为较大值可实现最大并行度:•PROCESSES•SESSIONS•PARALLEL_MAX_SERVERS–大幅度调整以下项的大小:•共享池•还原表空间2019/7/31数据泵访问路径:注意事项•数据泵会自动选择以下访问路径之一:–直接路径–外部表,如果数据包括:•加密列•聚簇表•卸载和加载时不同的分区•其它外部表直接路径数据库数据库2019/7/31使用OracleEnterpriseManager监视数据泵作业2019/7/31数据字典•可在以下位置查看关于外部表的信息:–[DBA|ALL|USER]_EXTERNAL_TABLES–[DBA|ALL|USER]_EXTERNAL_LOCATIONS–[DBA|ALL|USER]_TABLES–[DBA|ALL|USER]_TAB_COLUMNS小结•在本课中,您应该已经学会:–描述移动数据的方式–创建和使用目录对象–使用SQL*Loader加载非OracleDB(或用户文件)中的数据–使用外部表并通过与平台无关的文件移动数据–说明Oracle数据泵的通用体系结构–使用数据泵导出和导入在OracleDB之间移动数据39练习17概览:移动数据•本练习包含以下主题:–使用数据泵导出向导选择要导出的数据库对象–监视数据泵导出作业–使用数据泵导入向导将表导入数据库–使用加载数据向导将数据加载到数据库–使用命令行加载数据2019/7/31
本文标题:oracle逻辑导入导出
链接地址:https://www.777doc.com/doc-13172 .html