Oracle数据库---用户与角色

2019年02月26日 10:56:10 俊杰梓 阅读数:21 标签: 数据库 更多

个人分类: 数据库
 
版权声明:版权所有,转载请注明出处.谢谢 https://blog.csdn.net/weixin_35353187/article/details/87929965

安装Oracle时,若没有设置默认密码,则以下为默认账户的密码:

用户名 / 密码 登录身份 说明
sys/change_on_install SYSDBA 或 SYSOPER 不能以 NORMAL 登录,可作为默认的系统管理员,超级管理员,负责数据库系统的管理
system/manager SYSDBA 或 NORMAL 普通管理员,负责数据库对象的管理,如:创建用户,授权,创建数据库等等
sysman/oem_temp   sysman 为 oms 的用户名
scott/tiger NORMAL 普通用户
aqadm /aqadm SYSDBA 或 NORMAL 高级队列管理员
Dbsnmp/dbsnmp SYSDBA 或 NORMAL 复制管理员
scott SYSDBA 或 NORMAL 该用户主要用于给我们学习的时候使用。如果要使用该用户就必须解锁,并且修改密码
hr  SYSDBA 或 NORMAL 测试用户。该用户有一些hr相关的测试数据。如果要使用该用户就必须解锁,并且修改密码

cmd窗口连接数据库时,运行cmd命令行

sqlplus /nolog   无用户名登录

conn /as sysdba   连接到数据本地数据

alter user system identified by password   修改System 密码  为password

查看所有用户信息:

---dba_users:保存系统中所有用户的详细信息。

select * from dba_users;

创建用户

  1.  
    create user 用户名
  2.  
    identified by 密码
  3.  
    [default tablespace 表空间];
  4.  
    --新创建的用户没有任何权限,登陆后会提示
  1.  
    --创建用户
  2.  
    create user test01
  3.  
    identified by 123456
  4.  
    default tablespace test01;
  1.  
    --登录:也需要有权限
  2.  
    --Oracle 中已存在三个重要的角色:connect 角色,resource 角色,dba 角色。
  3.  
     
  4.  
    CONNECT 角色: --是授予最终用户的典型权利,最基本的
  5.  
    ALTER SESSION --修改会话
  6.  
    CREATE CLUSTER --建立聚簇
  7.  
    CREATE DATABASE LINK --建立数据库链接
  8.  
    CREATE SEQUENCE --建立序列
  9.  
    CREATE SESSION --建立会话
  10.  
    CREATE SYNONYM --建立同义词
  11.  
    CREATE VIEW --建立视图
  12.  
     
  13.  
     
  14.  
    RESOURCE 角色: --是授予开发人员的
  15.  
    CREATE CLUSTER --建立聚簇
  16.  
    CREATE PROCEDURE --建立过程
  17.  
    CREATE SEQUENCE --建立序列
  18.  
    CREATE TABLE --建表
  19.  
    CREATE TRIGGER --建立触发器
  20.  
    CREATE TYPE --建立类型
  21.  
     
  22.  
     
  23.  
    DBA 角色:拥有全部特权,是系统最高权限,只有 DBA 才可以创建数据库结构,
  24.  
    并且系统权限也需要 DBA 授出,且 DBA 用户可以操作全体用户的任意基表,包括删除
  25.  
     
  26.  
    grant dba to user_test;
  27.  
     
  28.  
    进入 system 用户下给用户赋予 dba 权限,否则无法正常登陆
  1.  
    --分配角色权限:
  2.  
     
  3.  
    -- 授权: grant connect,resource to test01;
  4.  
    grant dba to test01;
  5.  
     
  6.  
    --撤销授权
  7.  
    -- revoke connect,resource from test01;

设置用户密码

alter user 用户名 identified by 密码;
alter user test01 identified by a123456; --该方式不能修改为纯数字密码

解锁用户

alter user 用户名 account unlock;
  1.  
    --锁定hr测试用户
  2.  
    alter user hr account lock;
  3.  
     
  4.  
    --解锁hr测试用户
  5.  
    alter user hr account unlock;

删除用户

drop user 用户名 [cascade];
  1.  
    drop user test01 [cascade];
  2.  
    --如果删除的用户中已经有数据,那么删除用户的时候,就必须要指定cascade关键字。

