数据库中有一个用户userA,开发用的,现在是DBA权限,现在想收回dba权限,只给有限的权限。现在出现了两种不同的看法。
看法一是直接收回dba权限,revoke dba from userA;然后根据开发所需,赋予相应的权限。用户userA有对象在users表空间里,回收dba权限时,需要先把对象从users表空间里转移到userA的默认表空间里。
看法二是现有用户修改密码,再新建一个新的用户,给开发用,再给开发需要的权限,这样的话就得给新用户userB能够访问userA下所有对象的权限,用户userA下有六百多个对象,都得把访问权限赋给userB,操作类似如下:SQL>select 'grant select on userA'|| '.'|| table_name || ' to userB;' from dba_tables where owner='USERA ';