文档库 最新最全的文档下载
当前位置:文档库 › dmp文件导入到Oracle数据库

dmp文件导入到Oracle数据库

dmp文件导入到Oracle数据库
dmp文件导入到Oracle数据库

向Oracle数据库导入DMP文件

说明:dmp文件为Oracle数据库备份文件。

命令:imp:导入

emp:导出

Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。

执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,

DOS中可以执行时由于在oracle 8i 中安装目录\ora81\BIN被设置为全局路径,

该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。

oracle用java编写,SQLPLUS.EXE、EXP.EXE、IMP.EXE这两个文件有可能是被包装后的类文件。SQLPLUS.EXE调用EXP.EXE、IMP.EXE所包裹的类,完成导入导出功能。

下面介绍的是导入导出的实例。

数据导出:

1 将数据库TEST完全导出,用户名system 密码sql 导出到D:\daochu.dmp中

exp system/sql@TEST file=d:\daochu.dmp full=y

2 将数据库中system用户与sys用户的表导出

exp system/sql@TEST file=d:\daochu.dmp owner=(system,sys)

3 将数据库中的表table1、table2导出

exp aichannel/aichannel@TESTDB2 file= d:\data\newsmgnt.dmp tables=( table1、table2)

4 将数据库中的表table1中的字段filed1以"00"打头的数据导出

exp system/sql@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"

上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。

也可以在上面命令后面加上compress=y 来实现。

数据的导入:

1 将D:\daochu.dmp 中的数据导入TEST数据库中。

imp system/sql@TEST file=d:\daochu.dmp

imp aichannel/aichannel@HUST full=y file=file= d:\data\newsmgnt.dmp ignore=y

上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。

在后面加上ignore=y 就可以了。

2 将d:\daochu.dmp中的表table1 导入

imp system/sql@TEST file=d:\daochu.dmp tables=(table1)

基本上上面的导入导出够用了。不少情况要先是将表彻底删除,然后导入。

!!!若导入时出现有个别表不能成功导入时,只能在数据库里新建表结构,再通过imp命令导入。

1.根据导入表时在SQL*PLUS中的提示,会说什么表不能正确创建,在列出相应表的所有表结构。2.在SQL*PLUS里复制表结构到TXT文档,设置好格式,放在C:\1.txt下。

3.在SQL*PLUS里通过@ C:\1.txt 运行,提示表创建结构成功。

4.向新创建的表导入数据。Imp system/sql@orcl file=d:\0955.dmp tables=(table1,table2,table3) ignore=y

5.观察提示,成败在此一举。

imp和exp命令导入和导出.dmp文件

Oracle数据库文件中的导入\导出(imp/exp命令) Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。 执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,DOS中可以执行时由于在oracle 8i 中安装目录ora81BIN被设置为全局路径,该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。 下面介绍的是导入导出的实例。 数据导出: 1 将数据库TEST完全导出,用户名system密码manager 导出到D:daochu.dmp中 exp system/manager@TEST file=d:daochu.dmp full=y 2 将数据库中system用户与sys用户的表导出 exp system/manager@TEST file=d:daochu.dmp owner=(system,sys) 3 将数据库中的表inner_notify、notify_staff_relat导出 exp aichannel/aichannel@TESTDB2 file= d:datanewsmgnt.dmp tables=(inner_notify,notify_staff_relat) 4 将数据库中的表table1中的字段filed1以"00"打头的数据导出 exp system/manager@TEST file=d:daochu.dmp tables=(table1) query=" where filed1 like '00%'" 上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。 也可以在上面命令后面加上com press=y 来实现。 数据的导入 1 将D:daochu.dmp 中的数据导入TEST数据库中。 im p system/manager@TEST file=d:daochu.dmp im p aichannel/aichannel@HUST full=y file=d:datanewsmgnt.dmp ignore=y

oracle数据库数据的导入导出

