oracle中复制一个用户

现场人员需要将USRDB用户复制出来,弄个USRDB1用户,在这个用户上导入数据做测试。
复制方案的思路:
1.查USRDB的默认表空间,PROFILE,系统权限,对象权限,角色,
2.建新用户,授权,
3.导出USRDB方案
4.导入方案
步骤如下:
[sql] view plain copy print ?
  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  
  60. 原文地址:http://blog.csdn.net/access20032004/article/details/6904852

你可能感兴趣的:(oracle,职场,休闲,oracle用户复制)