Oracle数据导入导出imp-exp

Oracle数据导入导出imp-exp
Oracle数据导入导出imp-exp

2009-03-12 14:04

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@TESTDB2file= 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 来实现。

数据的导入

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

imp system/manager@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/manager@TEST file=d:\daochu.dmp tables=(table1)

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

注意:

操作者要有足够的权限,权限不够它会提示。

数据库时可以连上的。可以用tnsping TEST 来获得数据库TEST能否连上。

附录一:

给用户增加导入数据权限的操作

第一,启动sql*puls

第二,以system/manager登陆

第三,create user 用户名 IDENTIFIED BY 密码(如果已经创建过用户,这步

可以省略)

第四,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 用户名字

第五, 运行-cmd-进入dmp文件所在的目录,

imp userid=system/manager full=y file=*.dmp

或者 imp userid=system/manager full=y file=filename.dmp

执行示例:

F:\Work\Oracle_Data\backup>imp userid=test/test full=y

file=inner_notify.dmp

屏幕显示

Import: Release 8.1.7.0.0 - Production on 星期四 2月 16 16:50:05 2006 (c) Copyright 2000 Oracle Corporation. All rights reserved.

连接到: Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production

With the Partitioning option

JServer Release 8.1.7.0.0 - Production

经由常规路径导出由EXPORT:V08.01.07创建的文件

已经完成ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的导入

导出服务器使用UTF8 NCHAR 字符集 (可能的ncharset转换)

. 正在将AICHANNEL的对象导入到 AICHANNEL

. . 正在导入表 "INNER_NOTIFY" 4行被导入

准备启用约束条件...

成功终止导入,但出现警告。

附录二:

Oracle 不允许直接改变表的拥有者, 利用Export/Import可以达到这一目的. 先建立import9.par,

然后,使用时命令如下:imp parfile=/filepath/import9.par

例 import9.par 内容如下:

FROMUSER=TGPMS

TOUSER=TGPMS2 (注:把表的拥有者由FROMUSER改为TOUSER,

FROMUSER和TOUSER的用户可以不同)

ROWS=Y

INDEXES=Y

GRANTS=Y

CONSTRAINTS=Y

BUFFER=409600

file==/backup/ctgpc_20030623.dmp

log==/backup/import_20030623.log

Oracle数据库导入导出程序

2008年08月12日星期二 12:43

1.Export工具是一个导出程序

语法:

exp UserId/Password@数据库全局名 file=DMP文件的目录其它参数

获取帮助,敲入:exp help=y

Export常用的参数(1)

Direst 选择是否采用直接路径导出

File指定导出文件名

Full Full=Y将整个数据库导出

Incremental导出上次Incremental 、Cumulative、Complete导出而改变的所

有对象

Cumulative 导出上次Cumulative、Complete导出后改变的所有对象

Complete 导出所有的对象

Indexes 指定索引是否被导出

Export常用的参数(2)

Log 指定日志的文件名

Owner 允许为指定的用户导出对象

Parfile 允许从一个文件读取导出参数

Query 指定从表中导出符合条件的行

Record 指定是否在导出系统表中记录Incremental或Cumulative导出,默认为Y

Rows 控制表数据是否被导出

Tables 允许导入一个或多个表

Triggers 指定触发器是否和表一起导出

2.Import工具是一个导入程序

语法:

imp UserId/Password@数据库全局名 file=DMP文件的目录其它参数

获取帮助,敲入:imp help=y

Import常用的参数(1)

File 指定导入文件名

Fromuser 允许导入指定的用户拥有的表

Full full=Y时,导入DMP文件中所有的事物

Ignore 为Y时,如果数据出错,将继续下一行数据

Indexes 是否导入索引

Log 指定日志文件

Parfile 指定从文件中读导出参数

Rows 指定是否导入表的数据

Import常用的参数(2)

Show 指定显示全部要被执行的参数

Tables 指定导入一个或多个表

Touser 指定导入到哪个用户名下

Userid 指定导入的用户的用户名和密码

