Heim Datenbank MySQL-Tutorial 使用Procwatcher监控Oracle数据库锁定Contention

使用Procwatcher监控Oracle数据库锁定Contention

Jun 07, 2016 pm 04:49 PM
oracle数据库

数据库锁定Contention是我们在实际中经常遇到的问题。严重的Contention可能会引起整体数据库性能衰减,乃至连接失败。实际生产如

数据库锁定Contention是我们在实际中经常遇到的问题。严重的Contention可能会引起整体数据库性能衰减,乃至连接失败。实际生产如果出现Contention,通常是比较紧急的情况,快速定位错误问题,解决问题是运维人员的挑战。
 
Contention出现的原因很多,但总的来说有两个大的类型,一个是数据库本身后台进程之间协调故障,另一个是应用程序或者用户操作导致的等待锁定。前者通常是由于Oracle Bug引起的,后者是由于不成熟的设计开发引起的。
 
Contention锁定通常是进程之间的关系,所以解决问题的通法常常是利用oradebug和操作系统本身携带的Trace监控工具。对初学者而言,在紧急情况下使用这些工具常常是比较困难的。所以,Oracle推出了Procwatcher工具脚本,来进行统一的锁定分析工作。
 
Procwatcher可以从MOS官方网站进行下载,对应的文档ID为:459694.1。本篇主要介绍Procwatcher工具安装和使用。

--------------------------------------分割线 --------------------------------------

 CentOS 5.2 x86 安装Oracle 11g R2 笔记

在CentOS 6.4下安装Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虚拟机中安装步骤

--------------------------------------分割线 --------------------------------------

1、环境介绍

 

我们使用的操作系统环境是Red Hat Linux 6.5。

 

[root@SimpleLinux /]# uname -r

2.6.32-431.el6.i686

 

2、Procwatcher安装配置

 

从MOS上下载的脚本是一个zip包,笔者版本为:prw_12.1.13.11.1.zip。在Linux中,创建专门目录进行上传。

 

[root@SimpleLinux ~]# cd /

[root@SimpleLinux /]# mkdir prw

[root@SimpleLinux /]# chown oracle:oinstall prw

[root@SimpleLinux /]# ls -l | grep prw

drwxr-xr-x.  2 oracle oinstall  4096 Apr 30 09:12 prw

 

使用sftp客户端上传zip包。

 

[root@SimpleLinux prw]# ls -l

total 36

-rw-r--r--. 1 root root 36203 Apr 30 09:16 prw_12.1.13.11.1.zip

[root@SimpleLinux prw]# unzip prw_12.1.13.11.1.zip

Archive:  prw_12.1.13.11.1.zip

  inflating: prw.sh                 

[root@SimpleLinux prw]# ls -l

total 220

-rw-r--r--. 1 root root  36203 Apr 30 09:16 prw_12.1.13.11.1.zip

-rwxr-xr-x. 1 root root 187245 Nov 26 23:12 prw.sh

[root@SimpleLinux prw]# chown oracle:oinstall *

[root@SimpleLinux prw]# ls -l

total 220

-rw-r--r--. 1 oracle oinstall  36203 Apr 30 09:16 prw_12.1.13.11.1.zip

-rwxr-xr-x. 1 oracle oinstall 187245 Nov 26 23:12 prw.sh

 

prw.sh就是工具的唯一实体,,可以执行脚本来进行操作。

使用Procwatcher是需要操作系统环境检查,首先要求执行用户PATH中包括/usr/bin和/bin目录。

 

 

[oracle@SimpleLinux ~]$ env | grep PATH

PATH=/usr/lib/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/oracle/bin:/u01/app/oracle/bin
 
MODULEPATH=/usr/share/Modules/modulefiles:/etc/modulefiles

 

环境变量中包括标准的$ORACLE_系列。

 

[oracle@SimpleLinux ~]$ env | grep ORA

ORACLE_SID=ora11g

ORACLE_BASE=/u01/app

ORACLE_HOME=/u01/app/oracle

 

执行用户要求是Oracle owner用户。如果是cluster(RAC)或者多个oracle user的情况,可以使用root来执行。

操作系统中必须包括系统调试工具。列表如下:

 

Linux - /usr/bin/gdb

HP-UX and HP Itanium - /opt/langtools/bin/gdb64 or /usr/ccs/bin/gdb64

Sun - /usr/bin/pstack

IBM AIX - /bin/procstack or /bin/dbx

HP Tru64 - /bin/ladebug

 

 

[oracle@SimpleLinux ~]$ rpm -qa | grep gdb

gdb-7.2-60.el6_4.1.i686

gdbm-1.8.0-36.el6.i686

eggdbus-0.6-3.el6.i686

gdbm-devel-1.8.0-36.el6.i686

 

执行脚本prw.sh,可以自动的进行进程级别的数据收集。可以调用参数help来进行帮助信息。

 

