Oracle用户权限及死锁
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用户权限及死锁的更多相关文章
- Oracle 用户权限管理方法
Oracle 用户权限管理方法 sys;//系统管理员,拥有最高权限 system;//本地管理员,次高权限 scott;//普通用户,密码默认为tiger,默认未解锁 sys;//系统管理员,拥有最 ...
- oracle用户权限
权限: create session create table unlimited tablespace connect resource dba 例: #sqlplus /nolog SQL> ...
- oracle 用户 权限
一. 概述 与权限,角色相关的视图大概有下面这些: DBA_SYS_PRIVS: 查询某个用户所拥有的系统权限 USER_SYS_PRIVS: 当前用户所拥有的系统权限 SESSION_PRIVS ...
- Oracle管理监控之Oracle用户权限
数据字典 1.动态数据字典是以v$xxx开始的数据字典,在数据库中约有150个左右,这些数据字典反映数据库动态运行状况,在不同时间查询会得到不同的结果. 2.DBA数据字典是以DBA_xxx表示,该数 ...
- 数据库(学习整理)----2--关于Oracle用户权限的授权和收权
知识点: 1.Oracle数据库中所用的用户等级是平级的!只是每个用户的权限不同而已! 2.在一个用户登录后,可以在自己的登录状态下访问其他用户的数据缓冲区.表.以及表的操作!(只要该用户用权限!) ...
- Oracle用户权限分配
一.权限分类 系统权限:系统规定用户使用数据库的权限.(系统权限是对用户而言). 实体权限:某种权限用户对其它用户的表或视图的存取权限.(是针对表或视图而言的). 二.系统权限管理 1.系统权限分类: ...
- oracle用户权限和角色
用户权限是最基本的数据库安全控制.其作用就是控制用户对数据的访问,sql语句的执行.当oracle用户创建的时候,可以通过授权来控制用户对数据的连接,数据库对象的操作等等. 在oracle中,分为两种 ...
- Oracle用户权限授权以及索引、同义词、分区
本文为原创,如需转载,请标明出处 http://www.cnblogs.com/gudu1/p/7601765.html ---- 用户权限 1.创建表空间 (创建用户之前需要创建表空间和临时表空间, ...
- Oracle 用户权限分配说明
一般来说,Oracle普通用户创建后,不建议分配DBA权限.那么一般分配哪些权限呢? 首先来说,一个Oracle普通用户,我们一般性的要求是: 1.能够在本用户下进行本用户相关的创建表结构,数据维 ...
随机推荐
- centos6.2 下安装并配置hadoop1.0.4(32位安装)
一,环境准备 1. 集群内所有电脑需要设置防火墙,下面以master为例说明: 切换到root用户下,执行setup指令:
- linux系统上内网ip和和外网ip的关系
1.不同服务之间的访问需要使用公网IP+端口才能访问 2.服务器上一般都是域名访问,服务器会把ip+端口映射成固定的域名,所以如果想访问服务器上其他应用,就必须的放开应用限制 问题,在服务器上放开对某 ...
- MVC4删除 pages引发的异常 System.Web.Optimization找不到引用
在MVC4的开发中,如果创建的项目为空MVC项目,那么在App_Start目录下没有BundleConfig.cs项的内容,在手动添加时在整个库中都找不到:System.Web.Optimizatio ...
- Github只下载某一目录的文件
比如要下载: https://github.com/xubo245/SparkLearning/tree/master/docs 将“tree/master”改成“trunk https://gith ...
- easyUI的分页,只显示第X 共Y页。改为显示 第X 页 共Y页
如下图,easyUI的分页,只显示第X 共Y页. 需求需要显示 第X 页 共Y页. 解决办法:在easyui-lang-zh_CN.js更改以下代码,即可.也就是在 “共{pages}页”前面加个 “ ...
- HBase 安装设置
一.安装环境 1. JDK:jdk-7u79-linux-x64.tar.gz 2. HBase:hbase-0.98.13-hadoop1-bin.tar.gz 3. Hadoop:hadoop-1 ...
- JavaScript中的垃圾回收机制与内存泄露
什么是内存泄露? 任何编程语言,在运行时都需要使用到内存,比如在一个函数中, var arr = [1, 2, 3, 4, 5]; 这么一个数组,就需要内存. 但是,在使用了这些内存之后, 如果后面他 ...
- Css权重解析
Css权重解析 关于CSS权重,我们需要一套计算公式来去计算,这个就是 CSS Specificity,我们称为CSS 特性或称非凡性,它是一个衡量CSS值优先级的一个标准 具体规范入如下: spec ...
- thread 带参数
在 .NET Framework 2.0 版中,要实现线程调用带参数的方法有两种办法. 第一种:使用ParameterizedThreadStart. 调用 System.Threading.Thre ...
- Root-NFS: Unable to get mountd port number from server, using default
问题描述: 以前下载到开发板linux内核启动好好地,今天突然启动不了了,到达Root-NFS: Unable to get mountd port number from server, using ...