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 = s.sid; 找到被锁定的表,解锁 复制代码 代码如下:--释放SESSION SQL: --alter system kill ...
问题背景:客户反应oracle库很慢很慢 (read by other session可以结合db file sequential read等待事件一块优化) 1检查等待事件: set linesize 200 col username for a15 col event for a35 col program for a20col cpu_p for 99.99 select ta.*, round(ta.cpu_time / tb.total_cpu * 100, 1) cpu_usage from (select s.username, s.program, s.event, s.sql_id, sum(trunc(m.cpu)) cpu_time, count(*) sum from v$sessmetric...
查看v$session中的session最多是哪个machine发起的,发现是省公司的数据库发起的session,找开发梳理了下业务,省公司同步dblink操作网公司表,且是通过weblogic的连接池。
哦,有点明白了,是dblink引起的,weblogic连接池是一直存在的,所以在网公司端session是不释放的,如果省公司把应用都停掉,那在网公司端的session都会释放。要验证想法,做个试验:
目标:数据库A上建dblink,修改数据库B上的表。
环境准备:
1...
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 = s.sid; 找到被锁定的表,解锁
--释放SESSION SQL: --alter system kill session ‘sid, serial#‘; ALTER sy...
查看v$session中的session最多是哪个machine发起的。发现是省公司的数据库发起的session,找开发梳理了下业务,省公司同步dblink操作网公司表,且是通过weblogic的连接池。
哦,有点明确了,是dblink引起的。weblogic连接池是一直存在的,所以在网公司端session是不释放的。假设省公司把应用都停掉,那在网公司端的session都会释放。要验证想法。做个试验:
目标:数据库A上建dblink,改动数据库B上的表。
环境准备:
1...
一些ORACLE中的进程被杀掉后,状态被置为"killed",但是锁定的资源很长时间不释放,有时实在没办法,只好重启数据库。现在提供一种方法解决这种问题,那就是在ORACLE中杀不掉的,在OS一级再杀。1.下面的语句用来查询哪些对象被锁:select object_name,machine,s.sid,s.serial# from v$locked_object l,dba_objects o ,v$session swhere l.object_id = o.object_id and l.session_id=s.sid; 2.下面的语句用来杀死一个进程:alter ...
当你试图输入了用户名:sys
密码:通用
之后,你发现连接不上;
而输入 用户名:system
密码:通用
或者 用户名:scott
密码:tiger
的时候都可以连接,所以你认为
sys的权限没有system高;
其实正是因为sys的权限高,所以你必须以
dba的身份来登陆:sys/通用 as sysdba
//可以使用数据字典user_users来查看当前用户管理的用户:
select * from user_users;
而dba_users可以查...
锁表查询SQL
SELECT 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 = s.sid; 找到被锁定的表,解锁 --释放SESSION SQL:
--alter system kill session ‘sid, serial#‘;
ALTER system kill session ‘23, 1647‘; ORACLE 如何查询被锁定表及如何解锁释放session标签:本文系统来源:http://www.cnblogs.com/xingxing0521...
-查询最慢的sql
select * from (
select parsing_user_id,executions,sorts
command_type,disk_reads,sql_text from v$sqlarea order by disk_reads desc
)where rownum<10
--查询对应session
select SE.SID,SE.SERIAL#,PR.SPID,
SE.USERNAME,SE.STATUS,SE.TERMINAL,
SE.PROGRAM,SE.MODULE,
SE.SQL_ADDRESS,ST.EVENT,
ST.P1TEXT,SI.PHYSICAL_READS,SI.BLOCK_CHANGES from v$session se,v$session_wait
st,
v$sess_io si,v$process...
sid,serial#,username,program,machine,status from v$session查询的结果如下,可以根据机器和登录的账号定位:
2. 杀死存在的session--这里的sid,serial根据查询的结果修改为对应的值
alter system kill session ‘sid, serial#‘ oracle中session的查询与删除标签:本文系统来源:http://www.cnblogs.com/30go/p/5878075.html
9月 28 08:59:24,486 ERROR - msg:打开数据库出错.
经查询发现需要更改数据库的连接进程数,修改方法如下:
1、以管理员身份登录sqlplus
win+R,输入cmd,然后回车。
在命令行中输入:sqlplus / as sysdba
2、查看连接进程数量设置值
命令:show parameter processes;
3、查看会话数量设置值
命令:show parameter sessions;
4、修改连接进程数量设置值
命令:alter system set processes=5000 scope=spfile;
操作记录:
C:\Us...
v$session中Command的数字含义。
1CREATE TABLE2INSERT3SELECT4CREATE CLUSTER5ALTER CLUSTER6UPDATE7DELETE8DROP CLUSTER9CREATE INDEX10DROP INDEX11ALTER INDEX12DROP TABLE13CREATE SEQUENCE14ALTER SEQUENCE15ALTER TABLE16DROP SEQUENCE17GRANT OBJECT18REVOKE OBJECT19CREATE SYNONYM20DROP SYNONYM21CREATE VIEW22DROP VIEW23VALIDATE INDEX24CREATE PROCEDURE25ALTER PROCEDURE26LOCK27NO-OP28RENAME29COMMENT30AUDIT OB...
怎样查看Oracle当前的连接数呢?只需要用下面的SQL语句查询一下就可以了。#查看当前不为空的连接select * from v$session where username is not null#查看不同用户的连接数select username,count(username) from v$session where username is not null group by username#连接数select count(*) from v$session#并发连接数Select count(*) from v$session where status=‘ACTIVE‘ #最大连接show parameter processes #修改连接a...
Connection Mode:Dedicated Server Mode(专有模式)当用户发出请求时,如远程的client端通过监听器连接数据库上,ORACLE的服务器端会启用一个进程来响应,ORACLE端进程和Client端进程通信组成一个会话,ORACLE进程帮用户发出SQL语句,将结果返回给用户.一对一,一个用户进程对应一个服务器进程,响应很快,但如果用户比较多,数据库压力比较大.Share Server Mode共享服务模式,通过一个分发起,把用户的请求发给服务...
/bin/grep ‘[1-9]‘ $ORACLE_NUM1 | /bin/awk ‘{print $1}‘ | /usr/bin/head -1 ;;Process) /bin/grep ‘[1-9]‘ $ORACLE_NUM1 | /bin/awk ‘{print $1}‘ | /usr/bin/tail -1 ;;*) echo "please Use Sessions | Process"esac############# 配置好之后重启服务 #################service zabbix_agentd restart################ zabbix_server 中先获取一下值 ############## 如果可以直接上web端定义,不行的话先检查防火墙,i...