[oracle@SimpleLinux prw]$ ./prw.sh help

 

Usage:  prw.sh

Verbs are:

 

start [all] - Start Procwatcher on local node, if 'all' is specified, start on all nodes
 
stop [all] - Stop Procwatcher on local node, if 'all' is specified, stop on all nodes
 
stat - Check the current status of Procwatcher

pack - Package up Procwatcher files (on all nodes) to upload to support

param - Check current Procwatcher parameters

log [number] - See the last [number] lines of the procwatcher log file

log [runtime] - See contiuous procwatcher log file info - use Cntrl-C to break

help - What you are looking at...

 

参数调用是比较简单的,通过帮助信息可以了解使用的方法。相对于oradebug和操作系统层面的调用,易用性要好得多。使用stat参数,可以来查看脚本当前运行情况。
 
 

[oracle@SimpleLinux prw]$ ./prw.sh stat

Wed Apr 30 09:25:46 CST 2014: PROCWATCHER VERSION: 12.1.13.11.1

Wed Apr 30 09:25:46 CST 2014: ### Parameters ###

Wed Apr 30 09:25:46 CST 2014: EXAMINE_CLUSTER=false

Wed Apr 30 09:25:46 CST 2014: EXAMINE_BG=true

Wed Apr 30 09:25:46 CST 2014: PRWPERM=777

Wed Apr 30 09:25:46 CST 2014: RETENTION=7

Wed Apr 30 09:25:46 CST 2014: WARNINGEMAIL=

Wed Apr 30 09:25:46 CST 2014: INTERVAL=60

Wed Apr 30 09:25:46 CST 2014: THROTTLE=5

Wed Apr 30 09:25:46 CST 2014: IDLECPU=3

Wed Apr 30 09:25:46 CST 2014: SIDLIST=

Wed Apr 30 09:25:46 CST 2014: ### Advanced Parameters (non-default) ###

Wed Apr 30 09:25:46 CST 2014: ### End Parameters ###

 

Wed Apr 30 09:25:46 CST 2014: Procwatcher is not running on local node SimpleLinux
 
Wed Apr 30 09:25:46 CST 2014: Procwatcher files are be written to: /prw

更多详情见请继续阅读下一页的精彩内容:

linux

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So überprüfen Sie, zu welchem ​​Tabellenbereich eine Tabelle in Oracle gehört So überprüfen Sie, zu welchem ​​Tabellenbereich eine Tabelle in Oracle gehört Jul 06, 2023 pm 01:31 PM

So überprüfen Sie, zu welchem ​​Tabellenbereich eine Tabelle in Oracle gehört: 1. Verwenden Sie die Anweisung „SELECT“ und geben Sie den Tabellennamen an, um den Tabellenbereich zu finden, zu dem die angegebene Tabelle gehört. 2. Verwenden Sie zur Überprüfung die von Oracle bereitgestellten Datenbankverwaltungstools Der Tabellenbereich, zu dem die Tabelle gehört, bietet normalerweise eine grafische Oberfläche, wodurch die Bedienung intuitiver und komfortabler wird. 3. In SQL*Plus können Sie den Tabellenbereich anzeigen, zu dem die Tabelle gehört .

So stellen Sie mithilfe von PDO eine Verbindung zur Oracle-Datenbank her So stellen Sie mithilfe von PDO eine Verbindung zur Oracle-Datenbank her Jul 28, 2023 pm 12:48 PM

Überblick über die Verwendung von PDO zum Herstellen einer Verbindung zur Oracle-Datenbank: PDO (PHPDataObjects) ist eine Erweiterungsbibliothek für den Betrieb von Datenbanken in PHP. Sie bietet eine einheitliche API für den Zugriff auf mehrere Datenbanktypen. In diesem Artikel besprechen wir, wie man mit PDO eine Verbindung zu einer Oracle-Datenbank herstellt und einige gängige Datenbankoperationen durchführt. Schritt: Installieren Sie die Oracle-Datenbanktreibererweiterung. Bevor Sie PDO zum Herstellen einer Verbindung zur Oracle-Datenbank verwenden, müssen Sie das entsprechende Oracle installieren

So rufen Sie nur ein Stück doppelter Daten in Oracle ab So rufen Sie nur ein Stück doppelter Daten in Oracle ab Jul 06, 2023 am 11:45 AM

Schritte für Oracle, um nur ein Stück doppelter Daten abzurufen: 1. Verwenden Sie die SELECT-Anweisung in Kombination mit den GROUP BY- und HAVING-Klauseln, um doppelte Daten zu finden. 2. Verwenden Sie ROWID, um doppelte Daten zu löschen, um sicherzustellen, dass korrekte doppelte Datensätze gelöscht werden Verwenden Sie die Funktion „ROW_NUMBER“ ()“, um doppelte Daten zu löschen. Dadurch werden alle Datensätze außer dem ersten Datensatz in jedem Satz doppelter Daten gelöscht. 3. Verwenden Sie die Anweisung „select count(*) from“, um die Anzahl der gelöschten Datensätze zurückzugeben das Ergebnis sicherstellen.

