oracle导出数据库的时候提示:这些对象由***导出,而不是当前用户

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle导出数据库的时候提示:这些对象由***导出,而不是当前用户相关的知识,希望对你有一定的参考价值。

oracle导出数据库的时候提示:这些对象由***导出,而不是当前用户,这个是什么意思,我要怎么解决呢

你这个错误信息,应该是在导入数据时报出来的、而不是导出数据时吧?

oralce中的对象(table、view、procedure等)都是放在schema下面的。这个schema与用户相对应,你可以把它理解为“命名空间”。不同用户的schema下面,可以拥有同名的对象,互不干扰。

基于以上的条件,若你导出user1的schema的表,再试图把它导入user2的schema,则就会爆出你遇到的错误信息。

若要解决这个问题,只要在导入时指明转换用户schema就可以了。例如:

# 将其他用户的对象导入当前用户
imp system/manager file=backup.dmp fromuser=user1
imp system/manager file=backup.dmp fromuser=(user1,user2)
# 将其他用户的对象导入到指定用户
imp system/manager file=backup.dmp fromuser=user1 touser=user2
imp system/manager file=backup.dmp fromuser=(user1,user2) touser=(user3,user4)

参考技术A 这个就是说 你导出这些数据的用户名和你现在要到如的 用户名不一致,
如果表里面有blog字段 那么就要 用同名表空间 如果没得 ,就直接加
remap_schema 原用户名:新用户名 即可
参考技术B 你获取系统权限之后再导出数据库吧!这样就不会有这些问题了

向oracle数据库中添加数据时提示ORA-00947: 没有足够的值

ORA-00947:
Not
enough
values
执行insert的时候出现这个错误。
insert
into
表1
values
(123,2423,12);
表1的结构有4个column,显然插入的值只有三个,因此才会出现这个问题。
再加个column
的值执行后,ok。
倘若只想插入三个数值的话:
insert
into
表1(a,b,c)
values
(123,2423,12);
用这个语句就可以了。
参考技术A 看下表a的表结构,看看是不是有必填字段漏insert了

以上是关于oracle导出数据库的时候提示:这些对象由***导出,而不是当前用户的主要内容,如果未能解决你的问题,请参考以下文章

oracle expdp导出报错,提示package不能调用

用cmd导入oracle数据库时报视图错误,大神给看看

oracle imp 导入数据库出错 请看log!

oracle sql deveploper数据库的导入导出

oracle怎么导出含有Clob大数据字段类型的表

ORACLE导入导出命令 GRANTS=Y会是啥结果