3.SQL*Loader简介

SQL*Loader从文本文件导数据到数据库中。功能包括:

从定界文件装数据

从固定长度的文本文件装数据

从二进制文件装数据

在输入文件中过滤数据

SQL*Loader使用的数据类型

Char:该char和数据库中的char类型不同,它包括数据库中的char、varchar、CLOB等类型

Date:时间类型

Interger external:定义整数值

Decimal external:定义包括小数点的数值

装载字段固定长度的文件

一个例子:

Load data

infile ‘yyb_data.txt’

append

Into table emp

( name position(1:10) char,

rank position(11:13) interger external,

birthday position(13:23) date “dd-mm-yyyy”

)

导入有界定符的文件

一个例子:

Load data

Infile ‘c:\yyb.txt’

append

Into table emp

( name char terminated by ‘,’,

rank interger external terminated by ‘,’,

birthday date “dd-mm-yyyy” terminated by ‘,’

)

导入有界定符的文件 (续)

再看一个例子(处理空字段):

Load data

Infile ‘c:\yyb.txt’

append

Into table emp

trailing nullcols

( name char terminated by ‘,’,

rank interger extern al terminated by ‘,’,

birthday date “dd-mm-yyyy” terminated by ‘,’ )

如何把数据放到表中

从前面的例子中可以看出,它们都包含关键字append,还有其它的关键字:Insert:指定要装载的是空表,否则失败

Append:添加数据到表,即使表中有数据

Replace:加载前,将删除表中的所有数据

Truncate:与replace同

使用SQL*Loader命令和参数

命令语法为:

sqlldr [param=value [,para m= valus … ] ]

参数:

Userid 用户名和密码

Control 指定控制文件名,也就是存放前面的胶片中的代码的文件

Log 指定日志文件名

Bad 指定存放坏记录的文件名

SQL*Loader参数(续前)

Data 指定数据文件名

Skip 允许跳过的记录数量

Load 允许装入的记录数量

Errors 指定允许的错误数

Rows 指定装载多少条记录提交一次

Direct 可以指定为直接路径装载

Parfile 指定包含命令参数的文件名

举个例子来说明:

(1)先创建一张表:

create table test_load(

stu_num number(10,0),

stu_name varchar2(50),

stu_date date

)

(2)准备数据文件(可以采用spool导出,再下来会讲到): dateFile.txt "1234","niegc","2006-01-01"

"1235","ngc","2006-01-02"

(3)写控制文件(必须注意每一个字段的位置,和时间字段的格式):loader.ctl Load data

infile 'F:\test\dateFile.txt'

Append into table test_load

fields Terminated by "," Optionally enclosed by'"'

(

stu_num,

stu_name,

stu_date date "YYYY-MM-DD"

)

(3)执行sqlldr

C:\Documents and Settings\Administrator>sqlldr niegc/niegc

control=f:\test\loader.ctl log=f:\test\aaaaaa.log

SQL*Loader: Release 9.2.0.1.0 - Production on 星期三 4月 26 22:06:35 2006

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

达到提交点,逻辑记录计数2

成功了,是不是很简单,append 还是insert 上面有说明的哦.

4.Spool简介

spool 是数据的导出命令,最简单的执行如下:

用sqlplus 登陆:

SQL>spool f:\test\bbb.txt

SQL> select * from test_load;

STU_NUM

STU_NAME STU_DATE

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

----------

1234 niegc 01-1月-06

1235 ngc 02-1月-06

SQL> spool off

这样就可以导出了

如果你想导出自己定义的格式,你可以先set 参数然后再spool

例如:

SET COLSEP ' '

SET ECHO OFF

SET FEEDBACK OFF

SET HEADING OFF

SET PAGESIZE 0

SET LINESIZE 1000

SET NUMWIDTH 12

SET TERMOUT OFF

SET TRIMOUT ON

SET TRIMSPOOL ON

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 数据泵导出和导入 精品

