`

Oracle 10g 备份与恢复之(expdp与impdp)

阅读更多

 

expdb/impdb工具

1)在服务端使用

2)需要先建立DUMP目录并对访问用户授权

 

建立DUMP目录

 

sql>connect sys/pass as sysdba
sql>create directory dump_dir AS 'e:\dump'
sql>grant read,write on directory dump_dir to system,myuser;
sql>
 

    expdp 选项

Expdp/Impdp的相关参数
EXPDP命令行选项
1. ATTACH
该选项用于在客户会话与已存在导出作用之间建立关联.语法如下
ATTACH=[schema_name.]job_name
Schema_name用于指定方案名,job_name用于指定导出作业名.注意,如果使用ATTACH选项,在命令行除了连接字符串和ATTACH选项外,不能指定任何其他选项,示例如下:
Expdp scott/tiger ATTACH=scott.export_job
2. 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
3. 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;
4. DUMPFILE
用于指定转储文件的名称,默认名称为expdat.dmp
DUMPFILE=[directory_object:]file_name [,….]
Directory_object用于指定目录对象名,file_name用于指定转储文件名.需要注意,如果不指定directory_object,导出工具会自动使用DIRECTORY选项指定的目录对象
Expdp scott/tiger DIRECTORY=dump1 DUMPFILE=dump2:a.dmp
5. ESTIMATE
指定估算被导出表所占用磁盘空间分方法.默认值是BLOCKS
EXTIMATE={BLOCKS | STATISTICS}
设置为BLOCKS时,oracle会按照目标对象所占用的数据块个数乘以数据块尺寸估算对象占用的空间,设置为STATISTICS时,根据最近统计值估算对象占用空间
Expdp scott/tiger TABLES=emp ESTIMATE=STATISTICS
DIRECTORY=dump DUMPFILE=a.dump
6. EXTIMATE_ONLY
指定是否只估算导出作业所占用的磁盘空间,默认值为N
EXTIMATE_ONLY={Y | N}
设置为Y时,导出作用只估算对象所占用的磁盘空间,而不会执行导出作业,为N时,不仅估算对象所占用的磁盘空间,还会执行导出操作.
Expdp scott/tiger ESTIMATE_ONLY=y NOLOGFILE=y
7. EXCLUDE
该选项用于指定执行操作时释放要排除对象类型或相关对象
EXCLUDE=object_type[:name_clause] [,….]
Object_type用于指定要排除的对象类型,name_clause用于指定要排除的具体对象.EXCLUDE和INCLUDE不能同时使用
Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dup EXCLUDE=VIEW
8. FILESIZE
指定导出文件的最大尺寸,默认为0,(表示文件尺寸没有限制)
9. FLASHBACK_SCN
指定导出特定SCN时刻的表数据
FLASHBACK_SCN=scn_value
Scn_value用于标识SCN值.FLASHBACK_SCN和FLASHBACK_TIME不能同时使用
Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp
FLASHBACK_SCN=358523
10. FLASHBACK_TIME
指定导出特定时间点的表数据
FLASHBACK_TIME=”TO_TIMESTAMP(time_value)”
Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp FLASHBACK_TIME=
“TO_TIMESTAMP(’25-08-2004 14:35:00’,’DD-MM-YYYY HH24:MI:SS’)”
11. FULL
指定数据库模式导出,默认为N
FULL={Y | N}
为Y时,标识执行数据库导出.
12. HELP
指定是否显示EXPDP命令行选项的帮助信息,默认为N
当设置为Y时,会显示导出选项的帮助信息.
Expdp help=y
13. INCLUDE
指定导出时要包含的对象类型及相关对象
INCLUDE = object_type[:name_clause] [,… ]
14. JOB_NAME
指定要导出作用的名称,默认为SYS_XXX
JOB_NAME=jobname_string
15. 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
16. NETWORK_LINK
指定数据库链名,如果要将远程数据库对象导出到本地例程的转储文件中,必须设置该选项.
17. NOLOGFILE
该选项用于指定禁止生成导出日志文件,默认值为N.
18. PARALLEL
指定执行导出操作的并行进程个数,默认值为1
19. PARFILE
指定导出参数文件的名称
PARFILE=[directory_path] file_name
20. 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=20’
21. SCHEMAS
该方案用于指定执行方案模式导出,默认为当前用户方案.
22. STATUS
指定显示导出作用进程的详细状态,默认值为0
23. TABLES
指定表模式导出
TABLES=[schema_name.]table_name[:partition_name][,…]
Schema_name用于指定方案名,table_name用于指定导出的表名,partition_name用于指定要导出的分区名.
24. TABLESPACES
指定要导出表空间列表
25. TRANSPORT_FULL_CHECK
该选项用于指定被搬移表空间和未搬移表空间关联关系的检查方式,默认为N.
当 设置为Y时,导出作用会检查表空间直接的完整关联关系,如果表空间所在表空间或其索引所在的表空间只有一个表空间被搬移,将显示错误信息.当设置为N时, 导出作用只检查单端依赖,如果搬移索引所在表空间,但未搬移表所在表空间,将显示出错信息,如果搬移表所在表空间,未搬移索引所在表空间,则不会显示错误 信息.
26. TRANSPORT_TABLESPACES
指定执行表空间模式导出
27. VERSION
指定被导出对象的数据库版本,默认值为COMPATIBLE.
VERSION={COMPATIBLE | LATEST | version_string}
为COMPATIBLE时,会根据初始化参数COMPATIBLE生成对象元数据;为LATEST时,会根据数据库的实际版本生成对象元数据.version_string用于指定数据库版本字符串.调用EXPDP
使用EXPDP工具时,其转储文件只能被存放在DIRECTORY对象对应的OS目录中,而不能直接指定转储文件所在的OS目录.因此,

使用EXPDP工具时,必须首先建立DIRECTORY对象.并且需要为数据库用户授予使用DIRECTORY对象权限.

 

 

调用EXPDP

    SQL>conn system/oracle

    SQL>create DIRECTORY dump_dir AS 'd:\dump';

    SQL>GRANT read,write on DIRCTORY dump_dir to scott;

 

    导出表

    expdp scott/tiger DIRECTORY=dump_dir DUMPFILE=tab.dmp TABLES=dept,emp

 

    导出schemas

    expdp system/oracle DIRECTORY=dump_dir DUMPFILE=schema.dmp SCHEMAS=system.scott;

 

    导出表空间

    expdp system/oracle DIRECTORY=dump_dir DUMPFILE=tablespace.dmp TABLESPACES=user01,user02

 

    导出数据库

    expdp system/oracle DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=Y

 

 


IMPDP

 

REMAP_DATAFILE 该选项将源数据文件的名称转变为目标数据文件名,当在不用平台之间搬移表空间时可能需要使用该选项

REMAP_SCHEMA

    impdp system/oracle DIRECTORY=dump DUMPFILE=tab.dmp REMAP_SCHEMA=scott:system

 

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

    impdp system/oracle DIRECTORY=dump DUMPFILE=tab.dmp REMAP_RABLESPACE=user01:user02

 

REUSE_DATAFILES 是否覆盖已存在的数据文件

SCHEMAS 导入指定模式(schemas)

    impdp system/oracle DIRECTORY=dump DUMPFILE=tab.dmp SCHEMAS=scott

SKIP_UNUSABLE_INDEXED 是否跳过不可使用的索引

 

SQLFILE 指定导入操作需要执行DDL语句写入到一个脚本

    SQLFILE=[dirctory_object:]file_name

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

STREAMS_CONFIGURATION

 

TABLE_EXISTS_ACTION 当表已存在是执行的操作

        skip|append|truncate|replace

TABLES

    impdp scott/tiger DIRECTOR=dump DUMPFILE=tab.dmp TABLES= emp

 

TABLESPACES 

    impdp scott/tiger directory=dump dumpfile=tab.dmp tablespace=usr01

 

TRANSPORT_DATAFILES 该选项指定当搬移表空间时要被导入到目标数据库的数据文件名称

    impdp system/oracle DIRECTORY=dump DUMPFILE=tab.dmp TRANSPORT_DATAFILE='/user01/data/tbs.dbf'

TRANSPORT_FULL_CHECK 表空间依赖检查

 

TRANSPORT_TABLESPACE 表空间模式导入

 

VERSION

 

调用IMPDP

    impdp scott/tiger DIRECTORY=dump_dir DUMPFILE=tab.dmp TABLES=dept,emp

 

    impdp system/oracle DIRECTORY=dump_dir DUMPFILE=tab.dmp TABLES=scott.dept,scott.emp 

 

REMAP_SCHEMA =scott:system

    schemas(模式)

    impdp scott/tiger DIRECTORY=dump_dir DUMPFILE=schema.dmp SCHEMAS=scott

    impdp system/oracle DIRECTORY=dump_dir DUMPFILE=schema.dmp SCHEMAS=scott REMAP_SCHEMA=scott:system    

 

    表空间

    impdp system/oracle DIRECTORY=dump_dir DUMPFILE=tablespace.dmp TABLESPACE=user01

 

    数据库

    impdp system/oracle DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=Y;

 

搬移表空间

    nls_database_parameters

    条件约束

    字符集一样和国家字符集一样

    两个数据库不能同名

    不能搬移system和sys用户对象的表空间

    如果是其他平台,将初始参数compatible设置10.0

 

    自包含表空间是指具有有关联关系的表空间集合,假设表空间A包含了表EMP,而表空间B包含了表空间EMP的索引IND_EMP,

 

如果要搬移表空间B,则必须同时搬移表空间A,则表空间A和B为自包含表空间集合

    违反自包含集合规则

        表空间包含sys对象

        表空间包含了索引所在的表空间,但没有包含索引基表所在的表空间

        表空间集合没有高喊分区表的所有分区

        表空间包含了表所在的表空间,但没有包含LOB列所在的表空间

 

    source database demo 

    dest database orcl    

 

    使用DBMS_TTS包检查表空间是否为自包含的

        SQL>conn system/oracle

        SQL>execute sys.dbms_tts.transport_set_check('user02',tr)

        sql>select * from sys.transport_set_violations;

 

        sql>alter tablespace users read only

 

        SQL>host expdp system/oracle DIRECTORY=dump_dir DUMPFILE=transport.dmp TRANSPORT_TABLESPACE=users

 

        把transport.dmp文件拷贝目标服务器上

 

        在目标数据库上比照两个数据库的块大小,如不一样

       dest

        SQL>alter system set db_cache_size=20m;

        SQL>alter system set db_4k_cache_size=4M;

 

        impdp system/oracle DIRECTORY=dump_dir DUMPFILE=transport.dmp 


TRANSPORT_DATAFILES=d:\oracle\oradata\orcl\users.dbf   REMAP_SCHEMA=scott:hr 

 

 

 

---生产机导入开发机:

----1、删除开发机用户
	drop user xxxx cascade;
	drop user yyyy cascade;

---2、创建用户

create user xxxx identified by "xxxx" default tablespace stbss;
create user yyyy identified by "yyyy" default tablespace stbss;


---3、设置权限

grant connect,resource to xxxx,yyyy;
grant create user,drop user,alter user, create any view,drop any view to xxxx,yyyy;
grant exp_full_database,imp_full_database,dba,connect,create session to xxxx,yyyy;

----4、将DMP文件COPY到E:\****

----5、导入数据
  打开命令行,输入:set ORACLE_SID=orcl
  导入命令:
impdp yyyy/yyyy directory=**** dumpfile=xxxxxxx.dmp remap_tablespace=xxxxspace:stbss schemas=yyyy,xxxx
 

 


-EOF-
分享到:
评论
1 楼 gonghg 2011-10-24  
。。。。

相关推荐

    windows oracle11g 备份与还原

    Oracle11g 数据库备份与还原是数据库管理中非常重要的一部分,掌握备份与还原技术可以帮助数据库管理员快速恢复数据库,减少数据丢失的风险。本文将详细介绍 Oracle11g 数据库备份与还原的方法和技术。 一、RMAN ...

    Oracle数据库备份恢复Data Pump Expdp-Impdp参数详解与案例介绍.pdf

    Oracle数据库备份恢复是数据库管理员必须掌握的关键技能之一,它保障了企业数据的安全性与业务的连续性。Oracle提供了一套工具和方法来进行高效的数据备份与恢复,其中Data Pump是一个强大的数据导入导出工具,提供...

    oracle 10g 备份与恢复

    Oracle 10g 提供了多种方法来进行数据库的备份与恢复,其中使用 `expdp` 和 `impdp` 命令进行表空间级别的备份与恢复是一种高效且实用的方式。 #### 二、Oracle 10g 备份概述 备份是指为了防止数据库因硬件故障、...

    ORACLE EXPDPIMPDP 参数详解

    从 10g 开始,不仅保留了原有的 EXP 和 IMP 工具,还提供了数据泵导出导入工具 EXPDP 和 IMPDP。 使用 EXPDP 和 IMPDP 时需要注意的事项: 1. EXP 和 IMP 是客户端工具程序,可以在客户端使用,也可以在服务端使用...

    oracle10g新工具expdp,impdp详解

    Oracle 10g 引入了新的数据泵工具 expdp 和 impdp,它们是对传统 exp 和 imp 工具的增强版本。数据泵(Data Pump)技术提升了数据迁移、备份和恢复的性能,提供了更快的数据传输速度和更丰富的功能。 expdp(Export...

    Oracle10g-10.1.0.2客户端的expdp.exe文件

    在Oracle10g的早期版本中,即10.1.0.2,expdp与impdp一起,为用户提供了比传统IMP和EXP工具更快速、更灵活的数据迁移解决方案。 描述中提到的问题在于服务端和客户端版本不匹配。在Oracle环境中,服务端和客户端...

    Oracle11g备份恢复笔记文档

    - **数据泵导入导出**:`expdp/impdp` 是更高效、更灵活的数据备份和恢复工具,支持更多的高级功能。 - **逻辑备份特点**:逻辑备份是在逻辑层面上对数据对象进行快照,不能用于介质故障的恢复。 - **物理备份与...

    oracle 10备份与恢复

    RMAN是Oracle 10g备份与恢复的核心组件,它提供了高度自动化和灵活的备份策略,能够有效处理在线备份、增量备份、完整备份等多种备份类型。 #### RMAN备份类型: - **完整备份**:备份所有数据文件,包括所有数据...

    Oracle 11g 备份与恢复最佳手册

    ### Oracle 11g 备份与恢复最佳实践 #### 一、数据库故障类型与应对措施 ##### 1. 用户进程故障 (User Process Failure) - **定义**: 用户进程发生异常时,导致会话中断。 - **处理**: `Pmon`(Process Monitor ...

    Oracle数据库RMAN备份与恢复.pdf

    物理备份指的是对数据库文件进行备份,而逻辑备份则是通过Oracle提供的数据泵工具(如expdp/impdp)进行数据的导出和导入。RMAN(Recovery Manager)是Oracle数据库中一个专门为备份与恢复设计的工具,它支持物理...

    oracle11G备份恢复讲义

    首先,要进行Oracle数据库的备份与恢复,我们需要了解备份与恢复的基本概念。备份就是将数据库的数据、日志文件、控制文件等信息完整地复制到另一个介质上;恢复则是指当数据库发生故障时,使用备份的介质将数据库...

    精通Oracle.10G备份与恢复2.rar

    2. **数据泵**:Oracle 10g的数据泵技术(包括EXPDP和IMPDP)提供了比传统`EXP`和`IMP`更快的备份和恢复速度。数据泵支持数据过滤、分区处理、元数据导出等功能,使得逻辑备份更加灵活和高效。 3. **备份策略**:在...

    oracle10G备份恢复.pptx

    expdp/impdp 是 Oracle 10G 中的逻辑备份工具,expdp 用于导出数据库对象,impdp 用于导入数据库对象。expdp/impdp 方式功能强大,支持多种备份方式。 RMAN 是 Oracle 10G 中的备份恢复工具,提供了多种备份方式,...

    oracle10G备份恢复.ppt

    Oracle 10G备份恢复是数据库管理中的关键环节,确保数据的安全性和可恢复性。本讲解将详细阐述Oracle 10G中物理备份和逻辑备份的方法,以及RMAN(Recovery Manager)工具的使用。 首先,Oracle 10G提供了两种主要的...

    Oracle 12c-备份恢复学习实践手册合集

    Oracle 12c 闪回技术 Flashback Database.pdf Oracle 12c 闪回技术 Oracle Flashback技术.pdf ...Oracle 12c RMAN备份与恢复数据库.pdf Oracle 12c EXPDP和IMPDP指令详解.pdf Oracle 12c EXP和IMP指令详解.pdf

    oracle10G备份恢复1.ppt

    Oracle 10G备份恢复是数据库管理中至关重要的环节,确保了数据的安全性和可恢复性。本讲座主要探讨了两种主要的备份类型:物理备份和逻辑备份,以及使用RMAN(Recovery Manager)进行高效管理的方法。 物理备份分为...

    oracle expdp&impdp;

    EXPDP(Data Pump Export)是 Oracle 10g 及更高版本中引入的一款高性能的数据导出工具,而 IMPDP(Data Pump Import)则是与 EXPDP 配套的数据导入工具。 EXPDP 的优点在于它可以使用专门的 API(Direct Path API...

    oracle的impdp和expdp数据泵导入导出全备数据库-详细笔记文档总结

    Oracle 的 IMPDP 和 EXPDP 数据泵导入导出全备数据库详细笔记文档总结 Oracle 的 IMPDP 和 EXPDP 是两个强大的数据泵工具,用于将 Oracle 数据库中的数据导入或导出到其他数据库或文件中。在本文档中,我们将详细...

    Oracle11G备份导入10G

    1. 使用低版本的导出工具:在11G环境中,使用与10G兼容的导出工具(如expdp)进行导出,确保生成的DMP文件可以被10G的imp(或impdp)工具识别。 2. 参数设置:在导出时,可以设定参数如FULL=YES,表明导出整个...

Global site tag (gtag.js) - Google Analytics