热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

oracle权限相关内容总结

1.系统权限管理1.13个默认用户oracle9isyschange_on_install[assysdba]--sqlplus/assysdbasystemmanagerwww.2cto.comscotttrigeroracle10g以上sys安...SyntaxHighlig

1. 系统权限管理
   1.1 3个默认用户
     oracle 9i 
     sys    change_on_install [as sysdba]--sqlplus /as sysdba 
     system manager  www.2cto.com  
     scott  triger
     oracle 10g以上 
     sys    安装的时候设置. [as sysdba]
     system 安装的时候设置.
     scott  triger 默认为锁定。应该解锁(ALTER USER ACCOUNT LOCK/UNLOCK )
     sys   :oracle 网络管理员。全局的管理员
     system:普通管理员
     scott :普通用户
     oracle使用条件:启用监听(lsnrctl start),启用数据库实例(oradin -startup -sid orcl)
   1.2 创建用户 
       登陆SYS:sqlplus /as sysdba conn lisi/lisi
       show user(sqlplus) whoami(linux)
       create(alter) user lisi identified by lisi;
   1.3 分配权限    
        关键字:grant XX to user;
        grant create session to lisi;
        grant create table   to lisi;
        grant unlimited tablespace to lisi;
        拥有create table 权限,就拥有了select,insert,update,delete table和drop table权限
        自己创建的表就拥有了这张表的所有权限    
   1.4 撤销权限    
        关键字:revoke XX from user;
        revoke create session from lisi;
        revoke create table   from lisi;
        revoke unlimited tablespace from lisi;  
   1.5 查看系统权限的数据字典  www.2cto.com  
        SELECT * FROM user_sys_privs;
 
2. 对象权限
    2.1 概念:访问其他用户创建的对象,每个对象都属于某一个用户。其他对象访问,需要赋权限
    2.2 两个用户属于两个不同的事务。一个用户下没有COMMIT,另一个用户不能访问,COMMIT类似存盘的概念
    2.3 授权对象权限
        关键字:grant xx on table to user;
        例子  :grant select,insert,update,delete on table to lisi;
        授权所有权限:grant all on table to user(public);
    2.4 撤销权限
        关键字:revoke XX on table from user(public);
        例子  :revoke all on table from lisi(public);
    2.5 谁拥有权限,谁可以授权 
    2.6 查看对象权限的数据字典
        SELECT * FROM user_tab_privs;
    2.7 显示格式
        SET linesize 400
        dbms_output.disable;
        插入的时候会将表锁定,表级别的锁  
    2.8 对table的列的权限控制
        授权:grant xx(column) on table to user;
        撤销权限:revoke xx(column) on table from user;    
        insert,update可以控制到列,select,delete不行
        数据字典:select * from user_col_privs;
    2.9 查询的概念
        DDL(数据定义语言),DML(数据操纵语言),DCL(授权和撤销权限)。只有DML语言有TRANSACTION的控制
 
3. 权限传递
    3.1系统权限的传递
      默认    :权限可以使用,但是不能传递(9i和10g不一样)
      权限传递:grant XX to user with admin option
      撤销传递:源头断了,就不能传递了
    3.2对象权限的传递  www.2cto.com  
      默认    :权限可以使用,不能传递
      权限传递:grant XX on table to user with grant option;
      撤销传递:源头断了,就不能传递了(9i和10g不一样) 
 
4. 角色管理
    4.1  概念:角色就是权限的集合
    4.2  创建和role:create role XX; drop role XX;
    4.3  权限放在role:grant XX to role;
    4.4  权限授权给user:grant XX to user;
    4.5  撤销权限: revoke XX from user或者删除角色
    4.6  使用范围:有限权限太高,不能直接赋予role,只能赋予user,例如:UNLIMITED TABLESPACE
    4.7  create table 和create any table的区别
         create table:只能给自己创建表
         create any table:不仅可以给自己创建表,还可以给任何用户创建表
    4.8  只有alter any table和drop any table权限
         拥有create table,就拥有了alter table 和drop table
    4.9  角色不属于任意一个用户。是共用的。
 