Oracle10g数据导入导出 简介 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 端继续执行,随后通过客户端实用程序从任何地方检查任务的状态和进行修改创建DIRECTORY DATA PUMP要求为将要创建和读取的数据文件及日志文件创建目录,这个参数是用来定义一个目录,前面已经提到数据泵主要在Server端工作,导出文件需要写出到Server端本地目录,这个DIRECTORY就是对应的Server 端的目录。将要访问数据泵文件的用户必须要拥有该目录的读/写权限。 注意:在开始操作之前要验证外部目录是否存在,并且下达create directory 命令的用户需要拥有create any directory的系统权限。 下面给出一个创建名为TEST_EXPDP的目录并授予hs_user,hs_his用户访问此目录读/写权限。

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; 需注意的是:该值设置后对以前导入的空表不产生作用,仍不能导出,只能对后面新增的表产生作用。如需导出之前的空表,只能用第一种方法。

PLSQLDeveloper导出导入数据库

一、 二、 1 导出存储过程,触发器,序列等所有用户对象。(备份) 在PL/SQL Developer的菜单Tools(工具) => Export User Objects(导出用户对象)中出来一个对话框界面

附上中文版:

备注: 建议红色框住部分都不选,这样执行这个sql 时,就根据当前你的登录账户来进行创建。在对象列表中ctrl+a 全选所有(如果你只导出部分,可单独选择) 设置输出文件地址,文件名。点击导出完成。 2 导出数据。(备份) 在PL/SQL Developer的菜单Tools(工具) => 导出表中出来一个对话框界面

如果数据量较大,选择oracle导出,勾压缩选项,然后设置输出文件地址。如果只导出部分数据,可以在Where 处添加条件。例如rownum<=1000 ( 导出1000条记录),此种方式导出dmp 格式文件。 如果数据量较小,可以选择sql 插入,此种方式导出sql文件。 如果数据量较小,可以选择sql 插入,此种方式导出sql文件。 上图的选项,勾选约束,索引,行数,触发器。 注意:如果表中包含clob 或nclob 字段,就只能用dmp格式进行导入,如果是少量表,不包含这种字段,可以用sql插入方式。 还原时,注意需要先还原dmp文件。 3 表数据还原。 a. 如果dmp 文件,那么在PL/SQL Developer的菜单Tools(工具) => 导入表中出来一个对话框界面 可以在“到用户” 处选择你登录的账户。 b 如果是sql 格式文件,一样在PLSQL中新建一个命令窗口(command windows),粘贴(ctrl+v)刚才负责的sql内容。然后就开始自动执行还原了。 4 还原其他对象(存储过程,触发器,序列,函数等)

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按用户导入导出数据

Oracle数据库exp imp按用户导出导入实例 按用户导出再导入实例,任务要求如下: ◆1.从一台windows服务器 A 上导出 Test1 这个用户的所有对象,然后导入到linux服务器 B 上的 Test2用户。(已知Test1密码为Test1passwd 或者用system用户导出也行) ◆2.B机器上Test2用户不存在,或Test2用户已经存在两种情况(用户存在相对比较复杂) ---------如果Test2用户已经存在(数据没用,可以删除),级联删除用户及所有对象(有可能遇到有人正在连接,删除不掉的情况方法参照下文),重新创建账号并赋权。 ◆3.赋予适当的权限 操作步骤: ◆1.从 A 上导出数据文件到指定目录(目录名称自己定义,只要自己能找到就行,和用户名没有关系) sqlplus /nolog conn / as sysdba exp Test1/Test1passwd owner=Test1 file=D:\files\Test1.dmp ◆2.在A机器上查看用户默认表空间,以便导入时创建一样的表空间 SQL> select username,default_tablespace from dba_users where username ='TEST1'; USERNAME DEFAULT_TABLESPACE ------------------------------ ------------------------------ TEST1 CMIS ◆3.查看用户使用的表空间 SQL> select DISTINCT owner ,tablespace_name from dba_extents where owner like 'TEST1'; OWNER TABLESPACE_NAME ------------------------------ ------------------------------ TEST1 XSL TEST1 CMIS ◆4.查看表空间对应的数据文件,以便在B上创建大小合适的数据文件。 SQL> select file_name,tablespace_name from dba_data_files where tablespace_name in ('CMIS','XSL'); FILE_NAME BYTES TABLESPACE ------------------------------------------------------------ ---------- ---------- D:ORACLEPRODUCT10.2.0ORADATACMISDBCMIS 8728346624 CMIS D:ORACLEPRODUCT10.2.0ORADATACMISDBCMIS01.ORA 8204058624 CMIS D:ORACLEPRODUCT10.2.0ORADATACMISDBCMIS02.ORA 4194304000 CMIS D:ORACLEPRODUCT10.2.0ORADATACMISDBCMIS03.ORA 4194304000 CMIS D:ORACLEPRODUCT10.2.0ORADATACMISDBCMIS04.ORA 4194304000 CMIS D:ORACLEPRODUCT10.2.0ORADATACMISDBCMIS05.ORA 4194304000 CMIS

