1、oracle 10g 数据导入、导出

exp

imp

expdp

建目录与赋权:

SQL>create directory dump_dir as '/u01/dmdir';

SQL>grant read,write on directory to test;

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

实例:

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

impdp

logfile=DUP_MCMDB.LOG network_link=to_crm_7 schemas=MCMDB

REMAP_TABLESPACE=table_space11:table_space12,table_space21:table_space22

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

impdp logfile=DUP_MCMDB.LOG network_link=to_crm_7 schemas=MCMDB remap_schema=MCMDB:MCMDB1

前言:

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

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

1,实现逻辑和逻辑恢复。

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

3,在数据库之间移动对象

4,实现表空间搬移。

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

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

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

建目录与赋权:

SQL>create directory dump_dir as '/u01/dmdir';

SQL>grant read,write on directory to test;

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

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对象权限。

CREATE DIRECTORY dump_dir AS 'D:DUMP';GRANT READ,WIRTE ON DIRECTORY dump_dir TO scott;

1,导出表

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

2,导出方案

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

3.导出表空间

Expdp system/manager DIRECTORY=dump_dir DUMPFILE=tablespace.dmp TABLESPACES=user01,user02

4,导出数据库

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

使用IMPDP

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

1,REMAP_DATAFILE

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

REMAP_DATAFIEL=source_datafie:target_datafile

2,REMAP_SCHEMA

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

REMAP_SCHEMA=source_schema:target_schema

3,REMAP_TABLESPACE

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

REMAP_TABLESPACE=source_tablespace:target:tablespace

4.REUSE_DATAFILES

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

REUSE_DATAFIELS={Y | N}

5.SKIP_UNUSABLE_INDEXES

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

6,SQLFILE

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

SQLFILE=[directory_object:]file_name

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

7.STREAMS_CONFIGURATION

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

8,TABLE_EXISTS_ACTION

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

9.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

10.TRANSPORT_DATAFILES

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

TRANSPORT_DATAFILE=datafile_name

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

Impdp system/manager DIRECTORY=dump DUMPFILE=tts.dmp

TRANSPORT_DATAFILES=‘/user01/data/tbs1.f’

调用IMPDP

1,导入表

Impdp scott/tiger DIRECTORY=dump_dir DUMPFILE=tab.dmp

TABLES=dept,emp

Impdp system/manage DIRECTORY=dump_dir DUMPFILE=tab.dmp

TABLES=scott.dept,scott.emp REMAP_SCHEMA=SCOTT:SYSTEM

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

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

2,导入方案

Impdp scott/tiger DIRECTORY=dump_dir DUMPFILE=schema.dmp

SCHEMAS=scott

Impdp system/manager DIRECTORY=dump_dir DUMPFILE=schema.dmp

SCHEMAS=scott REMAP_SCHEMA=scott:system

3,导入表空间

Impdp system/manager DIRECTORY=dump_dir DUMPFILE=tablespace.dmp

TABLESPACES=user01

4,导入数据库

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 10中,由于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#

2 from v$session s, dba_datapump_sessions d

3 where s.saddr = d.saddr;

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

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

------------------------------------------------------------------------------

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

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

HELP总结交互命令。

KILL_JOB分离和删除作业。

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

PARALLEL=. START_JOB启动/恢复当前作业。

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

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

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

STOP_JOB=IMMEDIATE将立即关闭数据泵作业。

impdp

2、数据库启动模式

可以启动数据库实例到限制模式(restrict mode),这时只有管理员和具有restricted session权限的用户可以登录数据库。下面演示打开和关闭限制模式的方法:

启动数据库到限制模式ora_test@oracle[/home/oracle]> sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Sun Mar 7 15:26:01 2010

Copyright (c) 1982, 2005, Oracle. All rights reserved.

Connected to an idle instance.

idle> startup restrict

ORACLE instance started.

Total System Global Area 209715200 bytes

Fixed Size 1218532 bytes

Variable Size 113248284 bytes

Database Buffers 88080384 bytes

Redo Buffers 7168000 bytes

Database mounted.

Database opened.

数据库已经启动到限制模式,我用scott用户登录数据库

首先检查scott用户,确认其没有restricted session权限sys@CNHTM> select grantee,granted_role from dba_role_privs where grantee='SCOTT'

2 union

3 select grantee,privilege from dba_sys_privs where grantee='SCOTT'

4 ;

GRANTEE GRANTED_ROLE

------------------------------ ----------------------------------------

SCOTT CONNECT

SCOTT RESOURCE

SCOTT UNLIMITED TABLESPACE

登录数据库失败,因为其没有restricted session权限idle> conn scott/tiger

ERROR:

ORA-01035: ORACLE only available to users with RESTRICTED SESSION privilege

Warning: You are no longer connected to ORACLE.

为用户scott授予restricted session权限,再次登录数据库,可以登录idle> grant restricted session to scott;

SP2-0640: Not connected

idle> conn / as sysdba

Connected.

sys@CNHTM> grant restricted session to scott;

Grant succeeded.

sys@CNHTM> conn scott/tiger

Connected.

将数据库修改为正常模式(即退出限制模式)scott@CNHTM> conn / as sysdba

Connected.

