Oracle用户权限表

oracle数据库中涉及到用户权限的三个表,dba_users,all_users,user_users有什么区别

dba_开头的是查全库所有的,all_开头的是查当前用户可以看到的,user_开头的是查当前用户的

用户与模式

用户:对数据库的访问,需要以适当用户身份通过验证,并具有相关权限来完成一系列动作

SYS用户,缺省始终创建,且未被锁定,拥有数据字典及其关联的所有对象

SYSTEM用户,缺省始终创建,且未被锁定,可以访问数据库内的所有对象

状态详解

0

OPEN

当前帐户是开放的用户可以自由登录

1

EXPIRED

当前帐户已经过期用户必须在修改密码以后才可以登录系统在登录的时候系统会提示修改密码

2

EXPIRED(GRACE)

这是有password_grace_time定义的一个时间段在用户密码过期以后的第一次登录系统会提示用户,密码在指定的时间段以后会过期需要及时修改系统密码.

4

LOCKED(TIMED)

这是一个有条件的帐户锁定日期password_lock_time进行控制lock_date加上password_lock_time的日期以后,帐户会自动解锁.

8

LOCKED

帐户是锁定的,用户不可以登录必须由安全管理员将帐户打开用户才可以登录.

5

EXPIRED & LOCKED(TIMED)

 

6

EXPIRED(GRACE) & LOCKED(TIMED)

 

9

EXPIRED & LOCKED

 

10

EXPIRED(GRACE) & LOCKED

 

 

给账户加锁

Alter user user1 account lock;

解锁

Alter user user1 account unlock;

死锁:两个进程互相请求对方资源被阻塞就会死锁,发生死锁不能自动释放,必须手动解锁。

Oracle 锁

v$lock视图常用列解释

sid:持有锁的会话SID,通常与v$session关联

type:锁的类型,TM:表锁,TX行锁或事务锁,其他类型为系统锁,会自动释放

lmode:会话保持的锁的模式。

0=None;

1=Null ;

2=Row-S (SS,行级共享锁,其他对象只能查询这些数据行),sql操作有select for update、lock for update、lock row share;

3=Row-X (SX,行级排它锁,在提交前不允许做DML操作),sql操作有insert、update、delete、lock row share;

4=Share(共享锁),sql操作有create index、lock share;

5=S/Row-X (SSX,共享行级排它锁),sql操作有lock share row exclusive;

6=Exclusive(排它锁),alter table、drop table、drop index、truncate table、look exclusive等DDL

2.V$LOCKED_OBJECT
   session_id:        
会话id。通常与v$session关联。
   object_id:         
被锁对象标识。通常与dba_objects关联。
   oracle_username:    登录oracle用户名。
   os_user_name:      
电脑用户名如:Administrator
   locked_mode:       
会话保持的锁的模式。

V$LOCKED_OBJECT主要查询的用户锁,v$lock查询所有锁

v$Session常用列解释
SID - session identifier 常用于链接其他列
SERIAL# - SID有可能会重复,当两个session的SID重复时,SERIAL#用来区别session(说白了某个session是由sid和serial#这两个值确定的)
USERNAME - session's username。等于dba_users中的username。Oracle内部进程的username为空。
STATUS - 用来判断session状态。Active:正执行SQL语句。inactive:等待操作。killed:被标注为杀死。
OSUSER - 客户端操作系统用户名。
MACHINE - 客户端machine name。
TERMINAL - 客户端执行的terminal name。

视图dba_objects记录数据库中所有的对象

视图描述如下:

OWNER:对象拥有者

OBJECT_NAME:对象名字

常用SQL:

查询数据库中的锁



select * from v$lock;
select * from v$lock where block=1;

查询被锁的对象

select * from v$locked_object;

查询阻塞

查被阻塞的会话
select * from v$lock where lmode=0 and type in
('TM','TX');

查阻塞别的会话锁
select * from v$lock where lmode>0 and type
in ('TM','TX');

查询数据库正在等待锁的进程

select * from v$session where lockwait is not null;

查询死锁:

select b.owner TABLEOWNER, b.object_name TABLENAME, c.OSUSER LOCKBY, c.USERNAME LOGINID, c.sid SID, c.SERIAL# SERIAL

from v$locked_object a,dba_objects b, v$session c

where b.object_id = a.object_id AND a.SESSION_ID =c.sid;

解锁

--通过SID, SERIAL解锁 
--alter system kill session 'SID, SERIAL';

1.查看所有用户:
  select * from dba_users;
  select * from all_users;
  select * from user_users;
 
2.查看用户或角色系统权限(直接赋值给用户或角色的系统权限):
  select * from dba_sys_privs;
  select * from user_sys_privs;

3.查看角色(只能查看登陆用户拥有的角色)所包含的权限
sql>select * from role_sys_privs;
 
4.查看用户对象权限:
  select * from dba_tab_privs;
  select * from all_tab_privs;
  select * from user_tab_privs;
 
5.查看所有角色:
  select * from dba_roles;
 
6.查看用户或角色所拥有的角色:
  select * from dba_role_privs;
  select * from user_role_privs;

