oracle导入索引b报错,数据迁移:oracle数据库表结构导出exp、导入imp

导出一个用户(userA)下的表结构到另一个用户(userB)下:

第一次使用的是exp、imp命令,同事告诉我可以使用expdp、impdp,两者差异不大,但是后者的功能更多一点,比如导入数据表空间的问题,impdp可以直接使用"remap_tablespace",下一篇文章在粗略的写一下。

导出:

$exp userA/userApwd@oracle file=/home/uat2cu/sjqywj/usera.dmp log=user.log rows=n tables='(table_name1,table_name2)' owner=userA;

$exp userA/userApwd@oracle file=/home/uat2cu/sjqywj/xxx.dmp log=xxx.log rows=n tables=’(table_name1,table_name2)’;

exp可选参数:

参数

备注

owner=userA

导出用户userA的数据表

rows=n

只导出表结构、不导出表数据,默认为 y

tables = (name1,name2)

导出指定的表。在linux中会报错syntax error near unexpected token `(’ 解决方法,在括号两边加 ‘引号

full=y

表示导出全部数据,如视图、索引关联关系等

query

query=\“where id < 100\” 引号要通过转义符转义

inctype

增量导出模型,oracle9i的参数已经被废弃

可以将参数组织成.par文件导出数据,建立一个forexp.par文件,文件内容为exp导出参数,eg:

// forexp.par

file = /home/uat2cu/sjqy/usera.dmp

log = user.log

full = y

rows = n

owner = userA

table = (name1,name2)

query = "where id < 100"

$exp userA/userApwd@oracle parfile = forexp.par

导入:

$ imp userB/userBpwd@oracle file=/home/uat2cu/sjqywj/xxx.dmp log=xxx.log fromuser=userA touser=userB commit=y ignore=y tablespaces=表空间

ignore=y(表示忽略错误创建)

$ imp userB/userBpwd@oracle file=/home/uat2cu/sjqywj/usera.dmp log=user.log ignore=y

imp可选参数(常用)

参数

备注

fromuser

所有人用户名列表

tables

要导入的表名

ignore

忽略错误创建,默认为n

commit

数据分批提交,对大的数据进行imp操作应该使用commit=y参数,防止imp中断,数据回滚占用更多时间

rows

导入表数据,默认为Y

indexes

导入索引,默认为Y

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值