知识大全 Oracle10G数据泵学习纪要(expdp/impdp)

Posted

篇首语:一身转战三千里,一剑曾百万师。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Oracle10G数据泵学习纪要(expdp/impdp)相关的知识,希望对你有一定的参考价值。

Oracle10G数据泵学习纪要(expdp/impdp)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  实例

   通过DBLINK的方式 表空间不一样

   impdp logfile=DUP_MCMDB LOG neork_link=to_crm_ schemas=MCMDB  REMAP_TABLESPACE=table_space :table_space table_space :table_space

   通过DBLINK的方式 方案(schemas)不一样

   impdp logfile=DUP_MCMDB LOG neork_link=to_crm_ schemas=MCMDB  remap_schema=MCMDB:MCMDB

  前言

  Oracle Database g引入了最新的数据泵(Data Dump)技术 使DBA或开发人员可以将数据库元数据(对象定义)和数据快速移动到另一个oracle数据库中

  数据泵导出导入(EXPDP和IMPDP)的作用

   实现逻辑备份和逻辑恢复

   在数据库用户之间移动对象

   在数据库之间移动对象

   实现表空间搬移

  数据泵导出导入与传统导出导入的区别 在 g之前 传统的导出和导入分别使用EXP工具和IMP工具 从 g开始 不仅保留了原有的EXP和IMP工具 还提供了数据泵导出导入工具EXPDP和IMPDP 使用EXPDP和IMPDP时应该注意的事项 EXP和IMP是客户段工具程序 它们既可以在可以客户端使用 也可以在服务端使用

  EXPDP和IMPDP是服务端的工具程序 他们只能在ORACLE服务端使用 不能在客户端使用IMP只适用于EXP导出文件 不适用于EXPDP导出文件 IMPDP只适用于EXPDP导出文件 而不适用于EXP导出文件

  数据泵导出包括导出表 导出方案 导出表空间 导出数据库 种方式

  建目录与赋权

  SQL>create directory dump_dir as /u /dmdir

  SQL>grant read write on directory to test

  SQL>select * from dba_directories ——查看目录

  EXPDP命令行选项

   ATTACH

  该选项用于在客户会话与已存在导出作用之间建立关联 语法如下

  ATTACH=[schema_name ]job_name

  Schema_name用于指定方案名 job_name用于指定导出作业名 注意 如果使用ATTACH选项 在命令行除了连接字符串和ATTACH选项外 不能指定任何其他选项 示例如下 Expdp scott/tiger ATTACH=scott export_job

   CONTENT

  该选项用于指定要导出的内容 默认值为ALL

  CONTENT=ALL | DATA_ONLY | METADATA_ONLY

  当设置CONTENT为ALL 时 将导出对象定义及其所有数据 为DATA_ONLY时 只导出对象数据 为METADATA_ONLY时 只导出对象定义

  Expdp scott/tiger DIRECTORY=dump DUMPFILE=a dump

  CONTENT=METADATA_ONLY

   DIRECTORY

  指定转储文件和日志文件所在的目录

  DIRECTORY=directory_object

  Directory_object用于指定目录对象名称 需要注意 目录对象是使用CREATE DIRECTORY语句建立的对象 而不是OS 目录

  Expdp scott/tiger DIRECTORY=dump DUMPFILE=a dump

  建立目录 CREATE DIRECTORY dump as d dump

  查询创建了那些子目录 SELECT * FROM dba_directories

   DUMPFILE

  用于指定转储文件的名称 默认名称为expdat dmp

  DUMPFILE=[directory_object ]file_name [ … ]

  Directory_object用于指定目录对象名 file_name用于指定转储文件名 需要注意 如果不指定directory_object 导出工具会自动使用DIRECTORY选项指定的目录对象

  Expdp scott/tiger DIRECTORY=dump DUMPFILE=dump a dmp

   ESTIMATE

  指定估算被导出表所占用磁盘空间分方法 默认值是BLOCKS

  EXTIMATE=BLOCKS | STATISTICS

  设置为BLOCKS时 oracle会按照目标对象所占用的数据块个数乘以数据块尺寸估算对象占用的空间 设置为STATISTICS时 根据最近统计值估算对象占用空间

  Expdp scott/tiger TABLES=emp ESTIMATE=STATISTICS

  DIRECTORY=dump DUMPFILE=a dump

   EXTIMATE_ONLY

  指定是否只估算导出作业所占用的磁盘空间 默认值为N

  EXTIMATE_ONLY=Y | N

  设置为Y时 导出作用只估算对象所占用的磁盘空间 而不会执行导出作业 为N时 不仅估算对象所占用的磁盘空间 还会执行导出操作

  Expdp scott/tiger ESTIMATE_ONLY=y NOLOGFILE=y

   EXCLUDE

  该选项用于指定执行操作时释放要排除对象类型或相关对象EXCLUDE=object_type[ name_clause] [ … ] Object_type用于指定要排除的对象类型 name_clause用于指定要排除的具体对象 EXCLUDE和INCLUDE不能同时使用

  Expdp scott/tiger DIRECTORY=dump DUMPFILE=a dup EXCLUDE=VIEW

   FILESIZE

  指定导出文件的最大尺寸 默认为 (表示文件尺寸没有限制)

   FLASHBACK_SCN

  指定导出特定SCN时刻的表数据

  FLASHBACK_SCN=scn_value

  Scn_value用于标识SCN值 FLASHBACK_SCN和FLASHBACK_TIME不能同时使用

  Expdp scott/tiger DIRECTORY=dump DUMPFILE=a dmp

  FLASHBACK_SCN=

   FLASHBACK_TIME

  指定导出特定时间点的表数据

  FLASHBACK_TIME= TO_TIMESTAMP(time_value)

  Expdp scott/tiger DIRECTORY=dump DUMPFILE=a dmp FLASHBACK_TIME=

   TO_TIMESTAMP( DD MM YYYY HH MI SS )

   FULL

  指定数据库模式导出 默认为N

  FULL=Y | N

  为Y时 标识执行数据库导出

   HELP

  指定是否显示EXPDP命令行选项的帮助信息 默认为N当设置为Y时 会显示导出选项的帮助信息

  Expdp help=y

   INCLUDE

  指定导出时要包含的对象类型及相关对象

  INCLUDE = object_type[ name_clause] [ … ]

   JOB_NAME

  指定要导出作用的名称 默认为SYS_XXX

  JOB_NAME=jobname_string

   LOGFILE

  指定导出日志文件文件的名称 默认名称为export log

  LOGFILE=[directory_object ]file_name

  Directory_object用于指定目录对象名称 file_name用于指定导出日志文件名 如果不指定directory_object 导出作用会自动使用DIRECTORY的相应选项值

  Expdp scott/tiger DIRECTORY=dump DUMPFILE=a dmp logfile=a log

   NEORK_LINK

  指定数据库链名 如果要将远程数据库对象导出到本地例程的转储文件中 必须设置该选项

   NOLOGFILE

  该选项用于指定禁止生成导出日志文件 默认值为N

   PARALLEL

  指定执行导出操作的并行进程个数 默认值为

   PARFILE

  指定导出参数文件的名称

  PARFILE=[directory_path] file_name

   QUERY

  用于指定过滤导出数据的where条件

  QUERY=[schema ] [table_name ] query_clause

  Schema用于指定方案名 table_name用于指定表名 query_clause用于指定条件限制子句 QUERY选项不能与CONNECT= METADATA_ONLY EXTIMATE_ONLY TRANSPORT_TABLESPACES等选项同时使用

  Expdp scott/tiger directory=dump dumpfiel=a dmp

  Tables=emp query= WHERE deptno=

   SCHEMAS

  该方案用于指定执行方案模式导出 默认为当前用户方案

   STATUS

  指定显示导出作用进程的详细状态 默认值为

   TABLES

  指定表模式导出

  TABLES=[schema_name ]table_name[ partition_name][ …]

  Schema_name用于指定方案名 table_name用于指定导出的表名 partition_name用于指定要导出的分区名

   TABLESPACES

  指定要导出表空间列表

   TRANSPORT_FULL_CHECK

  该选项用于指定被搬移表空间和未搬移表空间关联关系的检查方式 默认为N

  当设置为Y时 导出作用会检查表空间直接的完整关联关系 如果表空间所在表空间或其索引所在的表空间只有一个表空间被搬移 将显示错误信息 当设置为N 时 导出作用只检查单端依赖 如果搬移索引所在表空间 但未搬移表所在表空间 将显示出错信息 如果搬移表所在表空间 未搬移索引所在表空间 则不会显示 错误信息

   TRANSPORT_TABLESPACES

  指定执行表空间模式导出

   VERSION指定被导出对象的数据库版本 默认值为PATIBLE

  VERSION=PATIBLE | LATEST | version_string

  为PATIBLE时 会根据初始化参数PATIBLE生成对象元数据 为LATEST时 会根据数据库的实际版本生成对象元数据 version_string用于指定数据库版本字符串

  调用EXPDP

  使用EXPDP工具时 其转储文件只能被存放在DIRECTORY对象对应的OS目录中 而不能直接指定转储文件所在的OS目录 因此 使用EXPDP工具时 必须首先建立DIRECTORY对象 并且需要为数据库用户授予使用DIRECTORY对象权限

  CREATE DIRECTORY dump_dir AS D DUMP GRANT READ WIRTE ON DIRECTORY dump_dir TO scott

   导出表

  Expdp scott/tiger DIRECTORY=dump_dir DUMPFILE=tab dmp TABLES=dept emp

   导出方案

  Expdp scott/tiger DIRECTORY=dump_dir DUMPFILE=schema dmp SCHEMAS=system scott

   导出表空间

  Expdp system/manager DIRECTORY=dump_dir DUMPFILE=tablespace dmp TABLESPACES=user user

   导出数据库

  Expdp system/manager DIRECTORY=dump_dir DUMPFILE=full dmp FULL=Y

  使用IMPDP

  IMPDP命令行选项与EXPDP有很多相同的 不同的有

   REMAP_DATAFILE

  该选项用于将源数据文件名转变为目标数据文件名 在不同平台之间搬移表空间时可能需要该选项

  REMAP_DATAFIEL=source_datafie target_datafile

   REMAP_SCHEMA

  该选项用于将源方案的所有对象装载到目标方案中

  REMAP_SCHEMA=source_schema target_schema

   REMAP_TABLESPACE

  将源表空间的所有对象导入到目标表空间中

  REMAP_TABLESPACE=source_tablespace target tablespace

   REUSE_DATAFILES

  该选项指定建立表空间时是否覆蓋已存在的数据文件 默认为N

  REUSE_DATAFIELS=Y | N

   SKIP_UNUSABLE_INDEXES

  指定导入是是否跳过不可使用的索引 默认为N

   SQLFILE

  指定将导入要指定的索引DDL操作写入到SQL脚本中

  SQLFILE=[directory_object ]file_name

  Impdp scott/tiger DIRECTORY=dump DUMPFILE=tab dmp SQLFILE=a sql

   STREAMS_CONFIGURATION

  指定是否导入流元数据(Stream Matadata) 默认值为Y

   TABLE_EXISTS_ACTION

  该选项用于指定当表已经存在时导入作业要执行的操作 默认为SKIP TABBLE_EXISTS_ACTION=SKIP | APPEND | TRUNCATE | FRPLACE 当设置该选项为SKIP时 导入作业会跳过已存在表处理下一个对象 当设置为APPEND时 会追加数据 为TRUNCATE时 导入作业会截断表 然后 为其追加新数据 当设置为REPLACE时 导入作业会删除已存在表 重建表病追加数据 注意 TRUNCATE选项不适用与簇表和 NEORK_LINK选项

   TRANSFORM

  该选项用于指定是否修改建立对象的DDL语句

  TRANSFORM=transform_name value[ object_type]

  Transform_name用于指定转换名 其中SEGMENT_ATTRIBUTES用于标识段属性(物理属性 存储属性 表空间 日志等信息) STORAGE用于标识段存储属性 VALUE用于指定是否包含段属性或段存储属性 object_type用于指定对象类型

  Impdp scott/tiger directory=dump dumpfile=tab dmp

  Transform=segment_attributes n table

   TRANSPORT_DATAFILES

  该选项用于指定搬移空间时要被导入到目标数据库的数据文件

  TRANSPORT_DATAFILE=datafile_name

  Datafile_name用于指定被复制到目标数据库的数据文件

  Impdp system/manager DIRECTORY=dump DUMPFILE=tts dmp

  TRANSPORT_DATAFILES= /user /data/tbs f

  调用IMPDP

   导入表

   Impdp scott/tiger DIRECTORY=dump_dir DUMPFILE=tab dmpTABLES=dept empImpdp system/manage DIRECTORY=dump_dir DUMPFILE=tab dmpTABLES=scott dept scott emp REMAP_SCHEMA=SCOTT:SYSTEM

  第一种方法表示将DEPT和EMP表导入到SCOTT方案中 第二种方法表示将DEPT和EMP表导入的SYSTEM方案中

  注意 如果要将表导入到其他方案中 必须指定REMAP SCHEMA选项

   导入方案

   Impdp scott/tiger DIRECTORY=dump_dir DUMPFILE=schema dmpSCHEMAS=scottImpdp system/manager DIRECTORY=dump_dir DUMPFILE=schema dmpSCHEMAS=scott REMAP_SCHEMA=scott:system

   导入表空间

   Impdp system/manager DIRECTORY=dump_dir DUMPFILE=tablespace dmpTABLESPACES=user

   导入数据库

   Impdp system/manager DIRECTORY=dump_dir DUMPFILE=full dmp FULL=y

  EXPDP/IMPDP的停止与重启动

  EXPDP和IMPDP的本质在于 通过API调用 把传统的EXP/IMP类交付式模式的操作 转变成数据库内部的job任务 从而实现了任务的可终止与重启动

  c \\expdp test/test@acf directory=dpdata dumpfile=full dmp full=y job_name=expfull在执行过程中 可以拿下Ctrl+C组合键 退出当前交互模式 退出之后 导出操作不会停止 这不同于Oracle以前的EXP 以前的EXP 如果退出交互式模式 就会出错终止导出任务

  在Oracle 中 由于EXPDP是数据库内部定义的任务 已经与客户端无关 退出交互之后 会进入export的命令行模式 此时支持status等查看命令

  Export> status

  如果想停止改任务 可以发出stop_job命令

  Export> stop_job

  如果有命令行提示

  是否确实要停止此作业([Y]/N)

  或Are you sure you wish to stop this job ([yes]/no)

  回答应是yes或者no

  接下来可以通过命令行再次连接到这个任务

  c \\expdp test/test@acf attach=expfull

  通过start_job命令重新启动导出

  Export> start_job

  在plsql下查看任务名

  SQL>select * from DBA_DATAPUMP_JOBS ——查看job

  在plsq下查看对应session

   SQL>select sid serial#   from v$session s dba_datapump_sessions d   where s saddr = d saddr;

  下列命令在交互模式下有效

  注 允许使用缩写命令 说明 (默认)

  

  CONTINUE_CLIENT 返回到记录模式 如果处于空闲状态 将重新启动作业

  EXIT_CLIENT 退出客户机会话并使作业处于运行状态

  HELP 总结交互命令

  KILL_JOB 分离和删除作业

  PARALLEL 更改当前作业的活动 worker 的数目

  PARALLEL=<worker 的数目> START_JOB 启动/恢复当前作业

  START_JOB=SKIP_CURRENT 在开始作业之前将跳过作业停止时执行的任意操作

  STATUS 在默认值 ( ) 将显示可用时的新状态的情况下 要监视的频率 (以秒计) 作业状态

  STATUS[=interval] STOP_JOB 顺序关闭执行的作业并退出客户机