Oracle表的导入导出

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 来实现。 数据的导入: 1 将D:\daochu.dmp 中的数据导入 TEST数据库中。 imp system/manager@TEST file=d:\daochu.dmp

Oracle数据的导入导出(数据泵的使用)

Oracle数据泵的使用 使用数据泵导出数据 1、连接Oracle数据库 SQL> conn / as sysdba 已连接。 2、创建一个操作目录 SQL> create directory dump_dir as 'e:\dump'; 注意同时需要使用操作系统命令在硬盘上创建这个物理目录。 目录已创建。 3、使用以下命令创建一个导出文件目录 hr用户操作dump_dir目录的权限, SQL>grant read,write on directory my_dir to scott; 授权成功。 4、使用命令expdp导出数据(可以按照用户模式导出、按照表、按照表空间导出和全库导出) C:\>expdp scott/tiger directory=dump_dir dumpfile=20090517scotttab.dmp tables=dept,emp s= Export: Release 10.2.0.1.0 - Production on 星期三, 18 6月, 2008 15:49:00 Copyright (c) 2003, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 启动"SCOTT"."SYS_EXPORT_TABLE_01": scott/******** directory=dump_dir dumpfile=20080601.dmp table dept,emp 正在使用BLOCKS 方法进行估计... 处理对象类型TABLE_EXPORT/TABLE/TABLE_DA TA 使用BLOCKS 方法的总估计: 128 KB 处理对象类型TABLE_EXPORT/TABLE/TABLE 处理对象类型TABLE_EXPORT/TABLE/INDEX/INDEX 处理对象类型TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT 处理对象类型TABLE_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT . . 导出了"SCOTT"."DEPT" 5.656 KB 4 行

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 上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。

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 口令)。

oracle EXP导入导出表

C:\Documents and Settings\Administrator>exp Export: Release 10.1.0.2.0 - Production on 星期一10月11 21:22:09 2010 Copyright (c) 1982, 2004, Oracle. All rights reserved. 用户名: scott 口令:tiger 连接到: Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production With the Partitioning, OLAP and Data Mining options 输入数组提取缓冲区大小: 4096 > 导出文件: EXPDA T.DMP > e:\dump\dept.dmp (2)U(用户), 或(3)T(表): (2)U > t 导出表数据(yes/no): yes > yes 压缩区(yes/no): yes > yes 已导出ZHS16GBK 字符集和AL16UTF16 NCHAR 字符集 即将导出指定的表通过常规路径... 要导出的表(T) 或分区(T: P): (按RETURN 退出) > dept . . 正在导出表DEPT导出了 4 行 要导出的表(T) 或分区(T: P): (按RETURN 退出) > emp . . 正在导出表EMP导出了14 行 要导出的表(T) 或分区(T: P): (按RETURN 退出) > 导出成功终止, 但出现警告。 C:\Documents and Settings\Administrator>

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他们所包裹的类,完成导入导出功能。 下面介绍的是导入导出的实例,向导入导出看实例基本上就可以完成,因为导入导出很简单。

相关文档
最新文档