Oracle数据库导入导出命令(备份与恢复) Toad 一个很好的oralce数据库操作与管理工具,使用它可以很方便地导入导出数据表,用户以及整个数据库。今天在这里主要讲一下用命令行来操作oracle数据导入和导出: 备份数据 1、获取帮助: exp help=y 2. 导出一个完整数据库 exp user/pwd@instance file=path full=y 示例:exp system/system@xc file = c:/hehe full =y imp tax/test@tax file=d:/dbbak.dmp full=y 3 、导出一个或一组指定用户所属的全部表、索引和其他对象 exp system/manager file=seapark log=seapark owner=seapark exp system/manager file=seapark log=seapark owner=(seapark,amy,amyc,harold) 示例:exp system/system@xc file=c:/hehe owner=uep 4、导出一个或多个指定表 exp system/manager file=tank log=tank tables=(seapark.tank,amy.artist) 示例:exp system/system@xc file=c:/heh tables=(ueppm.ne_table) 恢复数据 1. 获取帮助 imp help=y 2. 导入一个完整数据库 imp system/manager file=bible_db log=dible_db full=y ignore=y 3. 导入一个或一组指定用户所属的全部表、索引和其他对象 imp system/manager file=seapark log=seapark fromuser=seapark imp system/manager file=seapark log=seapark fromuser=(seapark,amy,amyc,harold) 4. 将一个用户所属的数据导入另一个用户 imp system/manager file=tank log=tank fromuser=seapark touser=seapark_copy imp system/manager file=tank log=tank fromuser=(seapark,amy) touser=(seapark1, amy1) 5. 导入一个表 imp system/manager file=tank log=tank fromuser=seapark TABLES=(a,b) ************************ **************************** 利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回Oracle 数据库中去。 1. 简单导出数据(Export)和导入数据(Import) Oracle支持三种类型的输出: (1)表方式(T方式),将指定表的数据导出。 (2)用户方式(U方式),将指定用户的所有对象及数据导出。 (3)全库方式(Full方式),将数据库中的所有对象导出。 数据导出(Import)的过程是数据导入(Export)的逆过程,它们的数据流向不同。

Oracle数据导入导出imp,exp命令

Oracle数据导入导出imp/exp命令10g以上expdp/impdp命令 Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以 把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。 执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行, DOS中可以执行时由于在oracle 8i 中安装目录ora81BIN被设置为全局路径, 该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。 oracle用java编写,SQLPLUS.EXE、EXP.EXE、IMP.EXE这两个文件有可能是被包装后的类文件。 SQLPLUS.EXE调用EXP.EXE、IMP.EXE所包裹的类,完成导入导出功能。 下面介绍的是导入导出的实例。 数据导出: 1 将数据库TEST完全导出,用户名system 密码manager 导出到 D:\daochu.dmp中 exp system/manager@TEST file=d:\daochu.dmp full=y 2 将数据库中system用户与sys用户的表导出 exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys) 3 将数据库中的表inner_notify、notify_staff_relat导出 exp aichannel/aichannel@TESTDB2 file= d:\datanewsmgnt.dmp tables=(inner_notify,notify_staff_relat) 4 将数据库中的表table1中的字段filed1以"00"打头的数据导出 exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=" where filed1 like '00%'" 上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。 也可以在上面命令后面加上compress=y 来实现。 数据的导入 1 将D:\daochu.dmp 中的数据导入TEST数据库中。 imp system/manager@TEST file=d:\daochu.dmp imp aichannel/aichannel@TEST full=y file=d:\datanewsmgnt.dmp ignore=y 上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。

Linux下Oracle导入dmp文件

Linux下向oracle数据库倒入dmp包的方式 1、登录linux,以oracle用户登录(如果是root用户登录的,登录后用 su - oracle命令切换成oracle用户) 2、以sysdba方式来打开sqlplus,命令如下: sqlplus "/as sysdba" 3、查看常规将用户表空间放置位置:执行如下sql: select name from v$datafile; 上边的sql一般就将你的用户表空间文件位置查出来了。 4、创建用户表空间: CREATE TABLESPACE 表空间名DATAFILE '/oracle/oradata/test/notifydb.dbf(表空间位置)' SIZE 200M AUTOEXTEND ON EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO; 5、创建用户,指定密码和上边创建的用户表空间 CREATE USER 用户名 IDENTIFIED BY 密码 DEFAULT TABLESPACE 表空间名; 6、赋予权限 grant connect,resource to 用户名; grant unlimited tablespace to用户名; grant create database link to用户名; grant select any sequence,create materialized view to用户名; 经过以上操作,我们就可以使用用户名/密码登录指定的实例,创

