`
keepwork
  • 浏览: 334297 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Oracle--导入导出

 
阅读更多

开发者博客www.developsearch.com

 

 

Oracle 11g

oracle11g的导入导出命令:
expdp ecology/ecology directory=databak,dumpfile=eco37.dmp,logfile=eco37.log
impdp ecology/ecology directory=databak,dumfile=eco.dmp

D:\>expdp ecology/ecology directory=databak,dumpfile=ecology_207_20130314.dmp,logfile=ecology_207_20130314.log

oracle11g的导入导出命令:
D:\>expdp glpj/glpj@GLPJ_10.120.131.221 directory=databak dumpfile=framework_oracle11_20130403.dmp logfile=framework_oracle11_20130403.log
导出目录 :/home/oracle/app/admin/glpj/dpdump/

F:\app\Administrator\admin\orcl\dpdump>impdp glpj/glpj@ORCL dumpfile=framework_oracle11_20130403.dmp

create directory databak as '/home/oracle/app/admin/glpj/dpdump/'; 
Grant read,write on directory databak to glpj;

--查看目录及权限
SELECT privilege, directory_name, DIRECTORY_PATH FROM user_tab_privs t, all_directories d
 WHERE t.table_name(+) = d.directory_name ORDER BY 2, 1;


/*第1步:创建临时表空间  */
create temporary tablespace ECOLOGYTEMP 
tempfile 'F:\app\Administrator\oradata\orcl\ECOLOGYTEMP.dbf' 
size 100m
autoextend on 
next 50m maxsize 200m
extent management local
 
/*第2步:创建数据表空间  */
create tablespace ECOLOGY
logging
datafile 'F:\app\Administrator\oradata\orcl\ECOLOGY.dbf'
size 200m
autoextend on
next 50m maxsize 300m
extent management local
 
/*第3步:创建用户并指定表空间  */
create user ecology identified by ecology
default tablespace ECOLOGY
temporary tablespace ECOLOGYTEMP
 
/*第4步:给用户授予权限  */
grant connect,resource,dba to ecology

  

 

          本地导出 :exp idealims_jx/passw0rd@orcl  owner=idealims_jx file=IdealIMS_JX_20110511.dmp

          本地导入:  imp userid=ecology/ecology@ECOLOGY_LOCAL full=y file=ecology_oracle_20121203.dmp

 

          远程导出 :exp ecology/ecology@ECOLOGY_10.225.11.207  owner=ecology file=ecology_oracle_20121203.dmp

          远程导入:  imp userid=idealims/imspassw0rd@134.224.55.12 full=y file=IdealIMS_JX_20110511.dmp

 

    将10G导入11G

          F:\app\Administrator\admin\orcl\dpdump>imp userid=idealims/idealims@orcl full=y file=IdealIMS_JX_20110511.dmp

 

导出几张表 : 

I:\>exp idealims/idealims@orcl

tables=IMS_OT_BUSINESS_LOG,IMS_OT_SYSTEM_CONFIG file=d:\tables.dmp

如果导出的用户名不一样,去掉加上fromuser=

 

如果是两个不同版本的数据库导入导出,用命令expdp impdp

expdp idealimsbt/idealimsbt dumpfile=idealimsbt_20091119.dmp

默认的导出位置 : D:\oracle\product\10.2.0\admin\orcl\dpdump

impdp idealims/idealims@BT_10.5.245.173 fromuser=idealimsbt dumpfile=idealimsbt_20091119.dmp

impdp idealims/idealims@BT_10.5.245.173 dumpfile=idealimsbt_20091119.dmp

 

 

 

使用plsql导入导出数据库

1)导出数据库对象

在PL/SQL Developer的菜单Tools=>Export User Objects中出来一个对话框界面,然后框选要到处的Oracle 数据库对象,包括表,序列,存储过程,视图,函数等等,并指定导出的文件名称。

       如下操作:
      
 

2)导出表数据

导出表结构和其他对象后,我们下一步就是把数据库的表数据进行导 出,PL/SQL Developer工具支持导出数据到PL/SQL数据库脚本中,如下所示。这样导出的脚本,我们可以在PL /SQL Developer工具导入或者自己通过Sql plus 工具进行导入。

       
 

至此,我们就已经完成了三种脚本了,包括创建数据库空间和数据库脚本、创建Oracle数据库对象(表、存储过程、视图、序列等)、创建导入数据的脚本,这样三种合一,就是一个完整的数据库了。最后一步就是我们如何导入数据库对象和数据的问题了。

 

2)导入数据库对象及数据

导入数据库对象和数据的操作一样,都可以通过Import Tables操作实现,我们指定刚才上面两步创建的数据库脚本,执行即可再新的环境中创建数据库对象和数据库数据了

     如下所示:
      
 
     

 

      执行的数据界面如下所示:
    
 

     完成上面几个步骤,我们在新的数据库环境中,就具备了所有的东西了,顺利完成整个Oracle数据库对象及数据的迁移工作。

     以上值得注意的是,我们导出Oracle对象和数据的时候,默认还是原来Oracle数据库的表空间和数据库用户名称的,如果我们想要在新的数据库服务器中指定不同的表空间和数据库用户对象,

     那么我们就需要替换生成的sql脚本,并在第一步指定合理的表空间和数据库用户。

     如果是Linux平台下的数据库服务器,第一步操作也是差不多的,就是指定表空间的路径名稍微不同,其他操作并无差异。

 

本地导出 :exp idealims_jx/passw0rd@orcl  owner=idealims_jx file=IdealIMS_JX_20110511.dmp

本地导入:  imp userid=ecology/ecology@ECOLOGY_LOCAL full=y file=ecology_oracle_20121203.dmp

 

远程导出 :exp ecology/ecology@ECOLOGY_10.225.11.207  owner=ecology file=ecology_oracle_20121203.dmp

远程导入:  imp userid=idealims/imspassw0rd@134.224.55.12 full=y file=IdealIMS_JX_20110511.dmp

 

exp ecology/ecology@ECOLOGY_10.225.11.207  owner=ecology file=ecology_oracle_20121203.dmp

imp userid=idealims/imspassw0rd@134.224.55.12 full=y file=IdealIMS_JX_20110511.dmp

 

10G导入11G

F:\app\Administrator\admin\orcl\dpdump>imp userid=idealims/idealims@orcl full=y file=IdealIMS_JX_20110511.dmp

 

导出几张表 : 

I:\>exp idealims/idealims@orcl

tables=IMS_OT_BUSINESS_LOG,IMS_OT_SYSTEM_CONFIG file=d:\tables.dmp

如果导出的用户名不一样,去掉加上fromuser=

 

如果是两个不同版本的数据库导入导出,用命令expdp 和impdp

expdp idealimsbt/idealimsbt dumpfile=idealimsbt_20091119.dmp

默认的导出位置 : D:\oracle\product\10.2.0\admin\orcl\dpdump

impdp idealims/idealims@BT_10.5.245.173 fromuser=idealimsbt dumpfile=idealimsbt_20091119.dmp

impdp idealims/idealims@BT_10.5.245.173 dumpfile=idealimsbt_20091119.dmp

 

一、创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建。

        create directory dpdata as '/opt';

 

二、查看管理理员目录(同时查看操作系统是否存在,因为Oracle并不关心该目录是否存在,如果不存在,则出错)

        select * from dba_directories;

 

三、给scott用户赋予在指定目录的操作权限,最好以system等管理员赋予。

        grant read,write on directory dpdata1 to scott;

 

--查看目录及权限

SELECT privilege, directory_name, DIRECTORY_PATH FROM user_tab_privs t, all_directories d

 WHERE t.table_name(+) = d.directory_name ORDER BY 2, 1;

 

 

四、导出数据

1)按用户导

        expdp scott/tiger@orcl schemas=scott dumpfile=expdp.dmp DIRECTORY=dpdata1;

2)并行进程parallel

        expdp scott/tiger@orcl directory=dpdata1 dumpfile=scott3.dmp parallel=40 job_name=scott3

3)按表名导

        expdp scott/tiger@orcl TABLES=emp,dept dumpfile=expdp.dmp DIRECTORY=dpdata1;

4)按查询条件导

        expdp scott/tiger@orcl directory=dpdata1 dumpfile=expdp.dmp Tables=emp query='WHERE deptno=20';

5)按表空间导

        expdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=temp,example;

6)导整个数据库

        expdp system/manager DIRECTORY=dpdata1 DUMPFILE=full.dmp FULL=y;

 

 

五、还原数据

1)导到指定用户下

        impdp scott/tiger DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=scott;

2)改变表的owner

        impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp TABLES=scott.dept REMAP_SCHEMA=scott:system;

3)导入表空间

        impdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=example;

4)导入数据库

        impdb system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y;

5)追加数据

        impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=system TABLE_EXISTS_ACTION

 

 

六、参数说明-----导入impdp

1、TABBLE_EXISTS_ACTION={SKIP | APPEND | TRUNCATE | FRPLACE }

当设置该选项为SKIP时,导入作业会跳过已存在表处理下一个对象;当设置为APPEND时,会追加数据,为TRUNCATE时,导入作业会截断表,然后为其追加新数据;当设置为REPLACE时,导入作业会删除已存在表,重建表病追加数据,注意,TRUNCATE选项不适用与簇表和NETWORK_LINK选项;

2、REMAP_SCHEMA

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

3、REMAP_TABLESPACE

将源表空间的所有对象导入到目标表空间中:REMAP_TABLESPACE=source_tablespace:target:tablespace

4、REMAP_DATAFILE

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

REMAP_DATAFIEL=source_datafie:target_datafile

 

七、参数说明-----导出expdp

1、CONTENT:该选项用于指定要导出的内容.默认值为ALL

CONTENT={ALL | DATA_ONLY | METADATA_ONLY}

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

2、DIRECTORY:指定转储文件和日志文件所在的目录:DIRECTORY=directory_object

3、EXCLUDE:该选项用于指定执行操作时释放要排除对象类型或相关对象

        EXCLUDE=object_type[:name_clause] [,….]

        Object_type用于指定要排除的对象类型,name_clause用于指定要排除的具体对象.EXCLUDEINCLUDE不能同时使用

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

4、INCLUDE:导出时包含指定的类型

        (:INCLUDE=TABLE_DATA,

             INCLUDE=TABLE:"LIKE 'TAB%'"

             INCLUDE=TABLE:”NOT LIKE ‘TAB%’”…)

             EXCLUDE:导出时排除的数据类型(:EXCLUDE=TABLE:EMP)

5、FILESIZE:指定导出文件的最大尺寸,默认为0,(表示文件尺寸没有限制)(单位为bytes).

6、JOB_NAME:此次导出进程使用的名称,方便跟踪查询(可选)

7、FLASHBACK_SCN:指定导出特定SCN时刻的表数据

        FLASHBACK_SCN=scn_valueScn_value用于标识SCN.FLASHBACK_SCNFLASHBACK_TIME不能同时使用

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

        FLASHBACK_SCN=358523

8、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’)”

9、TABLESPACE:指定一个表空间导出.

10、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’

 

11、PARALLEL:并行操作:指定执行导出操作的并行进程个数,默认值为1

您可以通过PARALLEL 参数为导出使用一个以上的线程来显著地加速作业。每个线程创建一个单独的转储文件,因此参数dumpfile 应当拥有和并行度一样多的项目。您可以指定通配符作为文件名,而不是显式地输入各个文件名,例如:

expdp ananda/abc123 tables=CASES directory=DPDATA1 dumpfile=expCASES_%U.dmp parallel=4 job_name=Cases_Export

注意:dumpfile 参数拥有一个通配符%U,它指示文件将按需要创建,格式将为expCASES_nn.dmp,其中nn 01 开始,然后按需要向上增加。

在并行模式下,状态屏幕将显示四个工作进程。(在默认模式下,只有一个进程是可见的)所有的工作进程同步取出数据,并在状态屏幕上显示它们的进度。

分离访问数据文件和转储目录文件系统的输入/输出通道是很重要的。否则,与维护Data Pump 作业相关的开销可能超过并行线程的效益,并因此而降低性能。并行方式只有在表的数量多于并行值并且表很大时才是有效的。

 

开发者博客www.developsearch.com

分享到:
评论

相关推荐

    Oracle-导出、导入某用户所有数据

    ### Oracle-导出、导入某用户所有数据 #### 概述 在Oracle数据库管理中,导出和导入数据是一项常用且重要的操作。这项技术主要用于数据迁移、备份与恢复等场景。通过导出命令(`exp`)和导入命令(`imp`),我们...

    docker-wnameless-oracle-xe-11g百度盘地址.zip

    docker oracle的离线镜像docker-wnameless-oracle-xe-11g.tar,可以导入到内网(无互联网)环境使用,该包是基于wnameless的Oracle打包的,由于网速慢,我是使用 git clone ...

    Oracle 19c 备份恢复-导入导出

    Oracle 19c 备份恢复-导入导出 Oracle 19c 备份恢复-导入导出是指使用 Oracle 数据库提供的工具 exp 和 imp 实现数据库的备份恢复和数据的导入导出。本文将详细介绍 Oracle 19c 备份恢复-导入导出的基本命令、工作...

    Oracle数据库导入导出工具

    本工具是一款基于Java编写的桌面应用程序,专为Oracle数据库的导入导出提供便利。 1. **Oracle数据库导入导出的重要性** - 数据迁移:当需要将数据从一个Oracle实例迁移到另一个实例时,导入导出工具是关键。 - ...

    Oracle-exp\imp-导入导出时遇到的问题

    Oracle-exp\imp-导入导出时遇到的问题

    oracle-instantclient.11.2.zip

    - 数据导入/导出:将数据从其他格式导入Oracle,或者将Oracle数据导出为其他格式。 - 报表设计:创建自定义报表,展示数据库信息。 - 同步工具:比较并同步数据库结构,确保多环境一致性。 - 数据备份:定期备份...

    oracle12-bin-批量导入导出.zip

    本文将深入探讨“Oracle12-bin-批量导入导出.zip”压缩包中的核心工具及其在Linux环境下的应用,以帮助用户更好地理解和使用这些工具。 Oracle 12c(版本12.1.0.2.0)是Oracle数据库的一个重要版本,它引入了许多新...

    Oracle导入导出命令bat执行命.rar

    这个"Oracle导入导出命令bat执行命.rar"文件显然包含了一系列用于自动化这些过程的批处理(BAT)脚本。 首先,让我们来理解一下Oracle的导入导出命令。`expdp`和`impdp`是Oracle Data Pump的命令行工具,用于导出和...

    Oracle-建表空间-用户-导入DMP-设置密码不过期等工具

    Oracle数据库管理系统是企业级广泛应用的关系型数据库,它提供了丰富的功能来管理数据,包括创建和管理表空间、用户、数据导入导出以及密码策略等。在"Oracle-建表空间-用户-导入DMP-设置密码不过期等工具"这个主题...

    oracle常用系统视图+导入导出

    这篇博客主要聚焦于Oracle的常用系统视图以及数据导入导出的相关操作,这对于数据库管理员和开发人员来说非常重要。 首先,我们来看“0001-Oracle-系统-视图.sql”。这个文件很可能包含了创建和查询Oracle系统视图...

    oracle导出-导入语句

    ### Oracle导入(Import)语句 #### 命令格式: ``` imp [username/password]@db [选项] ``` 导入命令与导出命令类似,但其目的是将之前导出的数据导入到数据库中。 #### 实例分析: ``` imp name/pwd file=d:\xxx...

    oracle表的导入导出-命令

    Oracle数据库的导入导出是数据库管理中常见的操作,主要用于数据迁移、备份恢复或者数据库环境间的同步。本文将详细解析Oracle数据库的导入导出命令及其使用方法。 数据导出: Oracle提供了一个名为`exp`的实用程序...

    liunx oracle-instantclient9版本basic、sqlolus、tool安装包

    其他可能包含的工具如`expdp`和`impdp`用于数据泵导出和导入,`sqlldr`是SQL加载器,可以批量加载数据到数据库。 **安装步骤**: 1. **下载**: 首先,你需要将上述三个`.rpm`文件下载到你的Linux系统中。 2. **安装...

    Oracle 数据库导出导入命令及详解

    2. 数据导入导出可能会影响数据库性能,因此最好在低峰时段操作。 3. 导出和导入过程中涉及的用户权限应提前准备,确保有足够的权限进行数据操作。 4. 对于大规模数据的导出导入,可以考虑使用Data Pump的并行选项以...

    Oracle数据导出导入简介

    ### Oracle 数据导出导入简介 #### 一、Oracle数据库的基本概念 Oracle数据库是一个关系型数据库管理系统,由不同的表空间组成,其中包括...希望本文能够帮助大家更好地理解和使用Oracle数据库的数据导入导出功能。

    oracle电子资料-导入导出

    在日常操作中,数据的导入与导出是必不可少的操作,无论是迁移数据库、备份恢复还是进行数据迁移,都需要掌握Oracle的导入导出技术。本资料包将详细介绍Oracle的exp(导出)和imp(导入)命令,帮助用户更好地理解和...

    oracle导入导出的资源文件夹

    3. **目录对象(Directory Object)**:在Oracle中,数据泵导入导出操作需要指定一个目录对象,该对象指向操作系统上的物理目录,存放导入导出的文件。创建目录对象的SQL语句如下: ``` CREATE OR REPLACE ...

    SQL Server - Oracle 导出导入数据及表的方法.docx

    总结来说,SQL Server和Oracle的数据导入导出涉及多个步骤,包括备份与恢复、数据转换、身份验证和调度。理解并熟练掌握这些操作对于数据库管理员和开发人员来说至关重要,有助于在不同的环境中有效地管理和迁移数据...

    Oracle数据库导入导出(备份与恢复).docx

    Oracle数据库导入导出命令(备份与恢复) Oracle数据库是目前最流行的RELATIONAL DATABASE MANAGEMENT SYSTEM(关系数据库管理系统),它提供了强大且灵活的数据存储和管理功能。为了确保数据的安全和可靠性,Oracle...

Global site tag (gtag.js) - Google Analytics