oracle查看被锁的表和被锁的进程以及杀掉这个进程

-- 1. 查看被锁的表

SELECT p.spid, a.serial#, c.object_name, b.session_id, b.oracle_username,b.os_user_name
FROM v$process p, v$session a, v$locked_object b, all_objects c
WHERE p.addr = a.paddr
AND a.process = b.process
AND c.object_id = b.object_id

-- 2. 查看是哪个进程锁的

SELECT sid, serial#, username, status, osuser FROM v$session where serial# = '5002'

SELECT sid, serial#, username, status, osuser FROM v$session where serial# = '3789'

-- 3. 杀掉这个进程

alter system kill session 'sid,serial#';
alter system kill session '269,3789';
alter system kill session '34,4661';
alter system kill session '265,5002';
alter system kill session '289,1688';
alter system kill session '282,5799';
时间: 2014-08-02

Oracle用户密码过期和用户被锁的解决方法

今天正在上班的过程中,客户反映了他们的系统登录不了,经过我的一番检查,发现是因为数据库密码过期导致的,在网上查找相关资料发现还真有此种情况发生,在此顺便做了个整理,以便共同交流! 产生原因: 在oracle11g中默认在default概要文件中设置了"PASSWORD_LIFE_TIME=180天"所导致. 在oracle11g中默认在default概要文件中设置了"FAILED_LOGIN_ATTEMPTS=10次",当输入密码错误次数达到设置值将导致此问题. 解

Oracle数据库用户的密码过期时间如何修改为永不过期

Oracle的密码过期规则是用Profile来管理的,系统默认只有一个Profile(DEFAULT),该profile的密码过期规则为180天: 而所有的用户都使用该DEFAULT的profile,所以如果修改DEFAULT的过期规则会影响所有的用户: 所以我们新建一个profile,修改该profile的过期规则为无限期,在让某个用户适用于该profile,则该用户的过期规则会变更. 以下举例:修改MESSERIES用户的密码过期规则为UNLIMITED 1.     新建profile "

ORACLE 如何查询被锁定表及如何解锁释放session

ORACLE EBS操作某一个FORM界面,或者后台数据库操作某一个表时发现一直出于"假死"状态,可能是该表被某一用户锁定,导致其他用户无法继续操作 复制代码 代码如下: --锁表查询SQLSELECT object_name, machine, s.sid, s.serial# FROM gv$locked_object l, dba_objects o, gv$session s WHERE l.object_id = o.object_id AND l.session_id =

oracle密码过期的彻底解决方案

越是赶时间,越耽误事,测试环境oracle密码过期. 不多说,解决:设置成永不过期(SIT环境). 1.以sys用户登录管理数据库:查询语句如下,未格式化查询语句.. select * from dba_profiles where profile = 'DEFAULT' and resource_name = 'PASSWORD_LIFE_TIME'; 2.修改有效期,提交. alter profile default limit password_life_time unlimited; c

Oracle 11g中密码过期问题详解

密码过期的原因一般有两种可能: 一.由于Oracle中默认在default概要文件中设置了"PASSWORD_LIFE_TIME=180天"所导致. 二.由于Oracle中默认在default概要文件中设置了"FAILED_LOGIN_ATTEMPTS=10次",当输入密码错误次数达到设置值将导致此问题. 第一种情况解决方法如下: 1.查看用户用的哪种profile策略,一般是default: 复制代码 代码如下: SQL> select username,p

深入探讨:Oracle中如何查询正锁表的用户以及释放被锁的表的方法

可在PL/SQL中用如下SQL语句来查询当前数据库中哪些表被锁住了,并且是哪些用户来锁的这些表: SELECT  A.OWNER,                        --OBJECT所属用户  A.OBJECT_NAME,                  --OBJECT名称(表名)  B.XIDUSN,  B.XIDSLOT,  B.XIDSQN,  B.SESSION_ID,                   --锁表用户的session  B.ORACLE_USERNAME

ORACLE 查询被锁住的对象,并结束其会话的方法

使用Oracle时,发现有表被锁,又不知道是谁(或者哪个程序)锁的,怎么办 ? 两步走: 1.查找出被锁对象的会话ID和序列号 执行如下SQL: -- 查询出被锁对象,并提供 kill 脚本 SELECT S.SID, S.MACHINE, O.OBJECT_NAME, L.ORACLE_USERNAME, L.LOCKED_MODE, S.OSUSESR, 'ALTER SYSTEM KILL SESSION '''|| S.SID || ', '|| S.SERIAL#||''';' AS

使用Oracle数据库登录时被告知用户被锁怎么解决

在登陆时被告知test用户被锁 1.用dba角色的用户登陆,进行解锁,先设置具体时间格式,以便查看具体时间 SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss'; Session altered. 2.查看具体的被锁时间 SQL> select username,lock_date from dba_users where username='TEST'; USERNAME LOCK_DATE --------------

ORA-28002 Oracle 11g存在密码过期问题解决方案

故障现象 Oracle Database 11g 数据库普通用户登录时提示 ORA-28002: the password will expire within 7 days [11:01:00oracle@dvd db_1]$sqlplus wang/oracle SQL*Plus: Release 11.2.0.1.0 Production on Fri Nov 16 11:01:23 2012 Copyright (c) 1982, 2009, Oracle. All rights res

