1 利用超级用户连接到数据库登录

  1. sqlplus / as sysdba
  2. or
  3. slqplus SYS/SYSPWD as sysdba

这两个命令的效果是一样的,都是以sysdba的身份使得SYS管理员连接到数据库。前提是windows登录账户有管理oracle的权限

2 查看当前登录用户

  1. SQL> show user;
  2. USER "SYS"

3 创建用户

  1. SQL> create user lisi identifiled by lisi;
  2. 用户已创建。

创建用户并指定其表空间

  1. create user lisi identified by lisi
  2. default tablespace lisi temporary tablespace lisi_temp;

删除用户

  1. //级联删除用户及其对象
  2. drop user lisi cascade;

锁定用户

  1. alter user lisi account lock;

解锁用户

  1. alter user lisi account unlock;

修改用户密码

  1. alter user lisi indentifiled by newPwd;

新用户登录

  1. //新用户登录被拒绝
  2. C:\Users\sredcat>sqlplus lisi/lisi
  3.  
  4. SQL*Plus: Release 10.2.0.3.0 - Production on 星期一 12 30 11:08:16 2013
  5. Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
  6.  
  7. ERROR:用户没有登录权限
  8. ORA-01045: user LISI lacks CREATE SESSION privilege; logon denied

由于缺乏 CREATE SESSION 的权限也就是登录的权限被拒绝登录,此时要赋予其登录的权限。

4 授予新用户权限

  1. //授权
  2. SQL> grant create session to lisi;
  3. 授权成功。

新用户再次登录成功

  1. //登录新用户
  2. C:\Users\sredcat>sqlplus lisi/lisi
  3. SQL*Plus: Release 10.2.0.3.0 - Production on 星期一 12 30 11:11:00 2013
  4. Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
  5.  
  6. 连接到:
  7. Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production
  8. With the Partitioning, OLAP and Data Mining options

此时仅有登录权限,如需执行数据库操作还需要其他的权限

  1. //授权其他权限
  2. SQL> grant create table to lisi;
  3. 授权成功。

授予用户DBA的角色权限

  1. GRANT DBA TO lisi;

5 建表

  1. SQL> create table mytable(id int);
  2. create table mytable(id int)
  3. *
  4. 1 行出现错误:
  5. ORA-01950: 对表空间 'USERS' 无权限

出现错误,此时需要取消表空间对新用户的限制

  1. //使用表空间时没有任何限制
  2. SQL> grant unlimited tablespace to lisi;
  3. 授权成功。

6 执行数据库操作

  1. SQL> create table mytable(id int);
  2. 表已创建。
  3.  
  4. SQL> insert into mytable values(1);
  5. 已创建 1 行。
  6.  
  7. SQL> select * from mytable;
  8. ID
  9. ----------
  10. 1
  11.  
  12. SQL> drop table mytable;
  13. 表已删除。

备注:当用户有创建表和使用空间的权限时,如果该用户创建了自己的表,那么该用户对自己的表就具有了增删改查的权限了。无需另外赋予其他的权限。

7 回收权限

  1. SQL> revoke create table from lisi;
  2. 撤销成功。
  3.  
  4. //此时再次创建表就会报错
  5. SQL> create table mytable(id int);
  6. create table mytable(id int)
  7. *
  8. 1 行出现错误:
  9. ORA-01031: 权限不足

8 查看用户当前拥有的权限【视图:user_sys_privs】

  1. SQL> select * from user_sys_privs;
  2. USERNAME PRIVILEGE ADM
  3. ------------------------------ ---------------------------------------- ---
  4. LISI CREATE SESSION NO
  5. LISI UNLIMITED TABLESPACE NO
  6.  
  7. SQL> grant create table to lisi;
  8. 授权成功。
  9.  
  10. SQL> select * from user_sys_privs;
  11. USERNAME PRIVILEGE ADM
  12. ------------------------------ ---------------------------------------- ---
  13. LISI CREATE SESSION NO
  14. LISI CREATE TABLE NO
  15. LISI UNLIMITED TABLESPACE NO

备注:

① 所有权限的赋予和回收都是SYS/SYSTEM这种DBA角色来执行的,普通用户没有该权限。

② 应该遵循权限最小化的原则来为新用户分配权限。

一个分配大权限的例子:

  1. GRANT CREATE USER,DROP USER,ALTER USER,CREATE ANY VIEW,DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,DBA,CONNECT,RESOURCE,CREATE SESSION TO 用户名字

③ 当遗忘数据库用户甚至是DBA的密码时,使用下面两种方法可以进入SQL修改其密码

  1. //操作系统认证
    sqlplus / as sysdba

