Oracle12C--权限管理(二十一)

知识点的梳理: sql语句针对权限的控制提供了两个操作命令:GRANT(授权)与REVOKE(回收权限);   说明 用户创建完成后是没有权限的,所以无法使用,要为此用户授权。Oracle的权限分为两种:系统权限:数据库资源操作的权限,例如:创建数据表,索引等权限;对象权限:维护数据库中对象的能力,即:由一个用户操作另外一个用户的对象;所有权限应由DB
摘要由CSDN通过智能技术生成

知识点的梳理:

  • sql语句针对权限的控制提供了两个操作命令:GRANT(授权)与REVOKE(回收权限)

      

  • 说明
    • 用户创建完成后是没有权限的,所以无法使用,要为此用户授权。Oracle的权限分为两种:
      • 系统权限:数据库资源操作的权限,例如:创建数据表,索引等权限;
      • 对象权限:维护数据库中对象的能力,即:由一个用户操作另外一个用户的对象;
    • 所有权限应由DBA进行控制
  • 系统权限
    • 该权限是资源操作权限,应由DBA统一分配;
    • 为用户授权语法:

grant 权限,....
to [用户名,....|角色,....|public]
[with admin option];

权限:主要指的是各个系统权限;
to:设置授予权限的用户,角色或者是使用public将此权限设置为公共权限;
with admin option:将用户授予的权限继续授予其他用户

  • 示例:为c##mldnuser用户授予CREATE SESSION权限

GRANT CREATE SESSION TO c##mldnuser ;

此用户被授权后,可以进行登录;

注意:每个连接到数据库上的用户都通过一个session进行表示,如果某个用户缺少了创建session的权限,就无法登录。在无授权下进行登录,就会出现:"ORA-01045:user xxxxx lacks create session privilege;logon denied"的错误提示信息;

  • 示例:为c##mldnuser用户授权

GRANT CREATE TABLE , CREATE SEQUENCE , CREATE VIEW TO c##mldnuser WITH ADMIN OPTION ;

sql将三种权限授予c##mldnuser,同时WITH ADMIN OPTION子句,表示c##mldnuser用户可以将其权限授予其他用户

  • 示例:利用c##mldnuser用户登录,而后将创建表、以及创建序列的权限授予c##mldnjava用户

GRANT CREATE TABLE , CREATE SEQUENCE TO c##mldnjava ;

  • 示例:通过dba_sys_privs数据字典查看用户权限

SELECT *

FROM dba_sys_privs

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle数据库基础 任务一 1、修改上机的计算机上的文件: product\11.1.0\db_1\NETWORK\ADMIN\tnsnames.ora product\11.1.0\db_1\NETWORK\ADMIN\listener.ora 把文件中的HOST后面的名称更改为localhost或者127.0.0.1 目的:在你自己的计算机上开启监听服务,用于接受客户端的连接请求, localhost指在什么计算机上开启监听,一定是你自己的计算机,本机可以使用如 下方法表示:localhost 127.0.0.1 hostname ip 查看主机名:hostname 查看ip:ipconfig 2、启动数据库: 方法1: 打开管理工具中的服务管理工具,启动OracleOraHome90TNSListener和 OracleServicehygj服务 方法2: 打开CMD命令提示符界面,输入 net start OracleOraHome90TNSListener net start OracleServicehygj 3、默认开放的用户: 系统管理员: sys 设置密码:change_on_install 数据库管理员: system 设置密码:manager 普通用户: scott 设置密码:tiger 4、打开IE,使用https://localhost:1158/em来访问: 输入用户名:scott 密码:tiger 登陆系统 5、使用scott/tiger用户下的emp表完成下列练习,表的结构说明如下: emp员工表 字段内容如下: empno 员工号 ename 员工姓名 job 工作 mgr 上级编号 hiredate 受雇日期 sal 薪金 comm 佣金 deptno 部门编号 . 选择部门30中的所有员工 . 列出所有办事员(CLERK)的姓名,编号和部门编号 . 找出佣金高于薪金的员工 . 找出佣金高于薪金的60%的员工 . 找出部门10中所有经理(MANAGER)和部门20中所有办事员(CLERK)的详 细资料 . 找出既不是经理又不是办事员但其薪金大于或等于2000的所有员工的详细 资料 . 找出收取佣金的员工的不同工作 . 找出不收取佣金或收取的佣金低于100的员工 . 向emp表中插入一纪录,员工TOM,80年1月10日入职,薪金为3000, 没有补贴(comm) . 将emp表中与scott用户具有相同工作岗位的人的工资更改为原来的105% 任务二 1、创建my_employee表,并向表中添加数据,数据参考如下: ID Last_name First_name UserID Salary 1 Patel Ralph rpatel 795 2 Dancs Betty bdancs 860 3 Biri Ben bbiri 110 4 Newman Chard cnewman 750 5 Ropeburn Audry apopebur 1550 (1)、编写如下的脚本: 把这个脚本存储在c:盘根目录下,存储为test.sql,并使用start命令调用此 脚本 set echo off set feedback off prompt Creating The My_employee table. Please wait... create table my_employee ( id number(4) constraint my_employee_id_nn not null, last_name varchar2(25), first_name varchar2(25), userid varchar28), salary number(9,2)) / (2).显示my_employee表的结构 (3).向my_employee表中添加首条纪录,要求不在insert语句中使用字段列表 (4).向my_employee表中添加第二条纪录,要求在insert语句中使用字段列表 (5).验证数据是否添加成功 (6).使数据的添加成为永久性的。 2、将3号员工的Last_name修改为Drexler 3、将所有工资小

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值