• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >oracle > oracle 会话 死锁 执行sql 执行job的方法

oracle 会话 死锁 执行sql 执行job的方法

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了oracle 查看死锁,oracle 查死锁,oracle表死锁,oracle 死锁,oracle查询死锁语句等相关知识,希望本文的分享对您有所帮助
//根据用户分组会话
select t.USERNAME,count(*) from v$session t group by t.USERNAME
//查找某一用户正在执行的sql_id值
select * from v$session t where t.USERNAME = 'BUDGET' and t.SQL_ID is not null
//查找对应sql_id的对应sql语句
select m.SQL_TEXT from v$session t , v$sqlarea m where t.USERNAME ='BUDGET' and t.sql_id = m.SQL_ID
//
select * from v$sqlarea t where t.SQL_ID = 'g92sy7kwt6mrq'
//查询死锁对象
select * from v$locked_object
</div>

1、修改Oracle最大连接数的方法

a、以sysdba身份登陆PL/SQL 或者 Worksheet
b、查询目前连接数
show parameter processes;
c、更改系统连接数
alter system set processes=1000 scope=spfile;
d、创建pfile
create pfile from spfile;
e、重启Oracle服务或重启Oracle服务器
2、查询Oracle游标使用情况的方法
select * from v$open_cursor where user_name = 'TRAFFIC';
3、查询Oracle会话的方法
select * from v$session
</div>

杀掉会话:

方法一:SQL> SELECT pid,spid FROM V$PROCESS WHERE ADDR IN (SELECT PADDR FROM V$SESSION where username ='SYS');
PID SPID
---------- ------------
17 13657

ps -ef |grep 13657
kill -9 13657

方法二:
SQL> SELECT sid,serial# FROM V$SESSION WHERE sid in (SELECT distinct sid FROM V$MYSTAT);
SID SERIAL#

---------- ----------
1637 13894

alter system disconnect session '1637,13894' immediate;
执行这句会提示:ora-00031:标记要终止的会话。。。但是其实执行成功了。
如果用pl/sql登陆客户端那边会提示:ora-00028:您的会话已经被终止。

查看正在执行sql进度:
SELECT SE.SID,OPNAME,TRUNC(SOFAR / TOTALWORK * 100, 2) || '%' AS PCT_WORK,ELAPSED_SECONDS ELAPSED,ROUND(ELAPSED_SECONDS * (TOTALWORK - SOFAR) / SOFAR) REMAIN_TIME,SQL_TEXT
FROM V$SESSION_LONGOPS SL, V$SQLAREA SA, V$SESSION SE
WHERE SL.SQL_HASH_VALUE = SA.HASH_VALUE AND SL.SID = SE.SID AND SOFAR != TOTALWORK
ORDER BY START_TIME

SELECT a.tablespace_name "表空间名",round(total/1024/1024/1024,4) 表空间大小Gb,round(free/1024/1024/1024,4) 表空间剩余大小Gb,
round((total-free)/1024/1024/1024,4) 表空间使用大小Gb,ROUND((total-free)/total,4)*100 "使用率 %"
FROM (SELECT tablespace_name,SUM(bytes) free FROM DBA_FREE_SPACE
GROUP BY tablespace_name ) a,
(SELECT tablespace_name,SUM(bytes) total FROM DBA_DATA_FILES GROUP BY tablespace_name) b
WHERE a.tablespace_name=b.tablespace_name order by 5 desc
 
强制停止oracle正在执行的job:
 
1、查看所有job;
select * from dba_jobs;
2、查看正在运行的job;
select * from dba_jobs_running;
3、根据sid查出对应的session;
select SID,SERIAL# from V$Session where SID='&SID';
4、kill对应的session;
alter system kill session '&SID,&SERIAL';
5、将job置为broken;
exec dbms_job.broken('&JOB',true);
6、sysdba用户权限删除job;
delete from dba_jobs where JOB='&JOB';
---实在无奈时启动数据库

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Oracle 查询死锁并解锁的终极处理方法
  • Oracle数据表中的死锁情况解决方法
  • oracle 会话 死锁 执行sql 执行job的方法
  • Oracle删除死锁进程的方法
  • Oracle对于死锁的处理方法

相关文章

  • 2017-05-11Oracle EXP和IMP用法和介绍
  • 2017-05-1145个非常有用的 Oracle 查询语句小结
  • 2017-05-11如何确定Oracle数据库表重复的记录
  • 2017-05-11基于Oracle的面向对象技术入门基础简析开发者网络Oracle
  • 2017-05-11Oracle索引质量介绍和分析脚本分享
  • 2017-05-11Oracle监听口令及监听器安全详解
  • 2017-05-11Oracle 的入门心得 强烈推荐
  • 2017-05-11快速查出Oracle数据库中锁等待的方法
  • 2017-05-11win7下oracle 10g安装图文教程
  • 2017-05-11Oracle外键不加索引引起死锁示例

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • oracle定时备份压缩的实现步骤
    • Oracle 数据 使用游标
    • Oracle实现分页查询的SQL语法汇总
    • Oracle中转义字符的详细介绍
    • oracle导出sql语句的结果集和保存执行的sql语句(深入分析)
    • DBA 在Linux下安装Oracle Database11g数据库图文教程
    • 在ADF中跟踪SQL执行时间实现代码
    • Oracle Database Server 'TNS Listener'远程数据投毒漏洞(CVE-2012-1675)的完美解决方法
    • Oracle 使用TOAD实现导入导出Excel数据
    • 解决plsql连接失败,弹出空白提示框的方法详解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有