或者

  1. // login without connect to server
  2. C:\Users\sredcat>sqlplus /nolog
  3.  
  4. //connect to server as sysdba for manage DB server
  5. SQL> conn / as sysdba
  6. 已连接。

[oracle] 系统权限管理的更多相关文章

  1. Oracle 用户权限管理方法

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

  2. OA系统权限管理设计方案

    (转)OA系统权限管理设计方案 OA系统权限管理设计方案     不同职责的人员,对于系统操作的权限应该是不同的.优秀的业务系统,这是最基本的功能.     可以对“组”进行权限分配.对于一个大企业的 ...

  3. oracle数据库权限管理

    权限管理: oracle 9里面默认的三个username和password: sys change_on_install //权限最高的管理员 system manager //普通的管理员 sco ...

  4. Oracle系统权限与对象权限

    oracle权限分为: 系统权限: 允许用户执行特定的数据库动作,如创建表.创建索引.连接实例等. 对象权限: 允许用户操纵一些特定的对象,如读取视图,可更新某些列.执行存储过程等. 系统权限 超过一 ...

  5. OA系统权限管理设计(转载)

    不论什么系统都离不开权限的管理,有一个好的权限管理模块,不仅使我们的系统操作自如,管理方便,也为系统加入亮点. l         不同职责的人员,对于系统操作的权限应该是不同的.优秀的业务系统,这是 ...

  6. 潭州课堂25班:Ph201805201 django框架 第十三课 自定义404页面,auth系统中的User模型,auth系统权限管理 (课堂笔记)

    当 DEBUG=True 时,django 内部的404报错信息, 自带的报错信息, 要自定义404信息,要先把 DEBUG=False , 之后要自定义4040页面,有两种方法, 方法1,在创建40 ...

  7. OA系统权限管理设计方案【转】

    l 不同职责的人员,对于系统操作的权限应该是不同的.优秀的业务系统,这是最基本的功能. l 可以对“组”进行权限分配.对于一个大企业的业务系统来说,如果要求管理员为其下员工逐一分配系统操作权限的话,是 ...

  8. OA系统 权限管理的设计流程

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/u013630349/article/det ...

  9. 【转】 Oracle 用户权限管理方法

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

随机推荐

  1. 如何不让DataGridView自动生成列

    如果不想让DataGridView自动生成与数据源对应的列, 只需要把属性AutoGenerateColumns设为false即可. 需要注意: 在界面设计的属性窗口中是看不到AutoGenerate ...

  2. 关闭VS的实时调试器

    今天要安装一个水晶报表.安装过程有几个文件有错误.结果这个vs的实时调试器老是调出来.而且还是5次跳出来等你取消5次之后,才到默认的忽略的界面.你知道有多烦的,还得看这他,点完一次还要等几秒钟.差点崩 ...

  3. Asp.net 用户控件和自定义控件注册

    在ASPX页中注册用户控件的方法 <%@ Register Src="ListPicker.ascx" TagName="ListPicker"  Tag ...

  4. javascript怎么禁用浏览器后退按钮

    1. <script language="JavaScript">    javascript:window.history.forward(1); </scri ...

  5. Js 常用函数【持续更新】

    Js Math对象方法介绍:http://www.w3school.com.cn/jsref/jsref_obj_math.asp 1. 算数函数(Math) 1)Js小数取整 常用于:分页算法 js ...

  6. Android开发12——Andorid中操作数据库的insert的两种方法以及nullColumnHack

    一.发现问题 先看两种方法插入数据 public void save(Person p){ SQLiteDatabase db = dbHelper.getWritableDatabase(); db ...

  7. 使用B::Deparse模块对perl代码反汇编

    Perl用很多默认操作和习惯用法,如果对某些代码不确定,perl编译器的真实理解方式,可以用Deparse模块反汇编看一下. 比如下面代码: while(<STDIN>){ print & ...

  8. Test for Required Behavior, Not Incidental Behavior

    Test for Required Behavior, Not Incidental Behavior Kevlin Henney A COMMON PITFALL IN TESTING is to ...

  9. springboot获取URL请求参数的多种方式

    1.直接把表单的参数写在Controller相应的方法的形参中,适用于get方式提交,不适用于post方式提交. /** * 1.直接把表单的参数写在Controller相应的方法的形参中 * @pa ...

  10. Top 40 Static Code Analysis Tools

    https://www.softwaretestinghelp.com/tools/top-40-static-code-analysis-tools/ In this article, I have ...