5. 三种登陆方式
    5.1 普通用户密码修改
        用SYS用户登录,修改密码:
        命令行:alter user scott identified by tiger;
        图形界面也可以修改:会转化为SQL语句
    5.2 SYS(SYSDAA,SYSOPER)用户密码丢了。不能直接修改
    5.3 oracle数据库的三种验证机制
        a.操作系统验证
        b.密码文件验证
        c.数据库的验证
     一般的oracle用户       :使用数据库的验证,先启动数据库,然后再验证
     SYS(SYSDAA,SYSOPER)用户:操作系统验证和密码文件的验证
   5.4 oracle的启动过程
     5.4.1.linux下oracle启动过程:
       a.lsnrctl start(启用监听) 
       b.sqlpuls /(sys/oracle) as sysdba
       c.startup 启动实例
       先链接监听,再链接数据库实例.linux有严格的启动数据
       监听:为了区分SYS(SYSDAA,SYSOPER)用户和一般的用户
       10g以后的用法:sqlplus /(sys/oracle) as sysdba
       10g前的用法  :sqlplus /nolog;conn sys/oracle as sysdba
     5.4.2 windows下oracle的启动过程
       lnsrctl start  www.2cto.com   
       oradin  -start -sid orcl 
     5.5 默认是操作系统验证,没有验证通过在进行密码文件的验证
         计算机管理:组:ora_dba
         sqlplus / as sysdba(操作系统的验证)
         sqlpuls sys/oracle as sysdba(密码文件的验证)
     5.6 实际应用中。一般把操作系统验证取消
     5.7 SYS密码忘记。只能修改密码文件
         备份product\10.2.0\db_2\database下的PWDorcl.ora ora文件
         使用命令重新生成密码文件:PWDorcl.ora ora
         命令:
         orapwd file=pwdora10g.ora password-sys entries=10(特权用户) force(whether overwrite)         
         SYS特权用户查看数据字典:SELECT v$pwdfile_users(动态性能表);
 
6. 帐户管理细节
   6.1 创建用户
       CREATE USER            用户名
       IDENTIFIED BY          密码
       DEFAULT TABLESPACE     默认表空间(属于用户的TABLE,INDEX,约束)
       TEMPORARY TABLESPACE   临时表空间(主要使用排序.GROUP BY ORDER BY等) 
       QUOTA(限额) 整数 K|M|LIMITED ON 表空间(QUOTA 50M ON TABLESPACE)
   6.2 参考orcle客户端的图形界面(限额)。分配了UNLIMITED TABLESPACE分配了,就没有限额
   6.3 图形界面创建用户时候。默认给了角色,用户没有任何数据。在方案里面没有用户,默认在安全性里面  www.2cto.com  
   6.4 用户加锁解锁和口令失效
       命令行:ALTER XX USER ACCOUNT LOCK/UNLOCK;
       用户口令即刻失效:ALTER USER XX PASSWORD EXPIRE;(EBS创建用户的时候)
   6.5 DROP USER XX [CASCADE]
       CASCADE:表示删除用户所有对象
       drop user XX cascade;
 
 
作者 cunxiyuan108

推荐阅读
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 本文介绍了adg架构设置在企业数据治理中的应用。随着信息技术的发展,企业IT系统的快速发展使得数据成为企业业务增长的新动力,但同时也带来了数据冗余、数据难发现、效率低下、资源消耗等问题。本文讨论了企业面临的几类尖锐问题,并提出了解决方案,包括确保库表结构与系统测试版本一致、避免数据冗余、快速定位问题等。此外,本文还探讨了adg架构在大版本升级、上云服务和微服务治理方面的应用。通过本文的介绍,读者可以了解到adg架构设置的重要性及其在企业数据治理中的应用。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • MyBatis错题分析解析及注意事项
    本文对MyBatis的错题进行了分析和解析,同时介绍了使用MyBatis时需要注意的一些事项,如resultMap的使用、SqlSession和SqlSessionFactory的获取方式、动态SQL中的else元素和when元素的使用、resource属性和url属性的配置方式、typeAliases的使用方法等。同时还指出了在属性名与查询字段名不一致时需要使用resultMap进行结果映射,而不能使用resultType。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • win10系统搭建Java开发环境的操作方法
    本文介绍了win10系统搭建Java开发环境的详细操作方法,包括下载Windows10系统和Java SE,安装Java开发环境,设置变量等步骤。操作简单,只需按照指导进行即可。 ... [详细]
  • 【Windows】实现微信双开或多开的方法及步骤详解
    本文介绍了在Windows系统下实现微信双开或多开的方法,通过安装微信电脑版、复制微信程序启动路径、修改文本文件为bat文件等步骤,实现同时登录两个或多个微信的效果。相比于使用虚拟机的方法,本方法更简单易行,适用于任何电脑,并且不会消耗过多系统资源。详细步骤和原理解释请参考本文内容。 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
author-avatar
营营420_769
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有