系统权限

  1.  
    --系统权限就是创建数据库对象的权限。系统权限都是以create开头的权限。
  2.  
    --例如:创建会话、创建表、创建索引、创建序列等等。
  3.  
    --create session、create table、create index、create sequence等等。
  1.  
    --授予用户系统权限。
  2.  
    grant create 权限 to 用户;
  3.  
    --只有管理员才可以授予用户系统权限。
  1.  
    --授予用户test01创建会话、创建表的系统权限。
  2.  
    grant create session,create table
  3.  
    to test01;

对象权限

  1.  
    --对象权限就是对数据库对象的操作权限。
  2.  
    --例如:添加表数据、查询表、删除表等等操作。
  3.  
    select、insert、update、delete、all。
  1.  
    --授予用户对象权限。
  2.  
    grant 操作权限
  3.  
    on 用户1.表名
  4.  
    to 用户2;
  1.  
    --授予用户test01查询和插入scott用户的emp表的权限。
  2.  
    grant select,insert
  3.  
    on scott.emp
  4.  
    to test01;

查看用户权限

  1.  
    dba_sys_privs:保存所有用户的系统权限;
  2.  
    dba_tab_privs:保存所有用户的对象权限;
  1.  
    select *
  2.  
    from dba_sys_privs
  3.  
    where grantee ='TEST01';
  4.  
     
  5.  
    select *
  6.  
    from dba_tab_privs
  7.  
    where grantee ='TEST01';

回收权限

  1.  
    --回收用户的系统权限:
  2.  
    revoke create 权限 from 用户;
  3.  
     
  4.  
    --回收用户的对象权限:
  5.  
    revoke 操作 on 用户1.表名 from 用户2;
  1.  
    revoke create table
  2.  
    from test01;
  3.  
     
  4.  
    revoke insert
  5.  
    on scott.emp
  6.  
    from test01;

角色

角色就是一组权限的集合。

角色的作用:简化授权操作。

Oracle 中已存在三个重要的角色:connect 角色,resource 角色,dba 角色

使用角色

  1.  
    第一步:创建角色;
  2.  
    create role 角色名;
  3.  
     
  4.  
    第二步:给角色授权;
  5.  
    grant create 权限to 角色; --授予角色系统权限
  6.  
    grant 操作 on 用户.表名 to 角色; --授予角色对象权限
  7.  
     
  8.  
    第三步:把角色赋给用户;
  9.  
    grant 角色 to 用户;
  1.  
    --第一步:创建角色;
  2.  
    create role t_role;
  3.  
     
  4.  
    --第二步:给角色授权;
  5.  
    grant create table
  6.  
    to t_role; --授予角色系统权限
  7.  
     
  8.  
    grant select
  9.  
    on scott.emp
  10.  
    to t_role; --授予角色对象权限
  11.  
     
  12.  
    --第三步:把角色赋给用户;
  13.  
    grant t_role
  14.  
    to test01;

查询用户角色

  1.  
    --dba_role_privs:保存所有用户的角色信息。
  2.  
    select *
  3.  
    from dba_role_privs
  4.  
    where grantee ='TEST01';

回收角色

  1.  
    revoke 角色名
  2.  
    from 用户;
  1.  
    revoke t_role
  2.  
    from test01;

删除角色

drop role 角色名;
  1.  
    drop role t_role;
  2.  
    --删除角色之后,那么拥有该角色的用户就会自动地把该角色取消。

ORACLE数据库的用户权限和角色权限控制

 

