复制Oracle数据库用户

前端之家收集整理的这篇文章主要介绍了复制Oracle数据库用户前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们将聘请外部审计人员对我们的Oracle数据库进行审核.他们将运行一个工具来执行审查,为此,他们需要一个可以连接到数据库并从中获取信息的用户ID.

我们在数据库中有一个现有用户.但是,它是一个生产ID,我们不能把它锁定.我们希望克隆/复制此ID,包括其角色和权限.

我们有办法在Oracle中这样做吗?

用户创建:
  1. select dbms_Metadata.get_ddl( 'USER','PHIL' ) from dual;

默认角色:

  1. select dbms_Metadata.get_granted_ddl( 'DEFAULT_ROLE','PHIL' ) from dual;

系统补助金:

  1. select dbms_Metadata.get_granted_ddl( 'SYSTEM_GRANT','PHIL' ) from dual;

对象授予:

  1. select dbms_Metadata.get_granted_ddl( 'OBJECT_GRANT','PHIL' ) from dual;

角色授予:

  1. select dbms_Metadata.get_granted_ddl( 'ROLE_GRANT','PHIL' ) from dual;

配额:

  1. select dbms_Metadata.get_granted_ddl( 'TABLESPACE_QUOTA','PHIL' ) from dual;

如果上面的任何一个没有输出,你会得到一个如下所示的异常:

  1. sql> select dbms_Metadata.get_granted_ddl( 'TABLESPACE_QUOTA','PHIL' ) from dual;
  2. ERROR:
  3. ORA-31608: specified object of type TABLESPACE_QUOTA not found
  4. ORA-06512: at "SYS.DBMS_MetaDATA",line 4018
  5. ORA-06512: at "SYS.DBMS_MetaDATA",line 5991
  6. ORA-06512: at line 1
  7.  
  8. no rows selected
  9.  
  10. sql>

然后在输出上进行搜索并替换以更改用户名.

猜你在找的Oracle相关文章