CN107436819A - 一种Oracle过载的应对方法及系统 - Google Patents

一种Oracle过载的应对方法及系统 Download PDF

Info

Publication number
CN107436819A
CN107436819A CN201710656722.6A CN201710656722A CN107436819A CN 107436819 A CN107436819 A CN 107436819A CN 201710656722 A CN201710656722 A CN 201710656722A CN 107436819 A CN107436819 A CN 107436819A
Authority
CN
China
Prior art keywords
session
oracle
consumer process
client
modules
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201710656722.6A
Other languages
English (en)
Inventor
王承龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201710656722.6A priority Critical patent/CN107436819A/zh
Publication of CN107436819A publication Critical patent/CN107436819A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种Oracle过载的应对方法及系统,方法包括获取占用资源最多的进程;根据获取的进程确定Oracle中对应的session;根据session确定客户端,获取客户端上运行的用户进程。系统包括用户进程模块和监听单元,所述用户进程模块设置在客户端,监听单元设置在服务器端;所述监听单元包括PGA进程模块和session模块;所述PGA进程模块连接用户进程模块,用于建立监听单元与客户端之间的通信并对用户进程模块进行验证,验证通过后,在服务器端建立与用户进程模块对应的session模块,所述session模块用于对instance进行操作并调用database。与现有技术相比,本发明能够对导致Oracle过载的用户进程进行快速定位,提高工作效率。

Description

