数据泵导入导出
oracle使用数据泵导出和导入
使用数据泵导出和导入几乎所有DBA都熟悉oracle的导出和导入实用程序,它们将数据装载进或卸载出数据库,在oracle database 10g和11g中,你必须使用更通用更强大的数据泵导出和导入(Data Pump Export and Import)实用程序导出和导入数据。
以前的导出和导入实用程序在oracle database 11g中仍然可以使用,但是Oracle强烈建议使用数据泵(Data Pump)技术,因为它提供了更多的高级特性。
例如,你可以中断导出/导入作业,然后恢复它们;可以重新启动已失败的导出和导入作业;可以重映射对象属性以修改对象;可以容易地从另一个会话中监控数据泵的作业,甚至可以在作业过程中修改其属性;使用并行技术很容易快速移动大量的数据;因为oracle提供了针对数据泵技术的API,所以可以容易地在PL/SQL 程序中包含导出/导入作业;可以使用更强大的可移植表空间特性来快速移植大量的数据,甚至可在不同操作系统平台之间移动。
与旧的导出和导入实用程序不同,数据泵程序有一组可以在命令行中使用的参数以及一组只能以交互方式使用的特殊命令,你可以通过在命令行中输入expdp help = y 或者impdp help = y快速获取所有数据泵参数及命令的概述。
一.数据泵技术的优点原有的导出和导入技术基于客户机,而数据泵技术基于服务器。
默认所有的转储,日志和其他文件都建立在服务器上。
以下是数据泵技术的主要优点:1.改进了性能2.重新启动作业的能力3.并行执行的能力4.关联运行作业的能力5.估算空间需求的能力6.操作的网格方式7.细粒度数据导入功能8.重映射能力二.数据泵导出和导入的用途1.将数据从开发环境转到测试环境或产品环境2.在不同的操作系统平台上的oracle数据库直接的传递数据3.在修改重要表之前进行备份4.备份数据库5.把数据库对象从一个表空间移动到另一个表空间6.在数据库直接移植表空间7.提取表或其他对象的DDL注意:数据库不建立完备的备份,因为在导出文件中没有灾难发生时的最新数据。
导入导出工具exp、imp、expdp、impdp
导入导出工具exp、imp、expdp、impdp导入导出工具exp、imp、expdp、impdp exp和imp是在数据泵之前的逻辑备份工具。
一:导出工具exp1.$ORACLE_HOME/bin 操作系统下可执行文件导出工具将数据库中的数据压缩在一个二进制文件三中模式:a.表模式:导出用户所有的表或者指定的表b.用户模式:导出用户下的所有内容c.整个数据库:导出数据库中的所有对象c查看帮助命令exp help =y练习导出前1)查询数据库的字符集(方法很多只用一种)SQL> select userenv('language') from dual;USERENV('LANGUAGE')----------------------------------------------------AMERICAN_AMERICA.WE8ISO8859P12)设置Linux操作系统的NLS_LANG环境变量export NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1开始导出使用exp把scott.emp表导出来导出文件名scott.empexp help=y imp help=y 查看帮助exp scott/oracle TABLES=emp file=scott.emp然后删除scott.emp表sqlplus scott/oracledrop table emp;最后使用导出的文件恢复原来的emp表imp scott/oracle TABLES=emp file=scott.emp检查是否成功select count(*) from scott.emp;例如:表模式exp scott/oracle tables=emp file=emp.dmp导出多张表exp scott/oracle tables=emp,dept file=ed.dmp使用sys用户导出exp tables=scott.emp file=emp1.dmpusername:sys as sysdbapassword: oracle或者exp \'sys/oracle as sysdba\' tables=scott.emp file=emp2.dmp用户模式导出用户所有的对象exp scott/oracle owner=scott file=soctt.dmp全库导出exp system/oracle full=y file=full.dmp指定导出片的大小,限制为1gexp scott/oracle tables=emp file=emp2.dmpfilesize=1g参数filesize 指定了二进制备份文件的最大字节数目的是解决某些操作系统下2g物理文件限制以及可以加快压缩和方便刻录光盘等也可以远程导出到本地exp system/oracle@orcl tables=scott.emp file=emp168.dmp 导入工具:imp1 该工具是$ORACLE_HOME/bin下一个可执行文件2 imp将exp生成的二进制文件导入数据库中只有exp_full_database 和dba权限的用户才能做整个数据库的导入grant exp_full_database to scott;3 imp操作步骤先create table -->insert data -->create index -->create trigger ,constriants例子练习:先删除scott.emp 表的记录,使用备份文件恢复记录sqlplus scott/oracletruncate table emp;select count(*) from emp;imp scott/oracle tables=emp file=emp.dmp ignore=y参数ignore=y 表示直接导入数据检查结果select cont(*) from emp;将某用户的表导入到另一个用户下:交互式imp tables=emp file=emp.dmp fromuser=scott touser=hr 输入用户名:sys as sysdba输入密码: oracle非交互式imp \'sys/oracle as sysdba\' tables=emp file=emp.dmp fromuser=scott touser=hr 约束报错,可以不需要创建约束,加入参数CONSTRAINTS=N4 导入可能出现的问题a 数据对象已经存在解决方法:使用参数ignore=y 会把exp文件的数据内容直接导入如果表有唯一关键字约束,不符合条件的不导入如果表没有唯一关键字约束,将引起重复记录b 数据库对象有主外键约束不符合主外键约束,数据导入失败解决方法:先导入主表,在导入从表或者先禁用主外键,导入完成后在启用c 权限不够给予imp_full_databaseexp_full_databased 字符集问题如果字符集不同,导入失败查看oracle server端的字符集select userenv('language') from dual;查看dump文件字符集cat scott.dmp |od -x|head -1|awk '{print $2 $3}'|cut -c 3-60345select nls_charset_name(to_number('0354','xxxx')) from dual;查看oracle client端字符集echo $NLS_LANG如果检查结果发现server端和client字符集不一样,修改为同server端相同的字符集导出的过程转换在export过程中,源数据库字符集与export用户会话字符集不一致会发生字符集转换,并在导出文件头部几个字节中存储export用户会话字符集ID号,在这个过程中肯可能发生数据丢失。
navicat 数据泵的用法
navicat 数据泵的用法摘要:I.引言A.Navicat 简介B.数据泵的作用II.Navicat 数据泵的用法A.数据泵导入1.连接到数据库2.打开数据泵3.设置常规选项4.预览和运行SQL语句B.数据泵导出1.连接到数据库2.打开数据泵3.设置常规选项4.预览和运行SQL语句III.数据泵的高级用法A.数据过滤和转换1.数据过滤2.数据转换B.数据泵的备份和还原1.备份数据库2.还原数据库IV.结论A.总结数据泵的用法B.展望Navicat的发展正文:avicat是一款功能强大的数据库管理工具,可以用于连接和管理多种类型的数据库。
在数据库管理和操作中,数据泵是一个非常重要的功能。
它可以实现数据的导入和导出,方便数据的备份和迁移。
本文将详细介绍Navicat数据泵的用法。
首先,我们来了解一下Navicat数据泵的导入用法。
数据泵导入需要以下几个步骤:连接到数据库,打开数据泵,设置常规选项,预览和运行SQL语句。
在连接到数据库时,需要输入数据库的连接信息,包括服务器名称、端口号、用户名和密码。
打开数据泵后,我们可以设置工作名称、模式、内容、导入数据等选项。
在预览和运行SQL语句时,可以查看导入数据的SQL语句是否正确,以及数据泵导入过程中可能出现的错误信息。
接下来,我们来介绍一下Navicat数据泵的导出用法。
数据泵导出同样需要以下几个步骤:连接到数据库,打开数据泵,设置常规选项,预览和运行SQL语句。
在连接到数据库时,需要输入数据库的连接信息,包括服务器名称、端口号、用户名和密码。
打开数据泵后,我们可以设置工作名称、模式、内容、导出数据等选项。
在预览和运行SQL语句时,可以查看导出数据的SQL 语句是否正确,以及数据泵导出过程中可能出现的错误信息。
除了基本的导入和导出功能,Navicat数据泵还提供了许多高级功能。
比如,数据过滤和转换功能,可以让我们在导入和导出数据时,对数据进行筛选和转换。
【Oracle】EXPDP和IMPDP数据泵进行导出导入的方法
【Oracle】EXPDP和IMPDP数据泵进⾏导出导⼊的⽅法⼀、expdp/impdp和exp/imp客户端⼯具1、exp和imp是客户端⼯具程序,它们既可以在客户端使⽤,也可以在服务端使⽤。
服务端⼯具2、expdp和impdp是服务端的⼯具程序,他们只能在oracle服务端使⽤,不能在客户端使⽤。
注意:3、imp只适⽤于exp导出的⽂件,不适⽤于expdp导出⽂件;impdp只适⽤于expdp导出的⽂件,⽽不适⽤于exp导出⽂件。
4、对于10g以上的服务器,使⽤exp通常不能导出0⾏数据的空表,⽽此时必须使⽤expdp导出。
⼆、expdp导出步骤(1)创建导出逻辑⽬录⽤sys管理员登录sqlplus[oracle@shdb02 ~]$ export ORACLE_SID=fp2[oracle@shdb02 ~]$ echo $ORACLE_SIDfp2[oracle@shdb02 ~]$ sqlplusSQL*Plus: Release 11.2.0.4.0 Production on Sat Mar 19 21:53:42 2022Copyright (c) 1982, 2013, Oracle. All rights reserved.Enter user-name: sys as sysdbaEnter password:**********Connected to:Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit ProductionWith the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,Data Mining and Real Application Testing optionsSQL>如果提⽰:Connected to an idle instance. //这个就是错误的信息。
数据泵导出导入
Oracle数据泵导入导出案例Oracle数据库导入导出工具,可以使用exp/imp,但这是比较早期的工具。
本文主要介绍数据泵expdp/impdp工具的使用。
建立数据泵目录使用数据泵需要先建directorycreate directory dump_scott as'/home/oracle/dump/scott'查看建立的目录Select * from dba_directories赋权Grant read,write on directory dump_scott toscott导出案例1,按表导出expdp scott/tiger directory=dump_scottdumpfile=tab.dmp logfile=scott.log tables=dept,emp导出案例2,按用户导出expdp scott/tiger directory=dump_scottdumpfile=dumpscott.dmp schemas=scott导出案例3,全库导出,且并行导出expdp scott/tiger directory=dump_scottdump file=full.dmp parallel=4 full=y导入案例1,按表导入,从scott到scott2impdp scott2/tiger directory=dump_scottdumpfile=tab.dmp tables=scott.dept,scott.emp remap_schema=scott:scott2导入案例2,按用户导入,从scott到scott2impdp scott/tiger directory=dump_scottdumpfile=schema.dmp remap_schema=scott:scott2导入案例3,全库导入impdp scott/tiger directory=dump_scottdumpfile=full.dmp full=y导入案例4,无落地文件的用户拷贝,需要建立db linkimpdp scott/tiger directory=dump_scott network_link=remote_link remap_schema=scott:scott2。
数据泵导入建表
数据泵导入建表数据泵是Oracle数据库中的一个重要工具,通过该工具可以将数据从一个数据库传输到另一个数据库,同时还可以通过数据泵将数据库中的数据导出,并保存为一个文件,以备日后使用。
数据泵还可以被用来对表进行导入、导出和重建等操作。
在这篇文章中,我们将介绍如何使用数据泵导入建表。
步骤一:导出数据文件在进行数据导入之前,我们需要先将数据从源数据库导出。
可以使用数据泵的expdp命令将数据导出为一个dump文件。
例如,通过以下命令将指定的数据导出到个人电脑的F盘根目录:expdp system/oracle@orcl schemas=scottdumpfile=f:\scott.dmp其中,system/oracle是登录源数据库的用户名和密码;orcl是源数据库的服务名,schemas参数指定了要导出的Schema;dumpfile 指定了dump文件的保存路径和文件名。
步骤二:创建目录导出数据后,我们需要使用Oracle的SQL命令创建一个导入目录,以便在接下来的步骤中使用。
例如:SQL> create directory imp_dir as 'f:\';其中,imp_dir是导入目录的名称,f:\是导出的dump文件的保存路径。
步骤三:导入数据一旦目录被创建之后,我们就可以使用数据泵的impdp命令将数据导入到目标数据库中。
例如:impdp system/oracle@orcl directory=imp_dirdumpfile=scott.dmp schemas=scott remap_schema=scott:scott1 在此命令中,system/oracle是目标数据库的用户名和密码;orcl是目标数据库的服务名;directory指定了导入目录的名称;dumpfile指定了导出的dump文件的名称;schemas参数指定了要导入的schema;remap_schema参数可以让我们将导出时原本的schema名称修改为新的名称。
Oracle 数据泵详解
Oracle 数据泵详解一、EXPDP和IMPDP使用说明Oracle Database 10g引入了最新的数据泵(Data Dump)技术,数据泵导出导入(EXPDP和IMPDP)的作用1)实现逻辑备份和逻辑恢复.2)在数据库用户之间移动对象.3)在数据库之间移动对象4)实现表空间搬移.二、数据泵导出导入与传统导出导入的区别在10g之前,传统的导出和导入分别使用EXP工具和IMP工具,从10g开始,不仅保留了原有的EXP和IMP工具,还提供了数据泵导出导入工具EXPDP和IMPDP.使用EXPDP和IMPDP时应该注意的事项:1)EXP和IMP是客户端工具程序,它们既可以在可以客户端使用,也可以在服务端使用。
2)EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用。
3)IMP只适用于EXP导出文件,不适用于EXPDP导出文件;IMPDP只适用于EXPDP导出文件,而不适用于EXP导出文件。
数据泵导出包括导出表,导出方案,导出表空间,导出数据库4种方式.三、Expdp参数EXPDP命令行选项,可通过expdp help=y查看:E:\emp>expdp help=yExport: Release 10.2.0.1.0- Production on 星期日, 03 5月, 2009 17:54:49Copyright (c) 2003, 2005, Oracle. All rights reserved.数据泵导出实用程序提供了一种用于在 Oracle 数据库之间传输数据对象的机制。
该实用程序可以使用以下命令进行调用:示例: expdp scott/tigerDIRECTORY=dmpdir DUMPFILE=scott.dmp您可以控制导出的运行方式。
具体方法是: 在 'expdp' 命令后输入各种参数。
要指定各参数, 请使用关键字:格式: expdp KEYWORD=value 或KEYWORD=(value1,value2,...,valueN)示例: expdp scott/tigerDUMPFILE=scott.dmp DIRECTORY=dmpdir SCHEMAS=scott或 TABLES=(T1:P1,T1:P2), 如果 T1 是分区表USERID 必须是命令行中的第一个参数。
数据泵导入导出
在开始我就说了,这里没有指定Job name。 所以系统自动给我们生成了一个:SYS_EXPORT_FULL_02。
默认是从SYS_EXPORT_FULL_01开始,因为我之前有一个没有运行的Job,所以这里从2开始了。
3.1.2指定Job_name
[oracle@qs-dmm-rh2 ~]$ expdp \'/ as sysdba\' directory=backup full=y dumpfile=fullexp3.dmp logfile=fullexp3.log parallel=2 job_name=diriJob;
20 bl
11 rows selected.
3. 开始测试
3.1 FULL=Y全库导出
3.1.1不指定Job_name
[oracle@qs-dmm-rh2 ~]$ expdp \'/ as sysdba\' directory=backup full=y dumpfile=fullexp.dmp logfile=fullexp.log parallel=2;
******************************************************************************
Dump file set for SYS.SYS_EXPORT_FULL_02 is:
/u01/backup/fullexp.dmp
OWNER DIRECTORY_NAME DIRECTORY_PATH
----- ------------------------- ------------------------------------------------
Oracle 数据泵导出和导入
简介Oracle 10g引入了DATA PUMP提供的是一种基于服务器的数据提取和恢复的实用程序,DATA PUMP在体系结构和功能上与传统的EXPORT和IMPORT实用程序相比有了显著的提升。
DATA PUMP允许您停止和重启作业,查看运行的作业的状态,及对导入和导出的数据做限制。
注意:数据泵文件与传统的EXP/IMP数据转储文件是不兼容的。
以下是DATA PUMP的几个优点介绍:1.数据泵(Data Pump)的所有工作都有数据库实例来完成,数据库可以并行来处理这些工作,不仅可以通过建立多个数据泵工作进程来读/写正在被导出/导入的数据,也可以建立并行I/O服务器以更快地读取或插入数据,从而,单进程瓶颈被彻底解决。
2.通过数据泵,以前通过EXP/IMP主要基于Client/Server的逻辑备份方式转换为服务器端的快速备份,数据泵主要工作在服务器端,可以通过并行方式快速装入或卸载数据,而且可以在运行过程中调整并行的程度,以加快或减少资源消耗。
3.数据泵通过新的API来建立和管理,这些新的工作主要由DBMS_DATAPUMP来完成。
新的导入/导出工具完全成为了一个客户端应用,通过IMPDP/EXPDP执行的命令实际上都是在调用Server端的API在执行操作,所以一旦一个任务被调度或执行,客户端就可以退出连接,任务会在server 端继续执行,随后通过客户端实用程序从任何地方检查任务的状态和进行修改创建DIRECTORYDATA PUMP要求为将要创建和读取的数据文件及日志文件创建目录,这个参数是用来定义一个目录,前面已经提到数据泵主要在Server端工作,导出文件需要写出到Server端本地目录,这个DIRECTORY就是对应的Server 端的目录。
将要访问数据泵文件的用户必须要拥有该目录的读/写权限。
注意:在开始操作之前要验证外部目录是否存在,并且下达create directory 命令的用户需要拥有create any directory的系统权限。
数据泵导入导出步骤(从sqlplus登录到导入过程)
1、首先建立目录:create directory 目录名称as '数据库服务器上的一个目录',如:create directory 别名as 'd:\服务器目录名';将导入或导出的文件放在这个目录下2、导出及导入以SID=orcl,导出dmp的账号为test,导入dmp的账号为test为例。
若将数据从sfz中导出:expdp test/test@orcl directory=别名dumpfile=导出文件名导入到test中:impdp test/test@orcl directory=别名dumpfile=导出文件名.dmp导入到处用户名不一样时,做个映射,一样时,不用写remap_schema=test:test111g版本导出,导入到10g具体如下:导出脚本(11G):expdp test109/test109@orcl directory=expdp dumpfile=test10930bak.dmp logfile=mydb.log filesize=200m full=y version=10.2.0.1.0version号一定要哈导入脚本(10G):impdp shl1017/shl1017 directory=expdpdumpfile=TEST10930BAK.dmp version=10.2.0.1.0 REMAP_SCHEMA=test109:shl1017各参数对应的数据你根据自己的修改下2015-11-24下午数据泵方式导入zh.dmp过程:1、建立目录(expnc_dir为别名)create directory expnc_dir as 'E:\ncdatabak';2、导入数据impdp system/oracle@orcl directory=expnc_dir dumpfile=zh.dmp;3、根据错误日志文件(E:\ncdatabak目录下),建立用户、临时空间、用户空间a、删除用户及空间(再次导入的时候使用)drop user zh cascade;DROP TABLESPACE EAS_D_ZH_STANDARD INCLUDING CONTENTS AND DATAFILES;DROP TABLESPACE temp_zh INCLUDING CONTENTS AND DATAFILES;b、建立空间create tablespace EAS_D_ZH_STANDARDlogging datafile 'D:\app\Administrator\oradata\orcl\EAS_D_ZH_STANDARD.dbf'size 5gautoextend onnext 100m maxsize UNLIMITEDextent management local;c、建临时空间create temporary tablespace temp_zhtempfile 'D:\app\Administrator\oradata\orcl\temp_zh.dbf'size 100mautoextend onnext 32m maxsize UNLIMITEDextent management local;d、修改自动增长的太小alter database datafile 'D:\app\Administrator\oradata\orcl\EAS_D_ZH_STANDARD.dbf' autoextend on next 100m maxsize UNLIMITED;e、建用户create user zh identified by zhdefault tablespace EAS_D_ZH_STANDARDtemporary tablespace temp_zh;f、授权grant dba,connect,resource to zhg、导入数据impdpzh/zh directory=expnc_dir dumpfile=ZH.dmpremap_schema=zh:zhremap_tablespace=EAS_D_ZH_STANDARD:EAS_D_ZH_STANDARD(注意不带;)或impdp zh/zh@orcl directory=expnc_dir dumpfile=zh.dmp;注意:a、temp表空间不能自动扩展,所以建了一个有自动扩展的空间temp_zhb、出错的时候需要删除用户、表空间、临时空间再重新建立、再导入Oracle命令(一):Oracle登录命令()1、运行SQLPLUS工具C:\Users\wd-pc>sqlplus2、直接进入SQLPLUS命令提示符C:\Users\wd-pc>sqlplus /nolog3、以OS身份连接C:\Users\wd-pc>sqlplus / as sysdba 或SQL>connect / as sysdba4、普通用户登录C:\Users\wd-pc>sqlplus scott/123456 或SQL>connect scott/123456 或SQL>connect scott/123456@servername5、以管理员登录C:\Users\wd-pc>sqlplus sys/123456 as sysdba或SQL>connect sys/123456 as sysdba6、切换用户SQL>conn hr/123456注:conn同connect7、退出exitOracle数据导入导出imp/exp sp2-0734:未知的命令开头'imp 忽略了剩余行默认分类sp2-0734:未知的命令开头'imp 忽略了剩余行默认分类应该是在cmd的dos命令提示符下执行,而不是在sqlplus里面。
impdp与imp导出的文件格式
impdp(导入数据泵)和imp(导入工具)是Oracle 数据库中用于导入数据的工具。
它们支持不同的导入文件格式,具体如下:
impdp 导入数据泵工具:
impdp 是Oracle 10g 及更高版本引入的高级数据导入工具。
impdp 使用.dmp 文件格式进行导入,这是一种二进制导出文件格式,其中包含了数据库对象、数据和元数据信息。
.dmp 文件是由expdp(数据泵导出)工具创建的。
imp 导入工具:
imp 是Oracle 数据库早期版本(9i及之前)使用的传统数据导入工具。
imp 支持.dmp 文件格式,这与impdp 使用的.dmp 文件格式不同,因为它们在文件结构上有差异。
imp 也支持使用文本文件(通常以.sql 或.dat 文件扩展名保存)导入数据。
这些文本文件包含SQL 语句或平面文本数据。
需要注意的是,虽然imp 仍然存在于Oracle 数据库中,但它已经不再是Oracle 推荐的数据导入方法。
impdp 提供更强大的功能和性能,因此在现代Oracle 数据库环境中,通常建议使用impdp 进行数据导入。
无论你选择使用impdp 还是imp,在进行数据导入之前,都需要确保导出的数据文件与相应的导入工具兼容,并且包含了所需的数据库对象、数据和元数据。
数据泵导入导出--自总结
从A库导出用户jack下的所有数据到B库:查看字符集:select * from nls_database_parameters;步骤:A库:1)创建一个目录用来存放导出数据,例如/home/oracle/dump目录。
2)登录到数据库中,执行:create directory dump_dir as ‘/home/oracle/dump’;3)给目录授权,grant read,write on directory dump_dir to public;(此处也可以单独授权给某一个用户,例如jack)4)可以查询一下该目录及拥有者:select * from dba_directories;5)导出语句:expdp schemas=jack directory=dump_dir dumpfile=jack.dump logfile=jack.log执行完后会提示输入用户和密码,输入jack以及其密码即可。
B库:1)将jack.dump文件scp传到B库所在服务器上,例如/home/oracle/bak此处的目录可以随意定义,只要跟第二步执行的路径一致即可。
2)同A库,登录到数据库中执行:create directory dump_dir as ‘/home/oracle/bak’3)授权:grant read,write on directory dump_dir to public; --此处的dump_dir命名也是随意设置的,只要和impdp导入的时候directory后面的名字相同即可。
4)如果是schema级别的导入导出,则需要在B库里先创建与A库相同的表空间:create tablespace WORK datafile ‘/u01/app/oracle/oradata/orcl/work01.dbf’;5)用户不用创建,导入的时候用system用户即可,会自动创建jack用户。
导入语句:impdp schemas=jack directory=dump_dir dumpfile=jack.dump logfile=jack2.log 执行后提示输入用户和密码,输入system用户及其密码即可。
数据泵导入导出
导出:Expdp work/work@lxgh DIRECTORY=DATA_PUMP_DIR DUMPFILE=test2.dmplogfile=test2.log导出的包目录,有二种方式可以找到,第一种方式最简单,导出完成后,最后会有导出包存放的目录,或查看日志也会有记录。
第二种方式是通过语句查询,用PLsql登录后,执行下面的语句:SELECT * FROM dba_directories;结果中查找DATA_PUMP_DIR对应的地址,就是导出包存放的位置了。
第二步:在需要导入的数据库中建好相应的表空间(一致),用户(一致)等,如果有就不需要执行此步骤。
第三步:导入数据用数据泵导入数据,先将导出的数据包放在需导入库的DATA_PUMP_DIR 对应的目录下,然后直接执行下面的语句就可以了:Impdp work/work@orcl DIRECTORY=DATA_PUMP_DIR DUMPFILE=xtdb.Dmpfull=y (这个是全部导入的语句)导入执行完后,也有相应的日志可以查看,导入是否成功。
如果日志报ORA-39082: Object type VIEW:"YXT"."V_ZK_CAPITALASSERTS" created with compilation warnings 这一类错误,就说明在导入过程中,有些函数、视图和存储过程编译失败,可以执行如下语句查看:select owner,object_name,object_type,statusFROM dba_objectswhere status !='VALID'and owner not in('SYS','SYSTEM')然后把编译失败的OBJECT重新编译,可以在SQLPLUS DEVELOP中右键点击重新编译,或者执行如下语句:alter function F_GET_COST_AMOUNT_DATE_ALL compile;alter PROCEDURE P_DR_ESTI_INCOMES_CDI_HOSP compile;即可解决备注:一定要在导入之前在库里建好相关的存贮过程,ORCLLNK和HRP_ZK_LINK以及HRLINK要不编译不过去而且报错。
Data pump数据泵导入导出
Data pump数据泵导入导出从oracle10g开始引入了data pump数据泵功能,它是一种基于服务器的数据提取和恢复的实用程序,与传统export和import使用程序相比其在功能和传输性能上有很大提升。
Data pump的所有工作通过数据库的实例来完成,可以通过建立多个Data pump工作进程来并行处理这些工作,提高导入导出性能;data pump工作在服务端,可以通过调整并行度来加快或减少资源消耗,同时可以快速装入或卸载数据。
使用data pump步骤如下:首先要为创建和读取的数据文件及日志文件创建一个目录,这个目录对应的是服务端的目录,同时,将要访问data pump文件的用户必须要拥有该目录的读写权限。
下面将创建一个名为BAK的目录,并授予system用户对此目录的读写权限。
同时需要在系统目录下创建相应的\u01\backup目录。
使用datapump导出方法有很多种,举两个常用例子:1)schema导出expdp [用户名]/[密码]@[主机字符窜] schemas=[用户名] directory=BAK dumpfile=xxx.dmp logfile=xxx.log2)数据库全库导出expdp [用户名]/[密码]@[主机字符窜] full=y directory=BAK dumpfile=xxx.dmp logfile=xxx.logdata pump导入1)schema导入impdp [用户名]/[密码]@[主机字符窜] schemas=[用户名] directory=BAK dumpfile=xxx.dmp logfile=xxx.log2)数据库全库导入impdp [用户名]/[密码]@[主机字符窜] full=y directory=BAK dumpfile=xxx.dmp logfile=xxx.log南京宝云教育。
oracle常用的数据库迁移方法
oracle常用的数据库迁移方法Oracle是一种常用的关系型数据库管理系统,为了满足不同需求,很多时候需要将数据库迁移到其他环境或系统中。
本文将介绍几种常用的Oracle数据库迁移方法。
一、数据泵导入导出数据泵是Oracle提供的一种高效的数据迁移工具,可以将表、视图、存储过程等数据库对象以及数据导出为二进制文件,再通过数据泵导入工具将数据导入到目标数据库中。
数据泵导出可以使用expdp命令,导出的文件可以包含完整的数据库对象和数据,也可以只导出指定的对象。
数据泵导入可以使用impdp命令,将导出的文件恢复到目标数据库中。
二、物理备份恢复物理备份恢复是一种将源数据库的物理文件备份并复制到目标数据库的方法。
这种方法适用于需要将整个数据库迁移到其他环境的情况。
在源数据库上执行备份命令,将数据库的物理文件备份到指定位置。
将备份文件复制到目标数据库服务器上。
在目标数据库上执行恢复命令,将备份文件恢复到目标数据库中。
三、逻辑备份恢复逻辑备份恢复是一种将源数据库中的逻辑数据导出为可读的文本文件,再通过导入工具将数据导入到目标数据库中的方法。
在源数据库上执行逻辑备份命令,将数据导出为文本文件。
将备份文件复制到目标数据库服务器上。
在目标数据库上执行导入命令,将备份文件导入到目标数据库中。
四、数据库链接数据库链接是一种在不同数据库之间进行数据传输和共享的方法。
可以在目标数据库中创建一个链接,链接到源数据库,然后通过SQL语句将数据从源数据库传输到目标数据库。
在目标数据库中创建一个数据库链接,链接到源数据库。
通过SQL语句查询源数据库中的数据,并将数据插入到目标数据库中。
五、GoldenGate数据复制GoldenGate是Oracle提供的一种高性能数据复制工具,可以将源数据库的数据实时复制到目标数据库中。
这种方法适用于需要实时同步数据的场景。
在源数据库和目标数据库上分别安装和配置GoldenGate软件。
在源数据库上配置数据抽取进程,将数据抽取到中间文件。
navicat 数据泵的用法
Navicat 数据泵的用法主要包括以下几个步骤:
连接到你的数据库:在使用Navicat数据泵之前,需要先连接到你的数据库。
选择操作类型:Navicat数据泵支持数据的导出和导入。
如果你想将一个表的数据导出到一个文件中,可以选择“数据泵导出”功能。
如果你想将数据从文件中导入到数据库中,可以选择“数据泵导入”功能。
选择模式和对象:在导出或导入数据之前,需要选择模式和对象。
模式可以选择FULL(全部导出)、TABLESPACE(表空间)、SCHEMA(用户节点下对象集合)或TABLE(表)。
对象可以选择要导出或导入的表。
指定目录和文件名:在选择模式和对象之后,需要指定导出或导入文件的目录和文件名。
生成SQL并预览:在指定目录和文件名之后,Navicat数据泵会生成SQL语句并预览。
你可以查看生成的SQL语句是否正确。
运行并等待完成:如果SQL语句没有问题,可以点击运行按钮开始导出或导入数据。
等待过程中,可以看到导出或导入的进度。
检查结果:在导出或导入完成后,Navicat数据泵会显示操作结果。
你可以检查是否成功导出或导入了数据。
以上就是Navicat数据泵的基本用法。
在使用过程中,如果遇到任何问题,可以参考Navicat 的官方文档或者寻求技术支持。
第25章 数据泵导出
数据泵备份与恢复
用户创建自己数据泵备份目录的步骤,以SCOTT 用户创建目录对象为例: 1.向SCOTT用户授权 SQL> conn system/oracle@orcl 已连接。 SQL> grant create any directory to scott; 2.创建目录 SQL> conn scott/tiger@orcl 已连接。 SQL> create directory scott_pump_dir as ‘d:/scottpumpdir’;
数据泵备份与恢复
不具备目录对象时的错误提示
D:\ expdp scott/tiger@orcl
Export: Release11.1.0.6.0 - Production on 星期四, 27 8月, 2009 18:45:08 Copyright (c) 1982, 2007, Oracle. All rights reserved. 连接到: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production With the Partitioning, OLAP and Data Mining options ORA-39002: 操作无效 ORA-39070: 无法打开日志文件。 ORA-39145: 必须指定目录对象参数且不能为空
数据泵备份与恢复
FLASHBACK_SCN:允许在导出数据库时使用数据库闪回特性,此 时EXPDP使用规定的SCN进行闪回。 FULL:说明是否导出整个数据库对象,如果该参数为Y,说明导出数 据库的所有对象。 INCLUDE:说明要导出的特定对象类型,此时会导出该参数指定的 对象和与它们有依赖关系的对象。 JOB_NAME:为了便于管理运行的EXPDP作业设置当前作业的名字。 系统默认的命名格式为sys_operation_mode_nn。如导出SCOTT 用户的元数据,此时的作业名字为 "SCOTT"."SYS_EXPORT_SCHEMA_01"。 LOGFILE:说明在导出操作时记录导出过程的日志文件名,其默认名 为export.log,和导出文件保存在相同的目录下,即directory参数 指定的目录。 PARALLEL:说明在导出作业时最大的线程数,实现导出作业的并行 处理。也可以在作业运行总使用ATTACH改变并行度,PARALLEL参 数的默认值为1,表示使用单线程导出单独个备份文件,如果设置多 个工作线程,则要指定相同数量的备份文件,这样多个线程可以同时 写多个备份文件。给出一个例子,设置并行度为2。
数据泵方式导入数据库
管理员权限进入数据库创建一个操作目录 directoryCREATE directory dump_dir ‘/home/oracle/db/’;赋予读写权限GRANT READ,WRITE ON directory dump_dir to 用户名;退出sqlplus使用命令expdp导出数据expdp 用户名/密码 directory=dump_dir dumpfile=文件名.dmp full = y使用impdp导入数据:impdp 用户名/密码 directory=dump_dir dumpfile=文件名.dmp full = y1,导出表Expdp scott/tiger DIRECTORY=DumpDir DUMPFILE=tab.dmp TABLES=dept,emp 2,导出方案Expdp scott/tiger DIRECTORY=DumpDir DUMPFILE=schema.dmp SCHEMAS=system,scott3.导出表空间Expdp system/manager DIRECTORY=DumpDir DUMPFILE=tablespace.dmpTABLESPACES=user01,user024,导出数据库Expdp system/manager DIRECTORY=DumpDir DUMPFILE=full.dmp FULL=Y1, 导入表Impdp scott/tiger DIRECTORY=DumpDir DUMPFILE=tab.dmpTABLES=dept,empImpdp system/manage DIRECTORY=DumpDir DUMPFILE=tab.dmpTABLES=scott.dept,scott.emp REMAP_SCHEMA=SCOTT:SYSTEM第一种方法表示将DEPT和EMP表导入到SCOTT方案中,第二种方法表示将DEPT和EMP表导入的SYSTEM方案中.注意,如果要将表导入到其他方案中,必须指定REMAP SCHEMA选项.。
数据库数据泵详解
ORACLE数据泵一、EXPDP和IMPDP使用说明Oracle Database 10g引入了最新的数据泵(Data Dump)技术,数据泵导出导入(EXPDP和IMPDP)的作用1)实现逻辑备份和逻辑恢复.2)在数据库用户之间移动对象.3)在数据库之间移动对象4)实现表空间搬移.二、数据泵导出导入与传统导出导入的区别在10g之前,传统的导出和导入分别使用EXP工具和IMP工具,从10g开始,不仅保留了原有的EXP和IMP工具,还提供了数据泵导出导入工具EXPDP 和IMPDP.使用EXPDP和IMPDP时应该注意的事项:1)EXP和IMP是客户端工具程序,它们既可以在可以客户端使用,也可以在服务端使用。
2)EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用。
3)IMP只适用于EXP导出文件,不适用于EXPDP导出文件;IMPDP只适用于EXPDP导出文件,而不适用于EXP导出文件。
数据泵导出包括导出表,导出方案,导出表空间,导出数据库4种方式.三、Expdp参数EXPDP命令行选项,可通过expdp help=y查看:E:\emp>expdp help=yExport: Release 10.2.0.1.0- Production on 星期日, 03 5月, 2009 17:54:49 Copyright (c) 2003, 2005, Oracle. All rights reserved.数据泵导出实用程序提供了一种用于在Oracle 数据库之间传输数据对象的机制。
该实用程序可以使用以下命令进行调用:示例: expdp scott/tigerDIRECTORY=dmpdir DUMPFILE=scott.dmp您可以控制导出的运行方式。
具体方法是: 在'expdp' 命令后输入各种参数。
要指定各参数, 请使用关键字:格式: expdp KEYWORD=value 或KEYWORD=(value1,value2,...,valueN)示例: expdp scott/tigerDUMPFILE=scott.dmp DIRECTORY=dmpdir SCHEMAS=scott或TABLES=(T1:P1,T1:P2), 如果T1 是分区表USERID 必须是命令行中的第一个参数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据泵导入导出
导入imp/导出exp
权限设置:
GRANT CREATE USER,DROP USER,ALTER USER,CREATE ANY VIEW,
DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE, DBA,CONNECT,RESOURCE,CREATE SESSION TO用户名
数据导出:
1将数据库orcl完全导出,用户名system密码manager导出到D:\expdat.dmp中
exp system/manager@orcl file=d:\expdat.dmp full=y
2将数据库中system用户与sys用户的表导出
exp system/manager@orcl file=d:\expdat.dmp owner=(system,sys)
3将数据库中的表emp、dept导出
exp scott/tiger@orcl file=d:\dump\newsexpdat.dmp tables=(emp,dept)
4将数据库中的表emp中的字段ename以"G"打头的
数据导出
exp scott/tiger@orcl file=d:\expdat.dmp tables=(emp) query=\"where ename like'S%'\"
数据的导入
1将D:\dump\expdat.dmp中的数据导入user数据库中。
imp system/manager@orcl file=d:\expdat.dmp
imp scott/tiger@orcl full=y file=d:\dump\newexpdat.dmp ignore=y
2将d:\expdat.dmp中的表emp导入
imp test/test@orcl file=d:\db.expdat.dmp tables=(expdat)
imp test/test@orcl file=d:\db.expdat.dmp tables=(expdat)
1、exp system/oracle@jlnbd file=d:\temp.dmp tables=(ds.tbdsmf,ds.tbdsaf,ds.tbdsgf)例子(导出数据所在服务器的用户名和密码)
2、create user db identified by db
3、GRANT CREATE USER,DROP USER,ALTER USER,CREATE ANY VIEW,
DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,此例子中服务器和本地用户和密码是相同的
DBA,CONNECT,RESOURCE,CREATE SESSION TO db
4、alter user db quota unlimited on USERS
5、imp system/oracle@jlndb full=y file=d:\temp.dmp ignore=y导入本地的数据库管理员的数据库和密码
desc dba_ts_quotas(查找用户属于哪个表空间)
select TABLESPACE_NAME,USERNAME from dba_ts_quotas alter user db quota unlimited on USERS
应用
CREATE DIRECTORY dump dir AS‘D:\DUMP\’;
GRANT READ,WIRTE ON DIRECTORY DumpDir TO scott;
1,导出表
Expdp scott/tiger DIRECTORY=DumpDir DUMPFILE=tab.dmp TABLES=dept,emp
2,导出方案
Expdp scott/tiger DIRECTORY=DumpDir DUMPFILE=schema.dmp
SCHEMAS=system,scott
3.导出表空间
Expdp system/manager DIRECTORY=DumpDir DUMPFILE=tablespace.dmp
TABLESPACES=user01,user02
4,导出数据库
Expdp system/manager DIRECTORY=DumpDir DUMPFILE=full.dmp FULL=Y
1,导入表
Impdp scott/tiger DIRECTORY=DumpDir DUMPFILE=tab.dmp
TABLES=dept,emp
Impdp system/manage DIRECTORY=DumpDir 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=DumpDir DUMPFILE=schema.dmp
SCHEMAS=scott
Impdp system/manager DIRECTORY=DumpDir DUMPFILE=schema.dmp
SCHEMAS=scott REMAP_SCHE
MA=scott:system
3,导入表空间
Impdp system/manager DIRECTORY=DumpDir DUMPFILE=tablespace.dmp
TABLESPACES=user01
4,导入数据库
Impdp system/manager DIRECTORY=DumpDir DUMPFILE=full.dmp FULL=y。