建我们自己的表了续: 创建临时表空间: create temporary tablespace test_temp tempfile 'F:\app\think\oradata\orcl\test_temp01.dbf' size 32m autoextend on next 32m maxsize 2048m extent management local; 创建表空间: create tablespace test_data logging datafile 'F:\app\think\oradata\orcl\test_data01.dbf' size 32m autoextend on next 32m maxsize 2048m extent management local; 创建用户: create user jack identified by jack default tablespace test_data temporary tablespace test_temp; 为用户赋予权限: GRANT create any table TO jack; GRANT resource,dba TO jack; GRANT select any table TO jack; 第一个是授予所有table有create权限, 第二个就是赋予DBA的权限,这才是最重要的,其实只要第二就可以了. 第三是授予所有table有select权限. 四:删除用户表空间的步骤: Alter tablespace 表空间名称 offline;

Oracle Export/Import数据库备份与恢复的三种方法

Oracle数据库备份与恢复的三种方法 Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP)、热备份和冷备份。导出备件是一种逻辑备份,冷备份和热备份是物理备份。 一、导出/导入(Export/Import) 利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去。 1、简单导出数据(Export)和导入数据(Import) Oracle支持三种方式类型的输出: (1)、表方式(T方式),将指定表的数据导出。 (2)、用户方式(U方式),将指定用户的所有对象及数据导出。 (3)、全库方式(Full方式),瘵数据库中的所有对象导出。 数据导入(Import)的过程是数据导出(Export)的逆过程,分别将数据文件导入数据库和将数据库数据导出到数据文件。 2、增量导出/导入 增量导出是一种常用的数据备份方法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。在进行此种导出时,系统不要求回答任何问题。导出文件名缺省为export.dmp,如果不希望自己的输出文件定名为export.dmp,必须在命令行中指出要用的文件名。 增量导出包括三种类型: (1)、“完全”增量导出(Complete) 即备份三个数据库,比如: exp system/manager inctype=complete file=040731.dmp (2)、“增量型”增量导出 备份上一次备份后改变的数据,比如: exp system/manager inctype=incremental file=040731.dmp

oracle导入导出的问题