Implementieren Sie den Datenimport in PHP- und Oracle-Datenbanken Implementieren Sie den Datenimport in PHP- und Oracle-Datenbanken Jul 12, 2023 pm 06:46 PM

Implementierung des Datenimports in PHP- und Oracle-Datenbanken In der Webentwicklung kann die Verwendung von PHP als serverseitige Skriptsprache den bequemen Betrieb der Datenbank ermöglichen. Als gängiges relationales Datenbankverwaltungssystem verfügt die Oracle-Datenbank über leistungsstarke Datenspeicher- und -verarbeitungsfunktionen. In diesem Artikel wird die Verwendung von PHP zum Importieren von Daten in eine Oracle-Datenbank vorgestellt und entsprechende Codebeispiele gegeben. Zuerst müssen wir sicherstellen, dass PHP und die Oracle-Datenbank installiert sind und dass PHP entsprechend konfiguriert wurde

So erweitern Sie PDO mit PHP, um eine Verbindung zur Oracle-Datenbank herzustellen So erweitern Sie PDO mit PHP, um eine Verbindung zur Oracle-Datenbank herzustellen Jul 29, 2023 pm 07:21 PM

So erweitern Sie PDO mit PHP, um eine Verbindung zur Oracle-Datenbank herzustellen. Einführung: PHP ist eine sehr beliebte serverseitige Programmiersprache und Oracle ist ein häufig verwendetes relationales Datenbankverwaltungssystem. In diesem Artikel wird erläutert, wie Sie mithilfe der PHP-Erweiterung PDO (PHPDataObjects) eine Verbindung zur Oracle-Datenbank herstellen. 1. Installieren Sie die PDO_OCI-Erweiterung. Um eine Verbindung zur Oracle-Datenbank herzustellen, müssen Sie zunächst die PDO_OCI-Erweiterung installieren. Hier sind die Schritte zum Installieren der PDO_OCI-Erweiterung: Stellen Sie sicher

So nutzen Sie PHP- und Oracle-Datenbankverbindungspools effizient So nutzen Sie PHP- und Oracle-Datenbankverbindungspools effizient Jul 12, 2023 am 10:07 AM

So nutzen Sie Verbindungspooling in PHP- und Oracle-Datenbanken effizient. Einführung: Bei der Entwicklung von PHP-Anwendungen ist die Verwendung einer Datenbank ein wesentlicher Bestandteil. Bei der Interaktion mit Oracle-Datenbanken ist die Verwendung von Verbindungspools entscheidend für die Verbesserung der Anwendungsleistung und -effizienz. In diesem Artikel wird die effiziente Nutzung des Oracle-Datenbankverbindungspools in PHP vorgestellt und entsprechende Codebeispiele bereitgestellt. 1. Das Konzept und die Vorteile des Verbindungspoolings Verbindungspooling ist eine Technologie zur Verwaltung von Datenbankverbindungen. Es erstellt im Voraus einen Stapel von Verbindungen und verwaltet diese

Benötigt die Oracle-Datenbank JDK? Benötigt die Oracle-Datenbank JDK? Jun 05, 2023 pm 05:06 PM

Die Oracle-Datenbank erfordert JDK. Die Gründe sind: 1. Bei Verwendung bestimmter Software oder Funktionen ist andere im JDK enthaltene Software oder Bibliotheken erforderlich. 3. JDK Bietet Funktionen zum Entwickeln und Kompilieren von Java-Anwendungen. 4. Erfüllen Sie die Anforderungen von Oracle für Java-Funktionen, um bei der Implementierung und Implementierung spezifischer Funktionen zu helfen.

So fragen Sie die Tabellenbereichsgröße in Oracle ab So fragen Sie die Tabellenbereichsgröße in Oracle ab Jul 06, 2023 pm 01:45 PM

Schritte zum Abfragen der Tabellenbereichsgröße in Oracle: 1. Melden Sie sich mit einem Datenbankadministratorkonto bei der Oracle-Datenbank an. 2. Verwenden Sie die „SELECT“-Anweisung, um die Bereichsliste anzuzeigen. 3. Es gibt drei Methoden, um die Tabellenbereichsgröße abzufragen : Verwenden Sie das dbms_utility-Paket zum Abfragen und die dba_segments-Ansichtsabfrage. Verwenden Sie die dba_data_files-Ansichtsabfrage. 4. Verwenden Sie die Funktion „DBMS_OUTPUT.PUT_LINE“ oder andere Methoden, um die Abfrageergebnisse anzuzeigen.

See all articles