Oracle学习笔记之分享一些常用的运维命令

简介: Oracle学习笔记之分享一些常用的运维命令

在使用TOP命令来查看CPU或内存使用率异常的进程,再根据PID查找对应的oracle session
select a.sid,a.serial#,a.sql_id,a.machine,a.program,a.status,c.sql_text
from gv$session a, gv$process b, gv$sql c where a.paddr=b.addr and b.spid in (xxx,xxx) and a.sql_id = c.sql_id;

可以用来查询数据库当前的等待事件
select inst_id,event,program,machine,sql_id from gv$session where wait_class <> 'Idle' order by event;

如果某一等待事件造成了数据库运行严重缓慢,那么在执行alter system kill session命令可以无法成功,这时候就需要在OS层面来杀死进程
select 'kill -9 ' || spid from v$process where addr in (select paddr from v$session where event='latch: buffer cache chains'));

在v$session视图中无法查看连接用户的IP,可以通过下面的方法实现这一目的
方法一
create table login_history
(
username varchar2(60),
machine varchar2(60),
event varchar2(60),
program varchar2(100),
sql_id varchar2(40),
login_time date,
ip varchar2(50)
);
create or replace trigger login_log
after logon on database
begin
insert into login_history select username, machine, event, program,sql_id, sysdate, sys_context('userenv', 'ip_address')
from v$session
where audsid = userenv('sessionid');
commit;
end;
/
方法二
select utl_inaddr.get_host_address(t.machine),t.* FROM v$session t;

通过dba_hist_active_sess_history视图,来查询过去某个时间段内发生某个等待事件的信息,主要是查询历史等待事件的sql_id
select SESSION_ID,SESSION_TYPE,MACHINE,PROGRAM,sql_id,BLOCKING_SESSION,BLOCKING_SESSION_STATUS
from dba_hist_active_sess_history
where sample_time > to_date('2020-06-23 09:00:00','yyyy-mm-dd hh24:mi:ss')
and sample_time < to_date('2020-06-23 09:30:00','yyyy-mm-dd hh24:mi:ss')
and wait_class<>'Idle'
and event like 'latch: cache buffers chains%'
group by SESSION_ID,SESSION_TYPE,MACHINE,PROGRAM,sql_id,BLOCKING_SESSION,BLOCKING_SESSION_STATUS order by SESSION_ID,BLOCKING_SESSION;

相关文章
|
28天前
|
SQL 运维 监控
DM日常运维高频命令总结
DM日常运维高频命令总结
58 3
|
28天前
|
运维 Oracle 前端开发
Oracle 11g RAC集群日常运维命令总结
Oracle 11g RAC集群日常运维命令总结
51 2
|
28天前
|
SQL 运维 调度
DM8日常运维命令总结(二)
DM8日常运维命令总结(二)
50 2
|
28天前
|
SQL 运维 Oracle
入门级Oracle 11g日常运维命令总结
入门级Oracle 11g日常运维命令总结
17 1
|
28天前
|
SQL 运维 数据库
DM8日常运维必须要懂的几个命令
DM8日常运维必须要懂的几个命令
40 1
|
1月前
|
移动开发 运维 网络协议
运维必备 | Linux netstat命令详解
运维必备 | Linux netstat命令详解
|
29天前
|
运维 Rust 监控
Linux高效运维必备:fd命令深度解析,文件描述符管理从此得心应手!
【8月更文挑战第23天】本文介绍了一款名为fd的命令行工具,该工具基于Rust语言开发,旨在以更直观的语法和更快的速度替代传统的`find`命令。通过本文,您可以了解到如何安装fd以及一些基本用法示例,比如使用正则表达式匹配文件名、排除特定目录等。此外,文章还展示了如何结合`ps`和`lsof`命令来查找特定文件并显示其文件描述符,从而帮助您更好地管理和监控Linux系统中的文件与进程。
64 0
|
3天前
|
运维 监控 安全
构建高效运维体系:从监控到自动化的全方位实践
本文深入探讨了构建高效运维体系的关键要素,从监控、日志管理、自动化工具、容器化与微服务架构、持续集成与持续部署(CI/CD)、虚拟化与云计算以及安全与合规等方面进行了全面阐述。通过引入先进的技术和方法,结合实际案例和项目经验,为读者提供了一套完整的运维解决方案,旨在帮助企业提升运维效率,降低运营成本,确保业务稳定运行。
|
1天前
|
机器学习/深度学习 人工智能 运维
高效运维:从自动化到智能化的演进之路
在当今数字化时代,运维领域正经历着从人工到自动化,再向智能化迈进的深刻变革。本文将探讨自动化运维的实践方法、面临的挑战以及如何向智能化运维转型的策略,旨在为读者提供一条清晰的演进路径,帮助企业提升运维效率,降低风险,并最终实现价值最大化。
|
1天前
|
机器学习/深度学习 运维 Prometheus
构建高效运维体系:从自动化部署到智能监控的全方位实践
在当今数字化时代,企业对运维效率和稳定性的要求越来越高。本文将探讨如何构建一个高效的运维体系,从自动化部署、持续集成与持续交付(CI/CD)、智能监控、故障管理以及数据驱动决策等方面进行深入分析和实践指导。通过这些方法,企业可以实现更快速、更可靠的软件发布和问题解决,提升整体运营效率。

推荐镜像

更多