一种Oracle过载的应对方法及系统
技术领域
本发明涉及计算机技术领域,具体地说是一种Oracle过载的应对方法及系统。
背景技术
Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好且适应高吞吐量的数据库解决方案。
Oracle数据库服务器作为全球应用范围最广的商用数据库服务器之一,大多数都是运行着重要业务,要求24小时提供服务,不允许出现无计划的停机事件发生。但是日常的使用过程中往往会遇到数据库被恶意攻击或工作人员运行糟糕脚本造成业务使用不顺畅甚至接近宕机的风险。
现有技术中,在遇到上述情况时需人为查找造成事故的原因,需花费大量的时间,工作效率极低。
发明内容
本发明的目的在于提供一种Oracle过载的应对方法及系统,用于解决人为查找事故原因工作效率低的问题。
本发明解决其技术问题所采用的技术方案是:一种Oracle过载的应对方法,包括以下步骤:
获取占用资源最多的进程;
根据获取的进程确定Oracle中对应的session;
根据session确定客户端,获取客户端上运行的用户进程。
进一步地,所述根据获取的进程确定Oracle中对应的session的具体步骤为:
查看获取进程的信息,获取该进程对应的进程地址;
根据进程地址与session的对应关系,获取对应的session。
进一步地,所述根据session确定客户端,获取客户端上运行的用户进程的具体步骤为:
查看session中详细信息,获取该session对应客户端的主机;
通过Oracle用户名登录该主机,获取客户端正在运行的具体命令。
进一步地,在获取到客户端上运行的用户进程后还包括步骤:关闭用户进程,并对该用户进程进行相应修复。
进一步地,所述关闭用户进程,并对该用户进程进行相应修复的具体步骤为:
关闭客户端正在运行的具体命令,使用户进程关闭;
分析该具体命令的运行原因,并根据运行原因采取相应的修复措施。
进一步地,所述具体命令的运行原因包括恶意攻击和糟糕脚本的执行,所述根据运行原因采取相应的修复措施包括:若运行原因是恶意攻击,则对Oracle的安全性进行升级;若运行原因是糟糕脚本的执行,则对脚本进行优化。
一种Oracle过载的应对系统,包括用户进程模块和监听单元,所述用户进程模块设置在客户端,监听单元设置在服务器端;所述监听单元包括PGA进程模块和session模块;所述PGA进程模块连接用户进程模块,用于建立监听单元与客户端之间的通信并对用户进程模块进行验证,验证通过后,在服务器端建立与用户进程模块对应的session模块,所述session模块用于对instance进行操作并调用database。
进一步地,所述PGA进程模块与用户进程模块通过TCP/IP协议连接。
进一步地,所述应对系统还包括:
进程获取模块,用于获取占用资源最多的进程;
Session获取模块,用于获取与占用资源最多进程对应的session模块;
用户进程获取模块,用于获取与该session模块对应的用户进程模块;
进程处理模块,用于关闭该用户进程并进行相应修复。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
1、通过建立客户端用户进程与Oracle服务器端PGA进程的联系,在Oracle服务器端的session与用户进程相对应,在Oracle过载时,通过查看服务器端占用资源最多的进程获取对应的session,从而找出与session对应的用户进程,实现对引起过载的用户进程的快速定位,无需人为逐个查找是哪个用户进程造成的Oracle过载问题,节省人力、提高工作效率。
2、在获知是哪个用户进程造成Oracle过载后,首先关闭该用户进程,然后进行后续的修复工作,快速减轻Oracle服务器的负担,以免造成宕机等更严重的后果,保证用户的使用不间断,且为用户的信息安全提供保障。
3、关闭用户进程后,对引起Oracle过载的原因进行分析,并采取相应的修复措施,进一步保障了Oracle数据库的安全,且对数据库进行进一步完善。
附图说明
图1是本发明的方法流程图;
图2是本发明的系统结构示意图。
具体实施方式
为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
如图1所示,本发明提供的一种Oracle过载的应对方法,该方法包括以下步骤:
S1,获取占用资源最多的进程;
S2,根据获取的进程确定Oracle中对应的session;
S3,根据session确定客户端,获取客户端上运行的用户进程;
S4,关闭用户进程,并对该用户进程进行相应修复。
其中步骤S1中获取占用资源最多的进程是在Oracle服务器端获取,通过在服务器端查看PGA进程即可获取。
步骤S2中根据获取的进程确定Oracle中对应的session的具体步骤为:
S21,查看获取进程的信息,获取该进程对应的进程地址;
S22,根据进程地址与session的对应关系,获取对应的session。
步骤S3中根据session确定客户端,获取客户端上运行的用户进程的具体步骤为:
S31,查看session中详细信息,获取该session对应客户端的主机;
S32,通过Oracle用户名登录该主机,获取客户端正在运行的具体命令。
步骤S4中关闭用户进程,并对该用户进程进行相应修复的具体步骤为:
S41,关闭客户端正在运行的具体命令,使用户进程关闭;
S42,分析该具体命令的运行原因,并根据运行原因采取相应的修复措施。
其中调用kill session命令关闭用户进程,造成Oracle过载的具体命令运行原因包括恶意攻击和糟糕脚本的执行,根据运行原因采取相应的修复措施包括:若运行原因是恶意攻击,则对Oracle的安全性进行升级;若运行原因是糟糕脚本的执行,则对脚本进行优化。
在获知是哪个用户进程造成Oracle过载后,首先关闭该用户进程,然后进行后续的修复工作,快速减轻Oracle服务器的负担,以免造成宕机等更严重的后果,保证用户的使用不间断,且为用户的信息安全提供保障。关闭用户进程后,对引起Oracle过载的原因进行分析,并采取相应的修复措施,进一步保障了Oracle数据库的安全,且对数据库进行进一步完善。
下面对上述方法进行举例说明:
使客户端连接Oracle服务器,在客户端写一个死循环长时间占用Oracle资源,通过查看Oracle的CPU使用率,发现一个对CPU的使用率接近100%的进程,通过查看该进程的详细信息,获取该进程对应的进程地址select*from v$process where spid=4133,根据该进程地址查看对应的session:select*from v$session where paddr='000000008B0952B0',获取对应session后,查看该session的详细信息,可以看到该session对应的用户进程的客户端主机为ocp.com,使用Oracle用户名登录该主机,获取到客户端的进程ID为3046,使用的端口为39222,同时调用命令elect*from v$sql where sql_id='ccdatfg6tm7sy'查看客户端运行的具体命令,可以看到运行的具体命令就是最初写下的死循环命令。从而进一步证明上述方法能够快速定位引起过载的用户进程的快速定位,无需人为逐个查找是哪个用户进程造成的Oracle过载问题,节省人力、提高工作效率。
如图2所示,本发明提供的一种Oracle过载的应对系统,该系统包括用户进程模块1和监听单元,用户进程模块1设置在客户端,监听单元设置在Oracle服务器端;监听单元包括PGA进程模块2和session模块3;PGA进程模块2通过TCP/IP协议连接用户进程模块1,用于建立监听单元与客户端之间的通信并对用户进程模块1进行验证。验证通过后,在服务器端建立与用户进程模块1对应的session模块3,session模块3用于对instance进行操作并调用database。
应对系统还包括进程获取模块,用于获取占用资源最多的进程;Session获取模块,用于获取与占用资源最多进程对应的session模块;用户进程获取模块,用于获取与该session模块对应的用户进程模块;进程处理模块,用于关闭该用户进程并进行相应修复。其中进程获取模块、session获取模块和用户进程获取模块均置于Oracle服务器端。服务器端和客户端均设有进程处理模块,这是由引起Oracle过载的原因不同所致:当运行原因是恶意攻击引起,则通过服务器端的进程处理模块对Oracle的安全性进行升级;当运行原因是糟糕脚本的执行引起,则通过客户端的进程处理模块对脚本进行优化。
以上所述只是本发明的优选实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也被视为本发明的保护范围。

