[oracle] 系统权限管理
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] 系统权限管理的更多相关文章
- Oracle 用户权限管理方法
Oracle 用户权限管理方法 sys;//系统管理员,拥有最高权限 system;//本地管理员,次高权限 scott;//普通用户,密码默认为tiger,默认未解锁 sys;//系统管理员,拥有最 ...
- OA系统权限管理设计方案
(转)OA系统权限管理设计方案 OA系统权限管理设计方案 不同职责的人员,对于系统操作的权限应该是不同的.优秀的业务系统,这是最基本的功能. 可以对“组”进行权限分配.对于一个大企业的 ...
- oracle数据库权限管理
权限管理: oracle 9里面默认的三个username和password: sys change_on_install //权限最高的管理员 system manager //普通的管理员 sco ...
- Oracle系统权限与对象权限
oracle权限分为: 系统权限: 允许用户执行特定的数据库动作,如创建表.创建索引.连接实例等. 对象权限: 允许用户操纵一些特定的对象,如读取视图,可更新某些列.执行存储过程等. 系统权限 超过一 ...
- OA系统权限管理设计(转载)
不论什么系统都离不开权限的管理,有一个好的权限管理模块,不仅使我们的系统操作自如,管理方便,也为系统加入亮点. l 不同职责的人员,对于系统操作的权限应该是不同的.优秀的业务系统,这是 ...
- 潭州课堂25班:Ph201805201 django框架 第十三课 自定义404页面,auth系统中的User模型,auth系统权限管理 (课堂笔记)
当 DEBUG=True 时,django 内部的404报错信息, 自带的报错信息, 要自定义404信息,要先把 DEBUG=False , 之后要自定义4040页面,有两种方法, 方法1,在创建40 ...
- OA系统权限管理设计方案【转】
l 不同职责的人员,对于系统操作的权限应该是不同的.优秀的业务系统,这是最基本的功能. l 可以对“组”进行权限分配.对于一个大企业的业务系统来说,如果要求管理员为其下员工逐一分配系统操作权限的话,是 ...
- OA系统 权限管理的设计流程
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/u013630349/article/det ...
- 【转】 Oracle 用户权限管理方法
sys;//系统管理员,拥有最高权限 system;//本地管理员,次高权限 scott;//普通用户,密码默认为tiger,默认未解锁 sys;//系统管理员,拥有最高权限 system;//本地管 ...
随机推荐
- GO语言学习 ---nil
nil是什么 相信写过Golang的程序员对下面一段代码是非常非常熟悉的了: if err != nil { // do something.... } 当出现不等于nil的时候,说明出现某些 ...
- Jmeter——BeanShell PreProcessor的用法
一.什么是BeanShell BeanShell是一个小型嵌入式Java源代码解释器,具有对象脚本语言特性,能够动态地执行标准JAVA语法,并利用在JavaScript和Perl中常见的的松散类型.命 ...
- Java实现文件自动打包成zip并下载的代码
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java. ...
- Python endswith() 方法
描述 endswith() 方法用于判断字符串是否以指定后缀结尾,如果是则返回 True,否则返回 False. 语法 endswith() 方法语法: S.endswith(suffix[,star ...
- Aixs2 使用总结,持续更新中 ...
参考博客:http://zhangjunhd.blog.51cto.com/113473/23692 消息交换模式. 目前Axis2支持三种模式:In-Only.Robust-In和In-Ou ...
- 转 CAS实现SSO单点登录原理
原文链接 http://m.blog.csdn.net/hxpjava1/article/details/74019017 CAS 简介 1. 1.1. What is CAS ? CAS ( ...
- 江南白衣 Java性能优化PPT
会后江南白衣花费数日整理PPT,到1.4版本共66页,内容翔实且旁征博引,不断校正且力求做到极致的匠艺精神值得尊敬! 技术大牛飒然Hang如是说到: “技术大神中,除了陈皓就是白衣了,四十岁还能钻研. ...
- bs-web项目时会经常打断点跟踪信息,可是循环时总是F10、F10的按,那么把所数据打印出来查看会更方便
bs-web项目时会经常打断点跟踪信息,可是循环时总是F10.F10的按,那么把所数据打印出来查看会更方便 一.打断点的方式适合在有错误产生的时候用很好用. 二.可是在分析数据时不直观,得一个一个循环 ...
- java日志-纯Java配置使用slf4j配置log4j(转)
工程目录如下 代码里面用的是slf4j,但是想要用log4j来管理日志,就得添加slf4j本来的jar,然后添加log4j和slf4j箱关联的jar即可. 如果是maven项目的话添加下面的依赖即可 ...
- Testbench
作者:桂. 时间:2017-08-15 07:11:50 链接:http://www.cnblogs.com/xingshansi/p/7363048.html 前言 Testbench主要用于mo ...