在另一个数据库中创建一个与原来数据库中权限一样的用户

本文介绍如何在Oracle数据库中从一个现有用户复制所有权限到另一个新创建的用户,包括默认表空间、角色及对表的权限等。通过一系列SQL命令实现用户权限的完整迁移。

OS:AIX5.3
Oracle:Oracle10.2.0.1.0
在另一个数据库中创建一个与原来数据库中权限一样的用户


需求描述:在AA数据库中存在一个lhomsmd用户,现在需要在BB数据库中创建一个xbomsmd用户,创建的用户的默认表空间、角色、对表的权限都和AA数据库中的lhomsmd用户一样。

具体操作:
1、lhomsmd用户在AA数据库查找的自己的默认表空间情况

select * from user_users

  在BB数据库上用dba角色用户相应的建立用户

create user xbomsmd

identified by xbomsmd

default tablespace JBPM_SPACE;


  检查是否正确
 
select * from dba_users where username='XBOMSMD';

2、lhomsmd用户在AA数据库查找的自己所拥有的角色

select * from user_role_privs;

 
 在BB数据库上用dba角色用户赋予相应的角色
 
grant connect,resource to xbomsmd;

 验证授权角色是否正确
select * from dba_role_privs where grantee='XBOMSMD';

3、lhomsmd用户在AA数据库查找的自己所拥有的权限

select *  from  session_privs;

 在BB数据库中用dba角色用户查看XBOMSMD用户的权限

select * from dba_sys_privs where grantee='XBOMSMD';

 或者用XBOMSMD用户查看自己的权限:
select * from session_privs;

  如果缺少权限,可以进一步用dba角色的用户授权:

grant debug connect session to xbomsmd;

4、lhomsmd用户在AA数据库查看的自己所拥有的对表、存储过程、函数的权限

select * from user_tab_privs;

把查询出来的脚本在BB数据库中用DBA角色的用户执行,这样就可以把对应的存储过程、函数赋予给了xbomsmd用户

select  'grant execute on '||table_name||' to xbomsmd;'  from user_tab_privs   where privilege='EXECUTE';

把查询出来的脚本在BB数据库中用DBA角色的用户执行,这样就可以把对应的表select权限赋予给了xbomsmd用户

select   'grant select on '||table_name||'  to xbomsmd;'   from   user_tab_privs   where privilege='SELECT';

把查询出来的脚本在BB数据库中用DBA角色的用户执行,这样就可以把对应的表insert权限赋予给了xbomsmd用户

select   'grant insert on   '||table_name||' to xbomsmd;' from   user_tab_privs   where privilege='INSERT';


把查询出来的脚本在BB数据库中用DBA角色的用户执行,这样就可以把对应的表update权限赋予给了xbomsmd用户

select   'grant update on '||table_name||' to xbomsmd;'   from   user_tab_privs   where privilege='UPDATE';

把查询出来的脚本在BB数据库中用DBA角色的用户执行,这样就可以把对应的表delete权限赋予给了xbomsmd用户

select   'grant delete on '||table_name||' to xbomsmd;'   from   user_tab_privs   where privilege='DELETE';

用BB数据库中dba角色的用户查看xbomsmd用户的具体权限:

select   *   from  dba_tab_privs   where   grantee='XBOMSMD';

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12778571/viewspace-520753/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/12778571/viewspace-520753/

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值