【Oracle】Oracle解锁、Oracle锁表处理

1、查看哪些对象被锁

select s.username,
       decode(l.type, ‘TM‘, ‘TABLE   LOCK‘, ‘TX‘, ‘ROW   LOCK‘, NULL) LOCK_LEVEL,
       o.owner,
       o.object_name,
       o.object_type,
       s.sid,
       s.serial#,
       s.terminal,
       s.machine,
       s.program,
       s.osuser
  from v$session s, v$lock l, dba_objects o
 where s.sid = l.sid
   and o.object_id = l.id1
   and s.username is not null;

2、下面的语句用来杀死一个进程:

 alter system kill session ‘33,456‘; ---其中33,456分别是上面查询出的sid,serial#

3、再一次查询目前锁定的对象,若发现以上方法不能解除锁定的表,则用以下方法:

(1)执行下面的语句获得进程(线程)号:

select spid, osuser, s.program
  from v$session s, v$process p
 where s.paddr = p.addr
   and s.sid = 33;
---33是上面的sid

(2)在OS上kill掉这个进程

  Linux:

kill -9 3333 (3333为进程号)

  Windows(unix也适用)用orakill杀死线程,orakill是oracle提供的一个可执行命令,语法为:  orakill sid thread

  sid:表示要杀死的进程属于的实例名  thread:是要杀掉的线程号,即第3步查询出的spid。

  例:

c:>orakill orcl 3333
时间: 2024-08-08 07:00:53

【Oracle】Oracle解锁、Oracle锁表处理的相关文章

Oracle学习笔记七 锁

锁的概念 锁是数据库用来控制共享资源并发访问的机制. 锁用于保护正在被修改的数据 直到提交或回滚了事务之后,其他用户才可以更新数据 对数据的并发控制,保证一致性.完整性.             并行性 -允许多个用户访问同一数据 一致性 - 一次只允许一个用户修改数据 完整性 - 为所有用户提供正确的数据.如果一个用户进行了修改并保存,所做的修改将反映给所有用户 锁的类型 行级锁:对操作的数据行进行锁定,防止其他用户(连接)进行修改. 表级锁:对整个表进行锁定. 行级锁 对正在被修改的行进行锁

Oracle事务之一:锁和隔离

Oracle事务之一:锁和隔离 一. 事务概述 事务管理是数据库处理的核心.数据库既要保证用户能并发地执行事务,还要保证数据库的一致性. 当第一条可执行的SQL开始执行,就隐形地开始了一个事务,直到遇到下面的几种情况: 1.Commit:提交事务. 2.RollBack:回滚. 3.DDL语句:执行和提交DDL语句结果前首先提交当前所有DML语句,成为隐式提交. 4.程序正常退出:自动提交. 5.不正常的程序失败:隐式回滚. 二.事务特性 事务的四个特性:A(原子性).C(一致性).I(隔离性)

Oracle用户解锁的三种办法及默认的用户与密码

ORA-28000: the account is locked-的解决办法 2009-11-11 18:51 ORA-28000: the account is locked 第1步:使用PL/SQL,登录名为system,数据库名称不变,选择类型的时候把Normal修改为Sysdba; 第2步:选择myjob,查看users; 第3步:选择system,右击点击“编辑”: 第4步:修改密码,把“帐户被锁住”的勾去掉: 第5步:点击“应用”再点击“关闭”: 第6步:重新登录就可以通过验证了:

应用Oracle(解锁内置用户)

解锁Oracle内置用户scott,密码默认为tiger. 系统管理员身份登录 cmd中, sqlplus / as sysdba 解除锁定 alter user scott account unlock; 设置密码 alter user scott identified by tiger; 测试 conn scott/tiger;

ORACLE查询数据库的锁表情况

  查询数据库的锁表情况语句如下: 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 如果表因为某些情况出现死

oracle数据库解锁

数据库解锁 SELECT A.OWNER, A.OBJECT_NAME, B.XIDUSN, B.XIDSLOT, B.XIDSQN, B.SESSION_ID, B.ORACLE_USERNAME, B.OS_USER_NAME, B.PROCESS, B.LOCKED_MODE, C.MACHINE, C.STATUS, C.SERVER, C.SID, C.SERIAL#, C.PROGRAM FROM ALL_OBJECTS A, V$LOCKED_OBJECT B, SYS.GV_$S

oracle 用户频繁被锁

    今天一个网友发求助信息,说某社会治安综合治理系统的连接的某个oracle用户频繁被锁,使用 alter user XX account unlock 解锁后一会还是又被锁定,使用PLSQL登录时提示ORA-28000     让他执行了一下这条SQL select * from dba_profiles where resource_name like 'FAILED_LOGIN_ATTEMPTS%';     他说limit是10,初定判断是因频繁输错密码登陆超过次10次,导致用户被锁

Oracle Study之--Oracle等待事件(1)

Oracle Study之--Oracle等待事件(1) 一. 等待事件的相关知识1.1 等待事件主要可以分为两类: 即空闲(IDLE)等待事件和非空闲(NON-IDLE)等待事件.1). 空闲等待事件指ORACLE正等待某种工作,在诊断和优化数据库的时候,不用过多注意这部分事件.2). 非空闲等待事件专门针对ORACLE的活动,指数据库任务或应用运行过程中发生的等待,这些等待事件 是在调整数据库的时候需要关注与研究的.在Oracle 10g中的等待事件有874个,11g中等待事件1118个.

转载:oracle 启动过程--oracle深入研究

Oracle数据库的启动-nomount状态深入解析 通常所说的Oracle Server主要由两个部分组成:Instance和Database.Instance是指一组后台进程(在Windows上是一组线程)和一块共享内存区域:Database是指存储在磁盘上的一组物理文件.通过Instance与Database协同,Oracle数据库才能形成一个动态的可访问关系型数据库系统.本章将由数据库如何启动与关闭入手,开始和大家一起进入Oracle数据库的国度.1.1 数据库的启动从表象来看,数据库的

Oracle实例和Oracle数据库(Oracle体系结构)

--========================================== --Oracle实例和Oracle数据库(Oracle体系结构) --========================================== /* 对于初接触Oracle 数据库的人来讲,很容易混淆的两个概念即是Oracle 实例和Oracle 数据库.这两 概念不同于SQL sever下的实例与数据库,当然也有些相似之处.只是在SQL server我们根本不需要花费太 多的精力去搞清SQL实