cha138/Article/program/Oracle/201311/18823

相关参考

知识大全 Oracle 10g学习手册2:安装与构建三(图)

Oracle10g学习手册2:安装与构建三(图)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 解决Oracle数据库10g导出错误6550

解决Oracle数据库10g导出错误6550  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!现象使用

知识大全 Oracle10g学习之闪回数据库

Oracle10g学习之闪回数据库  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  目标  闪回数

知识大全 用Oracle10g列值掩码技术隐藏敏感数据

用Oracle10g列值掩码技术隐藏敏感数据  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Or

知识大全 如何用Oracle10g列值掩码技术隐藏敏感数据

如何用Oracle10g列值掩码技术隐藏敏感数据?  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 Oracle10g数据库中闪回表特性剖析

Oracle10g数据库中闪回表特性剖析  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Orac

知识大全 Oracle数据库10g第2版终于破茧而出

Oracle数据库10g第2版终于破茧而出  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Ora

知识大全 对Oracle10g ASM生产数据库备份和恢复

对Oracle10gASM生产数据库备份和恢复  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  新

知识大全 在RedHatAS3上快速安装Oracle数据库10g

在RedHatAS3上快速安装Oracle数据库10g  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧

知识大全 在64位Linux环境下安装Oracle数据库10g

在64位Linux环境下安装Oracle数据库10g  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!