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; |
| 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'; |
| 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博客 ” ,链接:https://blog.itpub.net/12778571/viewspace-520753/ ,如需转载,请注明出处,否则将追究法律责任。