oracle数据库的数据从一个用户复制到另一个用户

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle数据库的数据从一个用户复制到另一个用户相关的知识,希望对你有一定的参考价值。

例如说将system用户名下的一个数据表拷贝到scott用户名下。。。。。。谢谢!!!!

需要被复制到的用户有查询被导出用户的查询权限。

如system用户要将scott中的emp表导入其中,按如下方法:

1、登录scott用户。

2、给system用户赋予查询emp表的权限:

grant select on emp to system;

3、登录system用户。

4、执行以下语句:

create table emp as select * from scott.emp;
参考技术A 跨用户没法实现呢,你想想,如果你能拷贝的话,那么就相当于一个库里就有两张名字,字段相同的表了,这个没法一步实现
你也只能是先导出system的表,然后导入到scott用户,
你的想法说句实话对日常生活的程序是没什么太大意义的,你感觉呢,你要说多表查询,用到联合查询还有点意思,或者复制一个表里面的数据到另外一个表里面,前提必须是同一个用户库下的,
其实你说的你只能是复制,粘贴、或者是导出,导入,别想那么复杂的过程了,还是按部就班的一步一步的来吧
只是建议,你要研究出高端方法,我也想学学,追问

可是我用system导入表示可以的,当用其他用户是,例如scott导入表就不能成功。。。。请问这是怎么回事

追答

这个是权限问题,system。还有dba那个用户的权限太大,scott是普通用户,权限小的问题了,其实我知道你说的,system用户,基本上能看到所用用户的表的,但是通常没人会这么干,都是需要什么表就建什么表,导出导入的得看用户需求,通常不会按你说的那么办
insert into tablename 然后一个select另外一张表就完全可以复制了

本回答被提问者采纳
参考技术B 我的system用户下没有表,所以就把scott下的emp表拿来用了一下。

首先在system下创建一个emp表,表结构与scott用户下的一样。

然后执行下边的语句,就会把数据拷贝过来。
insert into system.emp select * from scott.emp;
参考技术C 给分吧

将人员的记录从一个数据库复制到另一个数据库 - Oracle和Java

我有一个要求。让我们假设一个酒店管理系统,我们有记录,如Booking,RoomType,User extra。

假设系统正在生产中。我需要将与预订相关的所有记录复制到另一个环境,如系统测试。这是为了确保我们能够在系统测试环境中复制缺陷。很多时候我们无法在系统测试中复制缺陷,但问题发生在prod中。由于我们确实可以访问prod,因此我们的想法是编写一个批处理,它将获取一个参数(例如预订ID)并将所有相关表中的所有记录复制到xml或者可能是某些内容。

我们将把这个xml作为在我们的系统测试环境中运行批处理的输入,这样我们就可以在我们的环境中复制相同的数据。

有人做过类似的事吗?你有更好的想法去实现我打算实现的目标吗?

P.S:我们假设我的目标和源数据库现在是oracle。

由于数据敏感,我们无法获得整个数据库转储。我们打算从数据库中取出记录并对其进行匿名化。

答案

我建议使用oracle的数据泵功能转储整个数据库(如果可用)。这就是我们在不影响生产环境的情况下调试问题的方法。

你可以在这里阅读所有相关内容和要求:qazxsw poi

它可以安全使用(用于输出生产环境)并且速度非常快。根据您的用户权限,您可能需要DBA来帮助您解决这个问题。

以上是关于oracle数据库的数据从一个用户复制到另一个用户的主要内容,如果未能解决你的问题,请参考以下文章

请问oracle怎么从dmp文件只恢复一张表的数据,恢复到另一个用户中

oracle中怎么复制一个同样的用户

在oracle中怎么把一张表的数据插入到另一张表中

ORACLE11g将数据库内容全部复制,并将其加为本数据库的一个新实例

oracle中如何将数据从一个表复制到另一个表(仅复制其中某些字段)

oracle怎么把数据库的表复制到另外一个数据库