oracle导入导出的问题 朋友在导入11GR2发现了如下的错误日志: MP-00017: 由于 ORACLE 错误 942, 以下语句失败: \TABLE \ADD CONSTRAINT \FOREIGN KEY (\ \ALIDATE\IMP-00003: 遇到 ORACLE 错误 942 ORA-00942: 表或视图不存在 IMP-00017: 由于 ORACLE 错误 942, 以下语句失败: \TABLE \ADD CONSTRAINT \FOREIGN KEY (\ \ALIDATE\IMP-00003: 遇到 ORACLE 错误 942 ORA-00942: 表或视图不存在 IMP-00017: 由于 ORACLE 错误 942, 以下语句失败: \TABLE \ADD CONSTRAINT \FOREIGN KEY (\ \ALIDATE\IMP-00003: 遇到 ORACLE 错误 942 ORA-00942: 表或视图不存在 IMP-00017: 由于 ORACLE 错误 942, 以下语句失败: \KEY (\ \ALIDATE\IMP-00003: 遇到 ORACLE 错误 942 ORA-00942: 表或视图不存在 IMP-00017: 由于 ORACLE 错误 942, 以下语句失败: \TABLE \ADD CONSTRAINT \FOREIGN KEY (\

\ALIDATE\IMP-00003: 遇到 ORACLE 错误 942 ORA-00942: 表或视图不存在。 发现以上问题开始以为是对象不对的问题或者是表删除的问题,但经过在网上查找发现不是上述问题是11GR2数据库版本的问题:11GR2中有个新特性,当表无数据时,不分配segment,以节省空间,可是在用EXPORT导出时,空表也不能导出,这就导致迁移时候丢失了一些表,存储过程也失效了。 本以为EXP能有相应的控制开关,可以切换是否导出空表,看了下帮助,没有太大的改变。有些奇怪,难道11GR2不更新EXP 的功能。 解决方法: 一、insert一行,再rollback就产生segment了。 该方法是在在空表中插入数据,再删除,则产生segment。导出时则可导出空表。 二、设置deferred_segment_creation参数该参数值默认是TRUE,当改为FALSE时,无论是空表还是非空表,都分配segment。修改语句: alter system set deferred_segment_creation=false scope=both; 需注意的是:该值设置后对以前导入的空表不产生作用,仍不能导出,只能对后面新增的表产生作用。如需导出之前的空表,只能用第一种方法。

oracle 如何导入dmp文件到指定表空间

oracle 如何导入dmp文件到指定表空间 2010年01月14日星期四 13:27 1. 打开工具Oracle SQL Plus 以dba身份登录sys用户 user: sys password: sys 主机字符串(H):orcl as sysdba 2. 创建用户并指定表空间 --create user 用户名 identified by 密码 default tablespace 缺省表空间Temporary tablespace 临时表空间; drop user jandardb cascade; create user jandardb identified by jandardb; alter user jandardb default tablespace jandardb; grant connect,resource,dba to jandardb; --grant connect,resource,dba to 用户名; revoke unlimited tablespce from jandardb; --revoke unlimited tablespace from 用户名; alter user jandardb quota 0 on users; --alter user 用户名 quota 0 on Users; alter user jandardb quota unlimited on jandardb; --alter user 用户名quota unlimited on 用户缺省表空间; 3. 使用imp工具导入dmp数据文件 imp jandardb/jandardb@orcl file=c:\jandardb.dmp fromuser=jandardb touser=jandardb log=c:\log.txt 数据库中用户try的数据一直放在system表空间中;今天把该用户的所有数据exp到文件try.dmp中,准备再导入到另一个测试数据数据中的test 用户中,同时放在test表空间中。 1、在第一个数据库导出数据:exp try/try wner=try file=/try.dmp log=try.log 2、将try.dmp ftp到第二个数据库所在主机上 3、在第二个数据库导入数据:imp test/test fromuser=try touser=test file=/try.dmp log=test.log 但是导完后发现数据任然被导入到了system表空中。 后通过查询后得知,要成功导入其他表空间需要 1、先将test用户在system空间中的UNLIMITED TABLESPACE权限回收:REVOKE UNLIMITED TABLESPACE FROM test

如何在oracle中导入dmp数据库文件

Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用…… Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp 文件从本地导入到远处的数据库服务器中。利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。 执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,DOS中可以执行时由于在oracle 8i 中安装目录\ora81\BIN被设置为全局路径,该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。 oracle用java编写,SQLPLUS.EXE、EXP.EXE、IMP.EXE这两个文件有可能是被包装后的类文件。 SQLPLUS.EXE调用EXP.EXE、IMP.EXE所包裹的类,完成导入导出功能。 下面介绍的是导入导出的实例。 数据导出: 1 将数据库TEST完全导出,用户名system 密码manager 导出到 D:\daochu.dmp中 exp system/manager@TEST file=d:\daochu.dmp full=y 2 将数据库中system用户与sys用户的表导出 exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys) 3 将数据库中的表inner_notify、notify_staff_relat导出 exp aichannel/aichannel@TESTDB2 file= d:\data\newsmgnt.dmp tables=(inner_notify,notify_staff_relat) 4 将数据库中的表table1中的字段filed1以"00"打头的数据导出 exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\" 上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。 也可以在上面命令后面加上 compress=y 来实现。 数据的导入:

dmp文件导入oracle数据库方法

DMP文件使用IMP导入ORACLE方法 在审计中接到被审计单位的ORACLE数据库EXP导出的备份文件XXX.DMP文件,需要导入ORACLE数据库中进行查询。 一、准备工作 1、将XXX.DMP拷贝到E:\下; 2、使用超大文本查看器logvewer软件打开XXX.DMP,在文件开头中找到导出用户名,使用查找功能输入TABLESPACE查找此单词后的表空间名称。 例如:我们得到财政预算数据库ORACLE数据EXP备份文件IFMIS2012_CJ20121229.DMP文件,经查看用户名为IFMIS2012_CJ,表空间名称为L TSYSDA TA01、L TSYSDA TA02、L TSYSDA TA03、L TINXDA TA01、L TLOBDA TA01、USERS六个,USERS是系统用户表空间,在建立表空间时就不需要再建了。 二、安装ORACLE 按照ORACLE 11G安装图解安装就可以了,建议安装企业版桌面模式,启动ORACLE服务,创建实例,使用统一口令。 我安装的是企业版服务器模式,创建实例ORCL,使用统一口令SQ。 三、建立表空间 方法有2种,一种DOS下SQLPLUS方式,一种是ORACLE的EM方式。

建议使用EM方式建立表空间: 1、启动服务:我的电脑—右键—管理—服务—ORACLE3个服务启动; 2、启动EM:开始--程序-- ORACLE-oradb11g_home1-- Database Control - orcl; 3、登陆:用户名:sys 口令:SQ(安装时统一口令)连接身份:SYSDBA; 4、创建空间表: 选‘服务器’—‘表空间’—‘创建’—‘表空间名称’—‘添 加物理数据库名称’—‘可扩展,无限制’--‘确定’。 如有其他表空间可以继续—‘创建’~~~‘确定’的程序。 例如:将上述事例的5个表空间逐一创建。 注意:表空间大小的选择要合适,必须要选择可扩展。 四、建立用户并授权 建议在DOS下SQLPLUS方式下进行: 1、开始—附件—dos提示符; 2、输入:CD\ 回车 3、以DBA身份登陆超级用户:c:\>SQLPLUS SYS/SQ AS SYSDBA回车 4、建立用户(以事例为内容建立):sql>CREA TE USER ifmis2012_cj IDENTIFIED BY sq; (ifmis2012_cj用户名,sq 口令)。

dmp文件导入到Oracle数据库

向Oracle数据库导入DMP文件 说明:dmp文件为Oracle数据库备份文件。 命令:imp:导入 emp:导出 Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。 执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行, DOS中可以执行时由于在oracle 8i 中安装目录\ora81\BIN被设置为全局路径, 该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。 oracle用java编写,SQLPLUS.EXE、EXP.EXE、IMP.EXE这两个文件有可能是被包装后的类文件。SQLPLUS.EXE调用EXP.EXE、IMP.EXE所包裹的类,完成导入导出功能。 下面介绍的是导入导出的实例。 数据导出: 1 将数据库TEST完全导出,用户名system 密码sql 导出到D:\daochu.dmp中 exp system/sql@TEST file=d:\daochu.dmp full=y 2 将数据库中system用户与sys用户的表导出 exp system/sql@TEST file=d:\daochu.dmp owner=(system,sys) 3 将数据库中的表table1、table2导出 exp aichannel/aichannel@TESTDB2 file= d:\data\newsmgnt.dmp tables=( table1、table2) 4 将数据库中的表table1中的字段filed1以"00"打头的数据导出 exp system/sql@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\" 上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。 也可以在上面命令后面加上compress=y 来实现。 数据的导入: 1 将D:\daochu.dmp 中的数据导入TEST数据库中。 imp system/sql@TEST file=d:\daochu.dmp imp aichannel/aichannel@HUST full=y file=file= d:\data\newsmgnt.dmp ignore=y 上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。 在后面加上ignore=y 就可以了。 2 将d:\daochu.dmp中的表table1 导入 imp system/sql@TEST file=d:\daochu.dmp tables=(table1) 基本上上面的导入导出够用了。不少情况要先是将表彻底删除,然后导入。

如何写批处理文件自动将数据导入oracle数据库

如何写批处理文件自动将数据导入oracle数据库 Oracle数据库的自动导入与导出,在许多地方有广泛的应用.例如:一个Oracle数据库应用系统开发结束后,如果要将系统安装到客户计算机上,就需要将初始数据导入到用户的Oracle数据库中. 最近项目中也需要实现以上功能,花了点时间搜索实验,整理如下:先把要安装的初始数据文件导出为initial.dmp,然后在客户计算上安装好oracle,接着执行批处理文件impInitialData.bat(与该批处理文件同一目录还有createuser.sql,initial.dmp两个文件)impInitialData.bat中内容如下: @echo off sqlplus system/manager @createuser imp system/manager file=initial.dmp fromuser=initialuser touser=initialuser ignore = y上面的createuser是一个扩展名为sql的文件.与批处理文件放在同一目录下.其内容为: create user initialuser identified by test; grant dba,resource,connect to initialuser; exit;简要解释一下: @echo off 表示其之后的命令不在命令提示符窗口显示出来 sqlplus为oracle的一个工具程序,须先安装oracle后才能使用 system/manager 为oracle的一个默认管理员帐户,如果被锁定或更改密码了就不能用了,可以用其它的帐户/密码来替换; @createuser 表示执行createuser.sql文件 该sql文件中, create user xx identified by yy;表示创建一个密码为yy的用户xx; grant dba,resource,connect to xx;表示授权给用户xx dba,resource,connect 权限imp 为导入数据命令,后面的参数中file表示要导入的数据库文件;fromuser表示原导出的数据库文件的用户名;touser表示要导入的数据库的用户名;ignore表示忽略错误大致的方法就是这样,可以再增添其它命令来执行更复杂的操作.Oracle数据导入导出imp/exp 功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份。 大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢失)。 Oracle有个好处,虽然你的电脑不是服务器,但是你装了oracle客户端,并建立了连接 (通过net8 assistant中本地-->服务命名添加正确的服务命名 其实你可以想成是客户端与服务器端修了条路,然后数据就可以被拉过来了) 这样你可以把数据导出到本地,虽然可能服务器离你很远。 你同样可以把dmp文件从本地导入到远处的数据库服务器中。 利用这个功能你可以构建俩个相同的数据库,一个用来测试,一个用来正式使用。 执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行, DOS中可以执行时由于在oracle 8i 中安装目录\ora81\BIN被设置为全局路径, 该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。 oracle用java编写,我想SQLPLUS.EXE、EXP.EXE、IMP.EXE这俩个文件是被包装后的类文件。SQLPLUS.EXE调用EXP.EXE、IMP.EXE他们所包裹的类,完成导入导出功能。 下面介绍的是导入导出的实例,向导入导出看实例基本上就可以完成,因为导入导出很简单。

oracle数据库导入导出命令

Oracle数据导入导出imp/exp 功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份。 大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢失)。 Oracle有个好处,虽然你的电脑不是服务器,但是你装了oracle客户端,并建立了连接 (通过Net Configuration Assistant添加正确的服务命名,其实你可以想成是客户端与服务器端修了条路,然后数据就可以被拉过来了) 这样你可以把数据导出到本地,虽然可能服务器离你很远。 你同样可以把dmp文件从本地导入到远处的数据库服务器中。 利用这个功能你可以构建俩个相同的数据库,一个用来测试,一个用来正式使用。 执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行, DOS中可以执行时由于在oracle 8i 中安装目录\$ora10g\BIN被设置为全局路径, 该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。 oracle用java编写,我想SQLPLUS.EXE、EXP.EXE、IMP.EXE这俩个文件是被包装后的类文件。 SQLPLUS.EXE调用EXP.EXE、IMP.EXE他们所包裹的类,完成导入导出功能。 下面介绍的是导入导出的实例,向导入导出看实例基本上就可以完成,因为导入导出很简单。 数据导出: 1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp 中 exp system/manager@TEST file=d:\daochu.dmp full=y 2 将数据库中system用户与sys用户的表导出 exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys) 3 将数据库中的表table1 、table2导出 exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2) 4 将数据库中的表table1中的字段filed1以"00"打头的数据导出 exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\" 上面是常用的导出,对于压缩我不太在意,用winzip把dmp文件可以很好的压缩。 不过在上面命令后面加上 compress=y 就可以了 数据的导入 1 将D:\daochu.dmp 中的数据导入 TEST数据库中。 imp system/manager@TEST file=d:\daochu.dmp 上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。