Claims (9)

1.一种Oracle过载的应对方法,其特征是:包括以下步骤:
获取占用资源最多的进程;
根据获取的进程确定Oracle中对应的session;
根据session确定客户端,获取客户端上运行的用户进程。
2.根据权利要求1所述的一种Oracle过载的应对方法,其特征是:所述根据获取的进程确定Oracle中对应的session的具体步骤为:
查看获取进程的信息,获取该进程对应的进程地址;
根据进程地址与session的对应关系,获取对应的session。
3.根据权利要求1所述的一种Oracle过载的应对方法,其特征是:所述根据session确定客户端,获取客户端上运行的用户进程的具体步骤为:
查看session中详细信息,获取该session对应客户端的主机;
通过Oracle用户名登录该主机,获取客户端正在运行的具体命令。
4.根据权利要求1所述的一种Oracle过载的应对方法,其特征是:在获取到客户端上运行的用户进程后还包括步骤:关闭用户进程,并对该用户进程进行相应修复。
5.根据权利要求4所述的一种Oracle过载的应对方法,其特征是:所述关闭用户进程,并对该用户进程进行相应修复的具体步骤为:
关闭客户端正在运行的具体命令,使用户进程关闭;
分析该具体命令的运行原因,并根据运行原因采取相应的修复措施。
6.根据权利要求5所述的一种Oracle过载的应对方法,其特征是:所述具体命令的运行原因包括恶意攻击和糟糕脚本的执行,所述根据运行原因采取相应的修复措施包括:若运行原因是恶意攻击,则对Oracle的安全性进行升级;若运行原因是糟糕脚本的执行,则对脚本进行优化。
7.一种Oracle过载的应对系统,其特征是:包括用户进程模块和监听单元,所述用户进程模块设置在客户端,监听单元设置在服务器端;所述监听单元包括PGA进程模块和session模块;所述PGA进程模块连接用户进程模块,用于建立监听单元与客户端之间的通信并对用户进程模块进行验证,验证通过后,在服务器端建立与用户进程模块对应的session模块,所述session模块用于对instance进行操作并调用database。
8.根据权利要求7所述的一种Oracle过载的应对系统,其特征是:所述PGA进程模块与用户进程模块通过TCP/IP协议连接。
9.根据权利要求7所述的一种Oracle过载的应对系统,其特征是:所述应对系统还包括:
进程获取模块,用于获取占用资源最多的进程;
Session获取模块,用于获取与占用资源最多进程对应的session模块;
用户进程获取模块,用于获取与该session模块对应的用户进程模块;
进程处理模块,用于关闭该用户进程并进行相应修复。
CN201710656722.6A 2017-08-03 2017-08-03 一种Oracle过载的应对方法及系统 Pending CN107436819A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710656722.6A CN107436819A (zh) 2017-08-03 2017-08-03 一种Oracle过载的应对方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710656722.6A CN107436819A (zh) 2017-08-03 2017-08-03 一种Oracle过载的应对方法及系统

