oracle导入命令详解,oracle数据导入导出imp/exp命令 详解

--如何在oracle中导入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 来实现。

数据的导入

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 -

productionwith the partitioning optionjserver 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

附录三

EXP、IMP 命令详解

命令详解:

E:\>exp help=y

通过输入 EXP 命令和用户名/口令,您可以

在用户 / 口令之后的命令:

实例: EXP SCOTT/TIGER

或者,您也可以通过输入跟有各种参数的 EXP

命令来控制“导出”的运行方式。

要指定参数,您可以使用关键字:

格式: EXP KEYWORD=value 或

KEYWORD=(value1,value2,...,valueN)

实例: EXP SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR)

或 TABLES=(T1: P1,T1: P2),如果 T1 是分区表

USERID 必须是命令行中的第一个参数。

关键字 说明(默认)

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

USERID 用户名/口令

FULL 导出整个文件 (N)

BUFFER 数据缓冲区的大小

OWNER 所有者用户名列表

FILE 输出文件 (EXPDAT.DMP)

TABLES 表名列表

COMPRESS 导入一个范围 (Y)

RECORDLENGTH IO 记录的长度

GRANTS 导出权限 (Y)

INCTYPE 增量导出类型

INDEXES 导出索引 (Y)

RECORD 跟踪增量导出 (Y)

ROWS 导出数据行 (Y)

PARFILE 参数文件名

CONSTRAINTS 导出限制 (Y)

CONSISTENT 交叉表一致性

LOG 屏幕输出的日志文件

STATISTICS 分析对象 (ESTIMATE)

DIRECT 直接路径 (N)

TRIGGERS 导出触发器 (Y)

FEEDBACK 显示每 x 行 (0) 的进度

FILESIZE 各转储文件的最大尺寸

QUERY 选定导出表子集的子句

下列关键字仅用于可传输的表空间

TRANSPORT_TABLESPACE 导出可传输的表空间元数据 (N)

TABLESPACES 将传输的表空间列表

E:\>imp help=y

可以通过输入 IMP 命令和您的用户名/口令

跟有您的用户名 / 口令的命令:

实例: IMP SCOTT/TIGER

或者, 可以通过输入 IMP

命令和各种自变量来控制“导入”按照不同参数。

要指定参数,您可以使用关键字:

格式: IMP KEYWORD=value 或

KEYWORD=(value1,value2,...,vlaueN)

实例: IMP SCOTT/TIGER IGNORE=Y TABLES=(EMP,DEPT) FULL=N

或 TABLES=(T1: P1,T1: P2),如果 T1 是分区表

USERID 必须是命令行中的第一个参数。

关键字 说明(默认)

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

USERID 用户名/口令

FULL 导入整个文件 (N)

BUFFER 数据缓冲区大小

FROMUSER 所有人用户名列表

FILE 输入文件 (EXPDAT.DMP)

TOUSER 用户名列表

SHOW 只列出文件内容 (N)

TABLES 表名列表

IGNORE 忽略创建错误 (N)

RECORDLENGTH IO 记录的长度

GRANTS 导入权限 (Y)

INCTYPE 增量导入类型

INDEXES 导入索引 (Y)

COMMIT 提交数组插入 (N)

ROWS 导入数据行 (Y)

PARFILE 参数文件名

LOG 屏幕输出的日志文件

CONSTRAINTS 导入限制 (Y)

DESTROY 覆盖表空间数据文件 (N)

INDEXFILE 将表/索引信息写入指定的文件

SKIP_UNUSABLE_INDEXES 跳过不可用索引的维护 (N)

ANALYZE 执行转储文件中的 ANALYZE 语句 (Y)

FEEDBACK 显示每 x 行 (0) 的进度

TOID_NOVALIDATE 跳过指定类型 id 的校验

FILESIZE 各转储文件的最大尺寸

RECALCULATE_STATISTICS 重新计算统计值 (N)

下列关键字仅用于可传输的表空间

TRANSPORT_TABLESPACE 导入可传输的表空间元数据 (N)

TABLESPACES 将要传输到数据库的表空间

DATAFILES 将要传输到数据库的数据文件

TTS_OWNERS 拥有可传输表空间集中数据的用户

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值