PLSQL导入导出Oracle数据库方法

PL/SQLDeveloper导入导出Oracle数据库方法PL/SQL Developer是Oracle数据库用于导入导出数据库的主要工具之一,本文主要介绍利用PL/SQL导入导出Oracle数据库的过程。 1.Oracle数据库导出步骤 1.1 Tools→Export User Objects...选项,导出.sql文件。 说明:此步骤导出的是建表语句(包括存储结构)。 1.2 Tools→Export Tables...导出表结构及数据 PL/SQL工具包含三种方式导出Oracle表结构及数据,三种方式分别为:Oracle Export 、SQL Inserts、PL/SQL Developer,下面分别简单介绍下区别: 第一种方式导出.dmp格式的文件,.dmp是二进制文件,可跨平台,还能包含权限,效率不错,用的最为广泛。

第二种方式导出.sql格式的文件,可用文本编辑器查看,通用性比较好,效率不如第一种,适合小数据量导入导出。尤其注意的是表中不能有大字段(blob,clob,long),如果有,会提示不能导出(提示如下: table contains one or more LONG columns cannot export in sql format,user Pl/sql developer format instead)。 第三种方式导出.pde格式的文件,.pde为PL/SQL Developer自有的文件格式,只能用PL/SQL Developer工具导入导出,不能用文本编辑器查看。

