oracle不同表空间导入导出,如何在不同的表空间中导入oracle转储

你在这里有几个问题。

首先,您使用的Oracle的不同版本是表统计错误的原因 – 我有一个问题,当我们的一些Oracle 10g数据库升级到版本2,一些仍然在版本1和我正在交换。 DMP文件。

对我有用的解决方案是使用相同版本的exp和imp工具在不同的数据库实例上导出和导入。通过使用同一台PC(或Oracle Server)发出所有导出和导入命令,这是最容易的。

其次,我怀疑你得到的ORA-00959:tablespace’A_TBLSPACE’不存在,因为你试图将一个.DMP文件从一个成熟的Oracle数据库导入到10g快速版(XE)数据库,默认情况下为您创建一个名为USERS的单个预定义表空间。

如果是这样,那么您需要执行以下操作。

>使用.DMP文件,创建包含结构(Tables)的SQL文件:

imp< xe_username> /< password> @XE file =< filename.dmp> indexfile = index.sql full = y

>在文本编辑器中打开索引文件(index.sql),可以在整个文件中查找和替换,并发出以下find和replace语句IN ORDER(忽略单引号..’):

查找:“REM< space>替换:< nothing>

查找:’“< source_tablespace>”’替换:’“USERS”’

查找:’…’替换:’REM …’

查找:“CONNECT”替换:“REM CONNECT”

>保存索引文件,然后对您的Oracle Express Edition帐户运行它(我发现最好创建一个新的空白XE用户帐户 – 或者如果我刷新,删除并重新创建):

sqlplus< xe_username> /< password> @XE @ index.sql

>最后运行相同的.DMP文件,您为相同的帐户创建索引文件以导入数据,存储过程,视图等:

imp< xe_username> /< password> @XE file =< filename.dmp> fromuser =< original_username> touser =< xe_username> ignore = y

当尝试创建某些对象(如数据库作业)时,您可能会收到Oracle错误的页面,因为Oracle将尝试使用相同的数据库标识符,这将很可能会失败,因为您在不同的数据库。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值