赋予用户dba权限

--已知被赋予权限的用户名为:batch

 

--第一步 登陆

sqlplus /nolog

sql>conn /as sysdba;

 

--第二步 查询所有用户名,可以找到batch用户

sql>select  username from dba_users;

 

--第三步 赋予权限

 

sql>grant dba to batch;

 

--另外解除权限是:

sql>revoke dba from batch;

 

】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】

 

--解释以上:

sqlplus /nolog

--运行sqlplus命令,进入sqlplus环境,nolog参数表示不登录。这种登陆方式比较安全;

 

sql>conn /as sysdba
--以系统管理员(sysdba)的身份连接数据库;如果需要对数据库进行管理操作,那么需要以这种方式登录数据库,或者connect   sys@service_name as sysdba,其中你配置的客户tnsname服务名
--操作系统身份认证登陆。oracle在登录时,有三种身份认证方式:操作系统身份认证、密码文件认证、数据库认证。而conn /as sysdba是属于操作系统认证。 为什么这样说呢?你当前电脑开机时登录的用户,也就是进入操作系统的用户,例如是gooooal,它在你电脑的ora_dba组中。
可以在“我的电脑”单击右键,找到“管理”,选择“本地用户和组”,发现有一个组叫“ora_dba”,双击它,看到成员列表中有“gooooal”。
也就是在conn /as sysdba,oracle会进行操作系统验证,发现你当前登录的用户就属于ora_dba组,因此才可以登录成功。



sql>select username from dba_users;
--查询oracle中所有用户名


sql>grant dba to batch;
--给用户赋予dba权限,dba是一个角色,该角色具有数据库所有的权限


sql>revoke dba from username;

--解除权限

 

】】】】】】】】】】】】】】】】】】】】】】】】】
oracle数据库中涉及到用户权限的三个表,dba_users,all_users,user_users有什么区别?
答:DBA_*意为DBA拥有的或可以访问的所有的对象。就是是查全库所有的;
ALL_*意为某一用户拥有的或可以访问的所有的对象。就是当前用户可以看到的;
USER_*意为某一用户所拥有的所有的对象。就是当前用户的。

你可能感兴趣的:(Oracle)