2. 导入步骤(Tools→Import Tables...) 导入数据之前最好把以前的表删掉,当然导入另外的数据库数据除外。 2.1 Oracle Import 导入.dmp类型的oracle文件。 2.2 SQL Inserts

Oracle数据库迁移方法

Oracle 数据库迁移 1. 背景: 据项目实施人员反映,部署系统的过程中,有一个最大的问题,那就是平台数据库的迁移。经常会遇到表空间导出导入失败,或是导入过程中数据表丢失或是数据表虽然能导入,但表字段丢失等现象。针对这种情况,我仔细分析了一下:主要原因出在目前的exp/imp 这种数据导入导出工具存在比较大的缺陷,这种缺陷将在后面提到。相比目前这种方式,我这里提供一种比较方便稳定的数据库迁移方案。以下提到的方案,我也多次尝试验证了,并且还很实 在。 2. 数据库迁移方案: 实用环境:Oracle10g 或是以上版本。 原理:利用Oracle10g 提供的数据泵,快速加载以及卸载数据。优点:导入导出数据库快速比较快,且完整,性能稳定。缺点:这种方式只能在装有Oracle 服务器端的软件的机器上应用。完整方案: 这里模拟二个场景: 场景1:实现不同库下不同用户之间表空间的迁移。 假设通过Oracle 数据泵, A 用户UserA 将表空间TA 提取到 A.dmp,而后B用户UserB将A.dmp装载到表空间TB。 第一步:首先在源库(A) 上建一个目录,这个目录用于转储导入导出过程中的数据文件及日志文件。 create directory dumpdir as 'E:\dump'; 注:dumpdir为目录名,它是数据库中的目录对象名, “cdump':为对应的磁盘物理路径。 第二步:给用户授予目录的读写权限。(因为要写日志,这一步是必须的) grant read, write on directory dumpdir to UserA;

