Oracle 用户管理

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/BlueCY/article/details/78093533

 例:
  

#sqlplus /nolog
  SQL> conn / as sysdba;
  create user username identified by password;
  grant connect,resource to username;
  grant select,insert,update,delete on 表名 to username;
  //让这用户可以创建视图
  grant CREATE VIEW to username;
  //让这用户可以创建表
  grant create table to username; 
  //创建同义词 权限。如果用户的等级不够建立public同义词,可以在system下授权:
    grant create any synonym to username;
    grant create public synonym to username;
     //查看用户对表权限
    SELECT * FROM user_tab_privs t where t.TABLE_NAME=upper('表名');

    //子用户登陆,验证
   conn username/password;
   
   select * from user_sys_privs;
  //查询是否授权成功,是否可以定义同义词
        select * from session_privs where privilege like '%SYNONYM%';
  //创建同义词语句  
        create  synonym emp for scott.emp;
    //创建公共同义词语句
        create public synonym emp for scott.emp;
    //查看所有同义词:
    select * from user_synonyms //当前用户
  select * from dba_synonyms 
//删除同义词
//使用DROP SYNONYM语句删除不再需要的同义词 要想删除私有同义词 就省略 PUBLIC 关键字 要想删除//公共同义词就要包括PUBLIC 关键字
//DROP SYNONYM emp; --删除名为emp 的私有同义词
//DROP PUBLIC SYNONYM public_emp; --删除名为public_emp的公有同义词

SELECT * FROM user_tab_privs t where t.TABLE_NAME=upper('表名');

select * from 表名 where rownum<=2

一、用户分类
  sys;//系统管理员,拥有最高权限
  system;//本地管理员,次高权限
  scott;//普通用户,密码默认为tiger,默认未解锁

二、登陆
 sqlplus / as sysdba;//登陆sys帐户
 sqlplus sys as sysdba;//同上
  sqlplus scott/tiger;//登陆普通用户scott

三、管理用户
  create user zhangsan;//在管理员帐户下,创建用户zhangsan
  alert user scott identified by tiger;//修改密码

   //创建session会话的权限、不然无法登入
   grant create session to facc_fields_sel;

命令:grant xxx权限 on TableA to USERA
grant select,insert,update,delete on 表名 to 用户名
例如:将test表的查询权限赋予solidwang这个用户
grant select on test to solidwang;
四:权限
接下来看系统权限,
DBA:拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。
RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。
CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。
对于普通用户:授予connect, resource权限。
对于DBA管理用户:授予connect,resource, dba权限。
且系统权限只能由DBA用户授出:sys, system(最开始只能是这两个用户)。普通用户通过授权可以具有与system相同的用户权限,
但永远不能达到与sys用户相同的权限,system用户的权限也可以被回收。
五:  撤销权限

基本语法同grant,关键字为revoke
取消授权:
revoke create any synoym from scott;
revoke create public synoym from scott;
取消同义词:
drop public synonym abc;
授权取消同义词:
grant dorp public synonym to scott;
取消授权:
revoke drop public synonym to scott;

  六、查看权限

  select * from user_sys_privs;//查看当前用户所有权限

  select * from user_tab_privs;//查看所用用户对表的权限

  七、操作表的用户的表
  select * from zhangsan.tablename

展开阅读全文

Oracle用户管理

05-08

Oracle的同意词。是什么意思?怎样用的?这个问题是这样来的。rn我们单位有一个ORACLEDB1,它有一个拥用广泛访问权限的用户Power,另有若干个未赋于任何角色的用户UserX。在一般情况下,这些用户是无法通过一般的数据库访问工具连上数据库的(事实上确是如此,在SQL Navigator用UserX中的任一用户都无法连上, 在在C++Builder中用数据库控件连,得到的是”not logged on”的失败信息),或者说无法对数据库进行任何操作。但在我们单位用的程序上,可以用UserX中的任一用户进入系统,按分配好的权限模块进行操作。rn我请教单位的专家,专家回答说,我们单位程序的客户端先对这些用户赋以一定的角色,然后在根据权限表(应用系统的模块使用权限表)中的权限,并以用户Power的同意词对库中的表进行各种操作。rn我于是问他客户端是不是先以一个共同的权限较高的用户登录,给这些UserX用户赋于角色后,再以用户实际输入的UserX用户进行登录?他又说不是。再问就在兜圈子了。rn我想如果客户端不是按我想的思路,那客户端应该如何处理,或者是数据库中 “同意词”应该怎样设,其他相对的设置应该怎样,才能使一个实际上在数据库中无任何角色的用户可以象他的“同意词”用户一样对表进行操作呢。rnrn 论坛

没有更多推荐了,返回首页