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

sqlplus / as sysdba
or
slqplus SYS/SYSPWD as sysdba

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

2 查看当前登录用户

SQL> show user;
USER 为 "SYS"

3 创建用户

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

创建用户并指定其表空间

create user lisi identified by lisi
default tablespace lisi temporary tablespace lisi_temp;

删除用户

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

锁定用户

alter user lisi account lock;

解锁用户

alter user lisi account unlock;

修改用户密码

alter user lisi indentifiled by newPwd;

新用户登录

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

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

4 授予新用户权限

//授权
SQL> grant create session to lisi;
授权成功。

新用户再次登录成功

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

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

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

授予用户DBA的角色权限

GRANT DBA TO lisi; 

5 建表

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

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

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

6 执行数据库操作

SQL> create table mytable(id int);
表已创建。 SQL> insert into mytable values(1);
已创建 1 行。 SQL> select * from mytable;
ID
----------
1 SQL> drop table mytable;
表已删除。

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

7 回收权限

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

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

SQL> select * from user_sys_privs;
USERNAME PRIVILEGE ADM
------------------------------ ---------------------------------------- ---
LISI CREATE SESSION NO
LISI UNLIMITED TABLESPACE NO SQL> grant create table to lisi;
授权成功。 SQL> select * from user_sys_privs;
USERNAME PRIVILEGE ADM
------------------------------ ---------------------------------------- ---
LISI CREATE SESSION NO
LISI CREATE TABLE NO
LISI UNLIMITED TABLESPACE NO

备注:

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

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

一个分配大权限的例子:

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修改其密码

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

或者

// login without connect to server
C:\Users\sredcat>sqlplus /nolog //connect to server as sysdba for manage DB server
SQL> conn / as sysdba
已连接。

[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. fork函数相关总结

    fork的作用是根据一个现有的进程复制出一个新进程,原来的进程称为父进程(Parent Process),新进程称为子进程(Child Process).系统中同时运行着很多进程,这些进程都是从最初只 ...

  2. Spring Data JPA使用Sort进行排序(Using Sort)(转)

    通过上一节的学习,我们知道了如何用@Query注解来实现灵活的查询.在上一节的示例中,我也尝试给出简单的排序,通过JPQL语句以及原生SQL来实现的.这样的实现,虽然在一定程度上可以应用,但是灵活度不 ...

  3. docker基本概念2

    1 docker 容器,容器可以被创建.启动.停止.删除.暂停等 容器是镜像的一个运行实例,不同的是,他有额外的可写文件层.提供了独立的应用环境. 容器的实质是进程,与宿主机进程不同的是有自己的独立的 ...

  4. mysql开启skip-name-resolve 导致root@127.0.0.1(localhost)访问引发的ERROR 1045 (28000)错误解决方案

    为什么配置skip-name-resolve? 由于mysql -h${ip} 远程访问速度过慢, mysql -uroot -p123456 根据网友经验(https://www.cnblogs.c ...

  5. ps可选颜色

    RGB模式和CMYK模式 青色加红色是黑色->颜料,而蓝色绿色(它们合起来是青色)加红色却是白色->加光 可调整的原色(主色)可调整的主色分为三组RGB三原色:红色.绿色.蓝色CMY三原色 ...

  6. [Jobdu] 题目1370:数组中出现次数超过一半的数字

    题目描述: 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}.由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2 ...

  7. [svc][op]磁盘Inode详解-重要

    另一篇白话总结 一.inode是什么 理解inode,要从文件储存说起. 文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector).每个扇区储存512字节(相当于0.5KB ...

  8. IT人都非常忙(茫)

    我发现.身边的盆友都非常忙,要么在加班.要么加班刚回家:要么在出差,要么刚出差回来. 难道搞IT的人都非常忙么?忙还是茫? 大学期间.不知道未来要干什么.非常多人也不清楚应该学习哪些知识和技能.是否须 ...

  9. nginx学习之epoll

    https://blog.csdn.net/mmshixing/article/details/51848673 首先说一下传统的I/O多路复用select和poll,对比一下和epoll之间的区别: ...

  10. Oracle PLSQL Demo - 15.强类型REF游标[预先指定查询类型与返回类型]

    declare Type ref_cur_emp IS REF CURSOR RETURN scott.emp%RowType; cur_emp ref_cur_emp; rec_emp cur_em ...