第三步:导岀用户UserA下的所有对象: expdp UserA/Password@orcl schemas=UserA dumpfile=expa.dmp DIRECTORY= dumpdir 注: 1、orcl为配置的用于从客户端连接Oracle的连接名。 2、dumpfile 中不能再包含路径 以上三步为数据导岀过程,下面几步为数据导入过程。 第四步:在目标库(B)上创建一表空间(TB)(如果不存),已存则直接到下一步。 CREATE TABLESPACE TB LOGGING DATAFILE 'F:\oracle\product\1020\oradata\orclDB\sde.dbf' SIZE 32M AUTOEXTEND ON NEXT 32M MAXSIZE 2048M EXTENT MANAGEMENT LOCAL; 以上是我本机测试代码 第五步:在目标库上创建用户UserB CREATE USER UserB IDENTIFIED BY "sagis" DEFAULT TABLESPACE TB; GRANT DBA TO UserB; 第六步:在目标库(B)上,创建一个目录对象,如果A、B位于同一个Oracle服务器上,则可以不创建,可以用第一步创建的dumpdir 对象。如果A、B位于不同Oracle服务器,则 需另外创建。 create directory dumpdir as 'c:\dump'; 以不同服务器上Oracle迁移为例,则此时要将第三步创建的expa.dmp 数据文件拷到B服务 器的c:\dump 目录下。 第七步:给用户授予目录对象的读写权限,同第二步。 grant read, write on directory dumpdir to UserB; 第八步:导入数据到B库上用户UserB的表空间TB下 impdp UserB/sagis@sgs directory=dumpdir dumpfile=expa.dmp remap_schema=UserA:UserB remap_tablespace=TA:TB,TC:TD

