Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1002566
  • 博文数量: 152
  • 博客积分: 4937
  • 博客等级: 上校
  • 技术积分: 1662
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-05 16:55
文章分类

全部博文(152)

文章存档

2013年(12)

2012年(6)

2011年(58)

2010年(43)

2009年(1)

2008年(15)

2007年(17)

我的朋友

分类: WINDOWS

2011-09-21 16:46:46

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

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';

 

阅读(1424) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~