In der Datenbankverwaltung ist Oracle eine sehr häufig verwendete und wichtige Datenbank. Bei Betrieb und Wartung ist es häufig erforderlich, die Ausführung der Datenbank, insbesondere die ausgeführten SQL-Anweisungen, zu überwachen, was uns sehr dabei helfen kann, die SQL-Leistung zu verfolgen und zu optimieren. In diesem Artikel stellen wir vor, wie Sie die SQL-Anweisungen abfragen, die in der Oracle-Datenbank ausgeführt werden.
Tools zum Abfragen aktiver SQL-Anweisungen
Oracle bietet einige Tools, die uns beim Abfragen aktiver SQL-Anweisungen helfen. Zu diesen Tools gehören:
SQL-Skript zur Abfrage der ausgeführten SQL-Anweisung
In der Oracle-Datenbank können wir die beiden Systemansichten V$SESSION und V$SQL verwenden, um die aktiven SQL-Anweisungen abzufragen.
Die V$SESSION-Ansicht enthält alle aktuell aktiven Sitzungsinformationen, einschließlich der SQL_ID jeder Sitzung, die die Kennung der SQL-Anweisung ist, die von jeder Sitzung ausgeführt wird.
V$SQL-Ansicht enthält Informationen zu allen kompilierten SQL-Anweisungen, einschließlich SQL_ID, SQL_TEXT usw.
Hier sind einige SQL-Skripte zum Abfragen der ausgeführten SQL-Anweisung:
SELECT s.sid, s.serial#, s.sql_id, s.sql_child_number, t . sql_text
FROM v$session s, v$sqltext_with_newlines t
WHERE s.sql_id = t.sql_id
AND s.status = 'ACTIVE'
AND s.username <> 'SYS';
Dieses Skript gibt SQL_ID zurück und entsprechender SQL-Text, der von allen aktiven Sitzungen ausgeführt wird.
SELECT s.sid, s.serial#, s.username, s.status, t.sql_id, t.sql_text,
s.last_call_et, s.logon_time, s.program, s.module, s.action
FROM v$session s, v$sqltext_with_newlines t
WHERE s.sql_id = t.sql_id
AND s.status = 'ACTIVE'
AND s.username <> SYS';
Dieses Skript gibt die von der aktiven Sitzung ausgeführte SQL_ID und detaillierte SQL-Informationen zurück, einschließlich Benutzername, Status, letzte Laufzeit, Programmname, Aktion, SQL-Text usw.
SELECT s.sid, s.serial#, s.username, s.status, t.sql_id, t.sql_text,
s.last_call_et, s.logon_time, s .program, s.module, s.action
FROM v$session s, v$sqltext_with_newlines t
WHERE s.sql_id = t.sql_id
AND s.status = 'ACTIVE'
AND s.username = 'your_username'
Dieses Skript gibt die von einem Benutzer ausgeführte SQL-Anweisung und die entsprechenden Details zurück.
SELECT s.sid, s.serial#, s.username, s.status, t.sql_id, t.sql_text,
s.last_call_et, s.logon_time, s.programm , s.module, s.action
FROM v$session s, v$sqltext_with_newlines t
WHERE s.sql_id = t.sql_id
AND s.STATUS = 'ACTIVE'
AND s.username <> 'SYS'
AND s.sql_id IN (
SELECT MIN(sql_id)
FROM v$session
WHERE username <> 'SYS'
AND STATUS = 'ACTIVE'
GROUP BY username
);
Dieses Skript gibt den ersten zurück Die ausgeführte SQL-Anweisung umfasst Benutzernamen, Status, aktuelle Laufzeit, Programmnamen, Aktion, SQL-Text usw.
SELECT s.sid, s.serial#, s.username, s.status, t.sql_id, t.sql_text,
s.last_call_et, s.logon_time, s.program , s.module, s.action
FROM v$session s, v$sqltext_with_newlines t
WHERE s.sql_id = t.sql_id
AND s.STATUS = 'ACTIVE'
AND s.username <> 'SYS'
AND s.sql_id IN (
SELECT MAX(sql_id)
FROM v$session
WHERE username <> 'SYS'
AND STATUS = 'ACTIVE'
GROUP BY username
);
Dieses Skript gibt das zuletzt ausgeführte zurück SQL-Anweisungen, einschließlich Benutzername, Status, letzte Laufzeit, Programmname, Aktion, SQL-Text usw.
Zusammenfassung
Bei der Oracle-Datenbankverwaltung müssen wir häufig die ausgeführten SQL-Anweisungen abfragen. Oracle stellt Systemansichten zum Abfragen aktiver SQL-Anweisungen bereit. Durch Abfragen dieser Ansichten und Verwendung von SQL-Skripts können wir aktive SQL-Anweisungen und zugehörige Informationen einfach abfragen, um die SQL-Leistung zu optimieren und zu überwachen. Gleichzeitig bieten Oracle Enterprise Manager und Oracle SQL Developer auch die Funktion der Abfrage von SQL-Anweisungen, die je nach persönlichem Bedarf ausgewählt und verwendet werden können.
Das obige ist der detaillierte Inhalt vonOracle-Abfrageausführung SQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!