Oracle数据库迁移方法

Oracle数据库迁移 1.背景: 据项目实施人员反映,部署系统的过程中,有一个最大的问题,那就是平台数据库的迁移。经常会遇到表空间导出导入失败,或是导入过程中数据表丢失或是数据表虽然能导入,但表字段丢失等现象。针对这种情况,我仔细分析了一下:主要原因出在目前的exp/imp 这种数据导入导出工具存在比较大的缺陷,这种缺陷将在后面提到。相比目前这种方式,我这里提供一种比较方便稳定的数据库迁移方案。以下提到的方案,我也多次尝试验证了,并且还很实在。 2.数据库迁移方案: 实用环境:Oracle10g 或是以上版本。 原理:利用Oracle10g提供的数据泵,快速加载以及卸载数据。 优点:导入导出数据库快速比较快,且完整,性能稳定。 缺点:这种方式只能在装有Oracle服务器端的软件的机器上应用。 完整方案: 这里模拟二个场景: 场景1:实现不同库下不同用户之间表空间的迁移。 假设通过Oracle数据泵,A用户UserA 将表空间TA 提取到A.dmp,而后B用户UserB将A.dmp 装载到表空间TB。 第一步:首先在源库(A)上建一个目录,这个目录用于转储导入导出过程中的数据文件及日志文件。 create directory dumpdir as 'E:\dump'; 注:dumpdir为目录名,它是数据库中的目录对象名, “c:\dump”:为对应的磁盘物理路径。 第二步:给用户授予目录的读写权限。(因为要写日志,这一步是必须的) grant read, write on directory dumpdir to UserA;

第三步:导出用户UserA下的所有对象: expdp UserA/Password@orcl schemas=UserA dumpfile=expa.dmp DIRECTORY= dumpdir 注: 1、orcl为配置的用于从客户端连接Oracle的连接名。 2、dumpfile中不能再包含路径 以上三步为数据导出过程,下面几步为数据导入过程。 第四步:在目标库(B)上创建一表空间(TB)(如果不存),已存则直接到下一步。 CREATE TABLESPACE TB LOGGING DATAFILE 'F:\oracle\product\10.2.0\oradata\orclDB\sde.dbf' SIZE 32M AUTOEXTEND ON NEXT 32M MAXSIZE 2048M EXTENT MANAGEMENT LOCAL; 以上是我本机测试代码 第五步:在目标库上创建用户UserB CREATE USER UserB IDENTIFIED BY "sagis" DEFAULT TABLESPACE TB; GRANT DBA TO UserB; 第六步:在目标库(B)上,创建一个目录对象,如果A、B位于同一个Oracle服务器上,则可以不创建,可以用第一步创建的dumpdir对象。如果A、B位于不同Oracle服务器,则需另外创建。 create directory dumpdir as 'c:\dump'; 以不同服务器上Oracle迁移为例,则此时要将第三步创建的expa.dmp数据文件拷到B服务器的c:\dump目录下。 第七步:给用户授予目录对象的读写权限,同第二步。 grant read, write on directory dumpdir to UserB; 第八步:导入数据到B库上用户UserB的表空间TB下 impdp UserB/sagis@sgs directory=dumpdir dumpfile=expa.dmp remap_schema=UserA:UserB remap_tablespace=TA:TB,TC:TD

相关文档
相关文档 最新文档