复制Oracle数据库用户

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

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

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

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

默认角色:

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

系统补助金:

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

对象授予:

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

角色授予:

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

配额:

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

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

sql> select dbms_Metadata.get_granted_ddl( 'TABLESPACE_QUOTA','PHIL' ) from dual;
ERROR:
ORA-31608: specified object of type TABLESPACE_QUOTA not found
ORA-06512: at "SYS.DBMS_MetaDATA",line 4018
ORA-06512: at "SYS.DBMS_MetaDATA",line 5991
ORA-06512: at line 1

no rows selected

sql>

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

猜你在找的Oracle相关文章