Oracle数据库账号被锁定解决方法

在Oracle数据库操纵中,登录Oracle账号时提示失败,并且Oracle账号频繁被锁定.造成此故障的原因是什么呢?本文就介绍了这一过程,经由过程慢慢排查我们就能找到该故障的原因了. 下面记录下查找这个题目的步调. 1. 找到账号被锁按时候 哄骗sqlplus或者sqldeveloper,查询账号被锁定的时候,相干语句如下: --批改当前会话的日期显示格局 alter session set nls_date_format = ""yyyy-MM-dd hh24:mi:ss"

oracle数据库密码到期怎么解决

–查看用户的profile是哪一个 select username,profile from dba_users; –查看指定的概要文件(如default)的密码有效期设置 select *from dba_profiles s where s.profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME'; –将密码有效期由默认的180天修改为"无限制" ALTER PROFILE DEFAULT LIMIT PASSWORD_LIF

Oracle安装监听器错误的解决方法

小白在搭载环境时,经常遇到的一个问题就是数据库安装错误,其中Oracle监听器的错误是经常出现的一个错误,搞不好还要重装系统.下面我就总结一下解决监听器配置问题的三个方法. 一.删除监听器重新配置 在cmd命令栏,sercices.msc查看服务,找到Oracle监听器,停止运行.找到配置和移植工具下的Net Configuration Assistant进行简单的删除再重新建一个即可,直接点击下一步(ps重新配置完成后需重启电脑). 二.重新配置IP地址 如果在服务中Oracle监听器已经打开

Oracle数据库常用命令整理(实用方法)

这篇文章主要介绍了oracle查询语句,有助于新手迅速熟悉ORACLE基本语法有助于新手迅速熟悉ORACLE基本语法,需要的朋友可以收藏下 oracle查看用户状态 select username,account_status from dba_users; 查看所有角色 select * from dba_roles; 锁定用户 alter user XXX account lock; Linux下新建用户 useradd -d /home/XXX -s /usr/bin/ksh -m XXX

php连接oracle数据库及查询数据的方法

本文实例讲述了php连接oracle数据库及查询数据的方法.分享给大家供大家参考.具体分析如下: php有强大的功能不但可以支持mysql,mssql,mysqli之个我们还可以与oracle数据连接,要让php支持oracle非常的简单我们只要把php.ini中的;extention = php_oci8.dll分号去掉即可. php支持oracle连接函数 php.ini文件中的配置,去掉 ;extention = php_oci8.dll,去掉前面的分号,重启apache就可以了,如果不行

ThinkPHP入库出现两次反斜线转义及数据库类转义的解决方法

本文实例讲述了ThinkPHP入库出现两次反斜线转义及数据库类转义的解决方法.分享给大家供大家参考.具体方法如下: 这种情况是在 magic_quotes_gpc 开启的情况下发生的.原因是thinkphp在入库的时候没有判断 magic_quotes_gpc 是否开启,不管三七二十一地进行了转义处理. 解决办法是在入口文件增加如下代码则可: 复制代码 代码如下: if (!get_magic_quotes_gpc()) {      function addslashes_deep($valu

php pdo oracle中文乱码的快速解决方法

在/etc/profile.d/简历oracle.sh 内容如下在NLS_LANG设置编码 ORACLE_HOME=/usr/lib/oracle/12.1/client64 C_INCLUDE_PATH=/usr/include/oracle/12.1/client64 LD_LIBRARY_PATH=$ORACLE_HOME/lib #remember this is the client NLS_LANG not the server one NLS_LANG=FRENCH_FRANCE.

django数据库migrate失败的解决方法解析

Django是一个MVC架构的web框架,其中,数据库就是"Module".使用这种框架,我们不必写一条SQL语句,就可以完成对数据库的所有操作.在之前的Django版本中,我们像操作本地对象那样操作数据对象,在更改保存之后,执行python manage.py syncdb命令来同步数据库,在我使用的1.9.2版本中,需要依次执行一下步骤: python manage.py makemigrations (这个命令会根据你对数据库做出的更改生成操作数据库的python脚本) pyth

Oracle数据库升级或数据迁移方法研究

一.数据库升级的必要性 数据库升级是数据库管理员经常要面对的问题,如果你的应用要使用新版本数据库的新特性:如果数据库运行负载过重,而通过软硬件调整又不能有根本性的改善:如果要更换操作系统平台:如果要增强数据库的安全性:还有一个原因是随着新版本数据库的出现与成熟,oracle停止了对旧版本数据库的技术支持,升级到高版本,可以继续获得oracle的支持,还可以利用新版本数据库的新特新,可以改善系统的性能,健壮性,可扩张性和可用性,等等,面对这些问题,需要通过数据库升级才得以解决.不过,如果你的系统运

修改oracle数据库用户名及密码的方法

改oracle数据库用户名称和密码(Linux为例),有需要的朋友可以参考下. 一.修改前准备工作: 使用ssh工具以root身份连接服务器, 然后切换到oracle用户:su - oracle(回车) 使用sqlplus连接数据库:sqlplus /nolog(回车) 以管理员身份登录sys用户:conn sys/sys as sysdba(回车) 数据库连接成功,至此准备工作完成. 二.修改用户名称. 数据库连接成功后,在SQL>提示后面继续输入: 首先查到到所需修改用户名称的用户需要:se