Oracle数据库---用户与角色的更多相关文章

  1. Oracle 数据库用户管理

    Oracle 数据库用户管理 Oracle 权限设置      一.权限分类: 系统权限:系统规定用户使用数据库的权限.(系统权限是对用户而言). 实体权限:某种权限用户对其它用户的表或视图的存取权限 ...

  2. 使用PLSQL 创建Oracle数据库用户并设置权限

    转至https://blog.csdn.net/ying890/article/details/14083029?utm_medium=distribute.pc_relevant_download. ...

  3. 简便删除已经存在的oracle数据库用户UPAY3LINGXI_YS

    简便删除已经存在的oracle数据库用户UPAY3LINGXI_YS:1.Toad工具用oracle最大权限用户登录system2.查看正在使用UPAY3LINGXI_YS的进程select * fr ...

  4. Oracle数据库用户数据完整备份与恢复

    使用PLSQL-Developer工具可以快速便捷地完成Oracle数据库用户.表的备份恢复. Oracle数据库用户数据完整备份与恢复 1. 备份 1.1   PL/SQL->工具->导 ...

  5. SQL SERVER服务器登录名、角色、数据库用户、角色、架构的关系

    原创链接:https://www.cnblogs.com/junfly/articles/2798023.html SQL SERVER 基础教程中关于服务器登录名.服务器角色.数据库用户.数据库角色 ...

  6. 删除oracle数据库用户

    手工删除ORACLE数据库用户时常会出现会话进程仍在使用导致删除失败的情况.需要查询会话并将会话删除才能成功将数据库用户删除,比较不方便. 适用场景 自动删除oracle数据库用户 基本知识 orac ...

  7. Linux删除ORACLE数据库用户失败提示ORA-01940解决方法

    操作环境 SuSE11+Oracle11gR2 问题现象 删除ORACLE数据库用户失败,提示ORA-01940: cannot drop a user that is currently conne ...

  8. Oracle数据库用户密码设为无限期

    oracle数据库用户密码默认为180天,密码过期后将无法登陆数据库. 一.查询用户所属PROFILE SQL> SELECT username,PROFILE FROM dba_users; ...

  9. Navicat连接Oracle数据库用户权限问题

    解决Navicat连接Oracle数据库用户权限问题: 第一步:在cmd窗口运行[sqlplus], 第二步:输入Oracle的用户名和口令连接Oracle数据库, 第三步:执行授权代码,给用户授予D ...

随机推荐

  1. 【JAVA】String[]配列の相関

    配列の作成: ①String[] str = new String[5]; ②String[] str = new String[]{"","","& ...

  2. Docker容器镜像瘦身的三个小窍门(转)

    [转自:http://dockone.io/article/8174] 在构建Docker容器时,我们应尽可能减小镜像的大小.使用共享层的镜像尺寸越小,其传输和部署速度越快. 不过在每个RUN语句都会 ...

  3. yum与rpm常用命令

    1  yum常用命令 2  rpm常用命令 1  yum常用命令 (1)列出所有可更新的软件清单命令:yum check-update (2)更新所有软件命令:yum update (4)仅安装指定的 ...

  4. easyui 传递参数报错(错误:uncaught SyntaxError: Unexpected identifier)

    转自:https://www.cnblogs.com/javaboy2018/p/8733585.html 代码: 按钮事件: function formatOper(val, row, index) ...

  5. 刷题的model格式(请用英文)

    [抄题]: [暴力解法]: 时间分析: 空间分析: [优化后]: 时间分析: 空间分析: [奇葩输出条件]: [奇葩corner case]: [思维问题]: [英文数据结构或算法,为什么不用别的数据 ...

  6. IIS7/8下提示 HTTP 错误 404.13 - Not Found 请求筛选模块被配置为拒绝超过请求内容长度的请求

    IIS7的设置和IIS6有很多不同之处,这里提到的的是一个上传附件大小设置的问题. HTTP 错误 404.13 - Not Found 请求筛选模块被配置为拒绝超过请求内容长度的请求. 原因:Web ...

  7. ios 根据 schemes 打开 app

    公司出需求,要让 h5链接直接打开用户的 app,如果没有安装 app 直接跳转到 appStore 这就需要给 app 配置 schemes 即可 1.在Info.plist中 LSApplicat ...

  8. Oracle 数据库中对记录进行分页处理

    学习到 oracle 的视图的时候,了解到对 Oracle 中数据的记录进行分页处理和 Mysql 提供的 limit 来进行分页处理大有不同,limit 是 mysql 中特有的关键字. 那么在 o ...

  9. Oracle 12c 创建新的数据库实例、用户

    前提:安装好了Oracle 12c数据库,已有一个数据库实例xe,登录用户/密码:system/oralce 我用的是docker安装的Oracle 12c的实例: docker run --name ...

  10. 配置Linux客户端使用socks5代理上网

    配置Linux客户端使用socks5代理上网   背景 有访问google或者其他海外网站需求的同学可能大都用过或者听过ss,在Windows.Mac.Android.IOS都有现成可用的客户端来协助 ...