Oracle创建新用户并将某一用户的表导进来

匿名 (未验证) 提交于 2019-12-02 23:52:01

一、建立测试账号

进入sqlplus(以管理员身份)

sqlplus / as sysdba;

create user user1 identified by user1; //创建用户名并指定密码

授予相应权限

grant create session to user1;

grant create table to user1;

grant unlimited tablespace to user1;

grant connect to user1;

grant resource to user1;

grant dba to user1;

二、导出数据

1,导出老用户数据

shell 环境下支持exp imp命令

exp user_old/user_old_pass file=/tmp/data.dmp

将userold的数据到处到了指定目录

2,导出真个数据库的表(需要dba权限)

exp user_old/user_old_pass file=/tmp/data.dmp full=y

3,导出数据库定义而不导出数据

exp user_old/user_old_pass file=/tmp/data.dmp full=y row=n

4,导出一个或一组指定用户所属的全部表、索引和其他对象

exp system/manager file=seapark log=seapark owner=seapark
exp system/manager file=seapark log=seapark owner=(seapark,amy,amyc,harold)
5,导出一个或多个指定表

exp seapark/seapark file=tank log=tank tables=tank
exp system/manager file=tank log=tank tables=seapark.tank
exp system/manager file=tank log=tank tables=(seapark.tank,amy.artist)

三、导入数据

1,数据导入到新用户

imp user_new/pass_user_new file=/tmp/data.dmp fromuser=user_old touser=user_new

就将老用户的数据倒进了新用户中了

2,提示无法导入,需要DBA权限之类

赋予新用户相应权限

grant sysdba to user1;

grant imp_full_database;

然后登出执行

imp user_new/pass_user_new file=/tmp/data.dmp full=y;

即可将不知道用户名的dmp导入到新用户。

3,有时总是提示无DBA权限,但实际上已经赋予了DBA权限,这是可能是这个账户的默认角色有问题

执行

ALTER USER user1 DEFAULT ROLE ALL;

然后再登出执行

imp user_new/pass_user_new file=/tmp/data.dmp full=y;

即可。

文章来源: https://blog.csdn.net/qq_42714617/article/details/97264209
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!