在另一个数据库中创建一个与原来数据库中
权限一样的用户
OS:AIX5.3
Oracle:Oracle10.2.0.1.0
在另一个中创建一个与原来数据库中权限一样的用户
需求描述:在AA数据库中存在一个lhomsmd用户,现在需要在BB数据库中创建一个xbomsmd用户,创建的用户的默认表空间、角色、对表的权限都和AA数据库中的lhomsmd用户一样。
具体操作:
1、lhomsmd用户在AA数据库查找的自己的默认表空间情况
在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'; |
阅读(1416) | 评论(0) | 转发(0) |