sys@CNHTM> alter system disable restricted session;

System altered.

由正常模式切换到限制模式的方法sys@CNHTM> alter system enable restricted session;

System altered.

sys@CNHTM>

--end--

3、字符集问题

mysql导入10g数据库_oracle10g数据库导入、导出(exp/imp、expdp/impdp)相关推荐

  1. impdp导入表结构和表数据_EXP COMPRESS以及EXP/IMP EXPDP/IMPDP导入表结构注意-阿里云开发者社区...

    EXP COMPRESS以及EXP/IMP EXPDP/IMPDP导入表结构注意 重庆八怪 2014-09-10 987浏览量 简介: 关于EXP COMPRESS参数 一直对这个参数有些疑惑.当然此 ...

  2. Linux操作Oracle(9)——Oracle数据库导入导出方法详解 EXP IMP EXPDP IMPDP

    目录 EXP全库导出语句: IMP全库导入语句: IMP单表导入语句:

  3. impdp oracle 只导入表结构_EXP COMPRESS以及EXP/IMP EXPDP/IMPDP导入表结构注意

    关于EXP COMPRESS参数 一直对这个参数有些疑惑.当然此参数一定不是所谓的压缩备份文件的空间, 而它的解释为 COMPRESS   import into one extent 字面意思为把所 ...

  4. Oracle使用数据泵导入/导出数据(expdp/impdp)【图文教程】

    Oracle使用数据泵导入/导出数据(expdp/impdp) 此类博客太多的坑,都不完整,要不执行着就报错执行不下去了,要不说的不清不楚,整理的一步步截图,100%成功. expdp数据导出 远程登 ...

  5. exp参数feedback_Oracle数据库逻辑增量备份恢复之exp/imp参数inctype

    本帖最后由 java3344520 于 2012-11-8 12:51 编辑 大家看看这个参数inctype你是否使用过?我做了以下测试,欢迎拍砖! Oracle数据库逻辑增量备份之exp/imp 一 ...

  6. oracle用户导出和导入用不同的用户名,oracle用exp\imp导出导入,及创建表空间与用户...

    oracle exp导出表结构: exp username/pwd@sid file=D:\db1.dmp owner=(username) rows=n; 上面命令,将rows=n参数去掉,会将所有 ...

  7. Oracle数据库备份与还原命令 -- exp/imp

    数据导出: 1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中 exp system/manager@TEST file=d:\daochu.dm ...

  8. oracle 安装以及导入导出 exp imp 修改用户密码 解锁用户

    选择"高级安装",点击下一步: 选择"企业版",点击下一步 Oracle基目录:d:\app\,点击下一步 通过"产品特定的先决条件检查", ...

  9. oracle expdp导出教程,Oracle Expdp Impdp 数据泵导入导出

    新建逻辑目录 Oracle不会自动创建实际的物理目录"D:\temp"(务必手动创建此目录),仅仅是进行定义逻辑路径dmp_dir: sql> conn username/p ...

最新文章

  1. 一行代码,揭开CPU执行原理!
  2. java类加载是什么意思_java 类加载机制有什么用
  3. 巨头垄断,Facebook直接封杀了一个国家!
  4. java订单超时取消设计_PHP如何实现处理过期或者超时订单的,并还原库存
  5. Python入门之三元表达式\列表推导式\生成器表达式\递归匿名函数\内置函数
  6. 图论:柯尼斯堡桥问题、艾科西亚游戏
  7. USACO Dual Palindrome
  8. 新鲜出炉!腾讯大数据分析的真实面经,这几个问题把我问懵了
  9. Listary Pro - 能极大幅度提高你 Windows 文件浏览与搜索速度效率的「超级神器」...
  10. 医院管理系统(Java)
  11. MATLA图片清晰度调整
  12. 网课搜题公众号接口怎么对接?最新接口-麦麦题
  13. 十二烷基硫酸钠(SDS)将Fe3O4磁性纳米粒子定量地修饰到多壁碳纳米管|化学试剂
  14. java计算机毕业设计特色农产品供需销售系统源码+数据库+系统+lw文档+mybatis+运行部署
  15. 数组的排序面向对象类对象0708
  16. Ping Ping Ping—命令执行
  17. 剪头发啦,实在不宜出门
  18. 我的世界租赁服务器重置,《我的世界》租赁服自动砍树命令教程 命令方块介绍...
  19. chdir(chdir函数python)
  20. Pandas 时间序列 - 实例方法与重采样

热门文章

  1. cifs mount 挂载共享目录_安装cifsutils解决linux挂载windows共享文件夹
  2. 功率曲线k值_什么叫离心泵的流量——功率曲线?它们之间有什么关系?
  3. fiber报错 (type *big.Int has no field or method FillBytes)
  4. Java笔记04-核心类库
  5. tcp 三次握手,四次挥手
  6. html 二级试题,计算机二级考试WEB试题及答案
  7. java线程提高速度_如何在JAVA中减慢线程速度
  8. CATia对计算机配置要求,【2人回答】求CATIA对电脑的详细配置要求-3D溜溜网
  9. 高级IO(文件的读写)——并发式IO的解决方案(解决多路阻塞式IO的方案)
  10. 搭建golang webcron 定时任务管理平台