7.查看哪些用户有sysdba或sysoper系统权限(查询时需要相应权限)
select * from V$PWFILE_USERS

Oracle用户权限及死锁的更多相关文章

  1. Oracle 用户权限管理方法

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

  2. oracle用户权限

    权限: create session create table unlimited tablespace connect resource dba 例: #sqlplus /nolog SQL> ...

  3. oracle 用户 权限

    一. 概述 与权限,角色相关的视图大概有下面这些: DBA_SYS_PRIVS: 查询某个用户所拥有的系统权限 USER_SYS_PRIVS:   当前用户所拥有的系统权限 SESSION_PRIVS ...

  4. Oracle管理监控之Oracle用户权限

    数据字典 1.动态数据字典是以v$xxx开始的数据字典,在数据库中约有150个左右,这些数据字典反映数据库动态运行状况,在不同时间查询会得到不同的结果. 2.DBA数据字典是以DBA_xxx表示,该数 ...

  5. 数据库(学习整理)----2--关于Oracle用户权限的授权和收权

    知识点: 1.Oracle数据库中所用的用户等级是平级的!只是每个用户的权限不同而已! 2.在一个用户登录后,可以在自己的登录状态下访问其他用户的数据缓冲区.表.以及表的操作!(只要该用户用权限!) ...

  6. Oracle用户权限分配

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

  7. oracle用户权限和角色

    用户权限是最基本的数据库安全控制.其作用就是控制用户对数据的访问,sql语句的执行.当oracle用户创建的时候,可以通过授权来控制用户对数据的连接,数据库对象的操作等等. 在oracle中,分为两种 ...

  8. Oracle用户权限授权以及索引、同义词、分区

    本文为原创,如需转载,请标明出处 http://www.cnblogs.com/gudu1/p/7601765.html ---- 用户权限 1.创建表空间 (创建用户之前需要创建表空间和临时表空间, ...

  9. Oracle 用户权限分配说明

    一般来说,Oracle普通用户创建后,不建议分配DBA权限.那么一般分配哪些权限呢? 首先来说,一个Oracle普通用户,我们一般性的要求是:   1.能够在本用户下进行本用户相关的创建表结构,数据维 ...

随机推荐

  1. thinkphp5的mkdir() Permission denied问题

    最近一直在用tp5写项目,在此遇到的问题也比较多.今天来谈谈“mkdir() Permission denied”错误. 你如果不仅仅写代码,还得部署到线上,那么这个tp5的这个错误,你有很大概率会遇 ...

  2. Android 美学设计基础 <3>

    本期接着对Android的美学设计的分享. 1.3 Light and shadows 光学与阴影 1.3.1 Light 在素材设计的环境中,我们会用虚拟的光来照亮UI界面.主灯光会产生尖锐,有方向 ...

  3. 北大POJ题库使用指南

    原文地址:北大POJ题库使用指南 北大ACM题分类主流算法: 1.搜索 //回溯 2.DP(动态规划)//记忆化搜索 3.贪心 4.图论 //最短路径.最小生成树.网络流 5.数论 //组合数学(排列 ...

  4. Windows下的Nginx安装与配置(PHP)

    因为一直用Apache作为服务器,对Apache的使用和配置已经相对熟悉,今天换了一下nginx的服务器,整个配置流程相对比较简单,php的配置没有任何变化. 主要的参考文档为 http://blog ...

  5. PostgreSQL 数据库错误代码解释

    PostgreSQL 服务器发出的所有消息都赋予了五个字符 的错误代码, 这些代码遵循 SQL 的 "SQLSTATE" 代码的习惯.需要知道发生了什么错误条件的应用通常应该测试错 ...

  6. 神策Loagent数据收集 windows部署的坑

    部署可以修改bin文件夹下的bat文件.. java改为javaw..无窗口运行 重新启动的时候..要保证上次运行到的日志文件要还在..或者同名文件.. 保证要比之前的文件大些..所以最好是之前的文件 ...

  7. Java之IO(十一)BufferedReader和BufferedWriter

    转载请注明源出处:http://www.cnblogs.com/lighten/p/7074488.html 1.前言 按照字节流的顺序一样,字符流也提供了缓冲字符流,与字节流不同,Java虽然提供了 ...

  8. sql子查询在insert、update、delete中的应用

    子查询可以应用在INSERT.UPDATE以及DELETE等语句中,合理的使用子查询将能够简化功能的实现并且极大的提高SQL语句执行的效率 用到的表: CREATE TABLE `t_readerfa ...

  9. 国内maven仓库地址资源汇总

    国内maven仓库地址:阿里云maven仓库,网易163maven仓库,以及其他maven仓库地址. 国内下载maven一般速度都很慢,下载需要很久时间.这里汇总了一些国内的镜像资源 附带pom文件中 ...

  10. 从raft论文出发

    介绍 Raft是一种为了管理复制日志的一致性算法.为了提升可理解性,Raft 将一致性算法分解成了几个关键模块,例如领导人选举.日志复制和安全性.同时它通过实施一个更强的一致性来减少需要考虑的状态的数 ...