oracle中复制一个用户

oracle中复制一个用户

现场人员需要将USRDB用户复制出来,弄个USRDB1用户,在这个用户上导入数据做测试。

复制方案的思路:
1.查USRDB的默认表空间,PROFILE,系统权限,对象权限,角色,
2.建新用户,授权,
3.导出USRDB方案
4.导入方案

步骤如下:

  1. -- 1.查USRDB用户的信息  
  2. SQL> select default_tablespace, temporary_tablespace,profile from dba_users where username='USRDB';  
  3.   
  4. DEFAULT_TABLESPACE             TEMPORARY_TABLESPACE           PROFILE  
  5. ------------------------------ ------------------------------ ------------------------------  
  6. CBS_USER_DAT                   TEMP                           DEFAULT  
  7.   
  8.   
  9. -- 2.建USRDB1用户  
  10. SQL> create user USRDB1 identified by USRDB1 default tablespace CBS_USER_DAT;  
  11.   
  12. -- 3.查出USRDB的系统权限,对象权限,角色  
  13. SQL> select 'grant '||privilege||' to USRDB1;' from dba_sys_privs where grantee='USRDB';  -->系统权限  
  14.   
  15. 'GRANT'||PRIVILEGE||'TOUSRDB1;'  
  16. ----------------------------------------------------------  
  17. grant CREATE ANY SEQUENCE to USRDB1;  
  18. grant CREATE SEQUENCE to USRDB1;  
  19. grant CREATE VIEW to USRDB1;  
  20. grant UNLIMITED TABLESPACE to USRDB1;  
  21. grant CREATE ANY TRIGGER to USRDB1;  
  22. grant CREATE PROCEDURE to USRDB1;  
  23. grant CREATE ANY PROCEDURE to USRDB1;  
  24. grant CREATE ANY TABLE to USRDB1;  
  25.   
  26. rows selected.  
  27.   
  28. SQL> select 'grant '||privilege||' on '||table_name||' to USRDB1;' from dba_tab_privs where grantee='USRDB';  -->对象权限  
  29.   
  30. no rows selected  
  31.   
  32. SQL> select 'grant '||granted_role||' to USRDB1;' from dba_role_privs where grantee='USRDB';  -->角色  
  33.   
  34. 'GRANT'||GRANTED_ROLE||'TOUSRDB1;'  
  35. ------------------------------------------------  
  36. grant RESOURCE to USRDB1;  
  37. grant CONNECT to USRDB1;  
  38. grant DBA to USRDB1;  
  39.   
  40. -- 4.给USRDB1用户制授权  
  41. 运行上一步骤执行得到的结果  
  42. grant CREATE ANY SEQUENCE to USRDB1;  
  43. grant CREATE SEQUENCE to USRDB1;  
  44. grant CREATE VIEW to USRDB1;  
  45. grant UNLIMITED TABLESPACE to USRDB1;  
  46. grant CREATE ANY TRIGGER to USRDB1;  
  47. grant CREATE PROCEDURE to USRDB1;  
  48. grant CREATE ANY PROCEDURE to USRDB1;  
  49. grant CREATE ANY TABLE to USRDB1;  
  50.   
  51. grant RESOURCE to USRDB1;  
  52. grant CONNECT to USRDB1;  
  53. grant DBA to USRDB1;  
  54.   
  55. -- 5.导出USRDB方案  
  56. exp "'sys/oracle as sysdba'" owner=USRDB file=USRDBl.dmp rows=n   -->因为不需要导数据,所以加了rows=n  
  57.   
  58. -- 6.导入方案  
  59. imp "'sys/oracle as sysdba'" fromuser=USRDB touser=USRDB1 file=USRDBll.dmp  

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值