Publications (1)

Publication Number Publication Date
CN107436819A true CN107436819A (zh) 2017-12-05

Family

ID=60460412

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710656722.6A Pending CN107436819A (zh) 2017-08-03 2017-08-03 一种Oracle过载的应对方法及系统

Country Status (1)

Country Link
CN (1) CN107436819A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1989488A (zh) * 2004-05-20 2007-06-27 Sap股份公司 运行时系统的鲁棒共享
US20160105504A1 (en) * 2014-10-13 2016-04-14 Commvault Systems, Inc. Storage management operations based on executable files served on demand to storage management components
CN106126404A (zh) * 2016-06-21 2016-11-16 上海新炬网络技术有限公司 一种cpu高消耗的db2进程/线程快速定位方法
CN106294075A (zh) * 2016-08-17 2017-01-04 浪潮软件股份有限公司 一种对sql进行监控的方法、装置及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1989488A (zh) * 2004-05-20 2007-06-27 Sap股份公司 运行时系统的鲁棒共享
US20160105504A1 (en) * 2014-10-13 2016-04-14 Commvault Systems, Inc. Storage management operations based on executable files served on demand to storage management components
CN106126404A (zh) * 2016-06-21 2016-11-16 上海新炬网络技术有限公司 一种cpu高消耗的db2进程/线程快速定位方法
CN106294075A (zh) * 2016-08-17 2017-01-04 浪潮软件股份有限公司 一种对sql进行监控的方法、装置及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
你是猴子派的救兵吗: "通过内存占用情况,找出oracle的session所对应的program", 《HTTPS://BLOG.CSDN.NET/QQ122261257/ARTICLE/DETAILS/9335923》 *

Similar Documents

Publication Publication Date Title
CN106603264A (zh) 一种定位故障根源的方法和设备
WO2020000720A1 (zh) 服务器、报文处理方法、程序和计算机可读存储介质
CN103559118A (zh) 一种基于aop与注解信息系统的安全审计方法
CN104281520A (zh) 跟踪和调试的方法、装置及系统
CN106484624A (zh) 接口自动化测试的测试方法
CN109447384A (zh) 风控系统的验证方法、装置、设备及存储介质
CN111444072A (zh) 客户端的异常识别方法、装置、计算机设备和存储介质
CN111209213B (zh) 应用程序运行时的异常检测方法及系统、设备及存储介质
CN103117878A (zh) 一种基于Nagios的分布式监控系统的设计方法
TW200513949A (en) Information processing device and information processing terminal
CN115640283A (zh) 数据校验方法、装置、设备、系统、存储介质及产品
CN103020086A (zh) 一种图片查重的方法及装置
CN107566334A (zh) 一种基于代理实现的配电终端安全监测方法及装置
CN112565244B (zh) 一种面向网站项目的主动式风险监测方法、系统及设备
CN103812679A (zh) 一种海量日志统计分析系统和方法
CN109446053A (zh) 应用程序的测试方法、计算机可读存储介质及终端
CN104657248A (zh) Java线程堆栈分析方法及系统
CN106227672A (zh) 一种嵌入式应用程序故障捕捉及处理方法
WO2022093355A1 (en) Machine learning-based techniques for identifying deployment environments and enhancing security thereof
CN107436819A (zh) 一种Oracle过载的应对方法及系统
CN114444087A (zh) 一种越权漏洞检测方法、装置、电子设备及存储介质
CN109920466B (zh) 一种硬盘测试数据解析方法、装置、终端及存储介质
CN113721922A (zh) 一种基于微服务的大数据物联网管理系统
CN114091699A (zh) 一种电力通信设备故障诊断方法及系统
CN113032341A (zh) 一种基于可视化配置的日志处理方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20171205