十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
需要被复制到的用户有查询被导出用户的查询权限。
创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于网站设计、成都网站设计、金台网络推广、小程序定制开发、金台网络营销、金台企业策划、金台品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联公司为所有大学生创业者提供金台建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com
如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;
1、再建一个用户jack,从原有的用户中把数据及表结构导出,导入到jack用户里。
备注:Oracle里的数据存储方式跟SQLServer不一样,SQLServer是一个服务可以有多个数据库,Oracle是一个服务对应一个数据库(安装好Oracle数据库后,服务名就是数据库);Oracle里的表是对应用户的,比如用jack用户建表的话,表空间默认是跟随jack的。其他的用户是看不到这个jack用户的表的。
一般最高权限需要connect,resource,dba这三个即可。
语句:
1
grant connect,resource,dba to 用户;
权限说明:
dba:拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。resource:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。connect:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。
可以使用复制表语句实现。
如下:
select 'create table A.'|| a.table_name || ' as select * from '|| 'B.'||a.table_name||';' from dba_tables a where owner='B';
以上语句的查询结果为:生成复制所有B用户下的表到A用户的SQL。
批量执行查询结果就可以了,你只需要修改A、B用户即可
上面sql查询结果效果如下: