Heim >Datenbank >Oracle >So fragen Sie die Beziehung zwischen Oracle-Tabellenbereichen und Benutzern ab

So fragen Sie die Beziehung zwischen Oracle-Tabellenbereichen und Benutzern ab

PHPz
PHPzOriginal
2023-04-04 09:01:221602Durchsuche

Oracle-Datenbank ist eine der am häufigsten verwendeten relationalen Datenbanken. Um die Datenbank besser verwalten zu können, müssen wir die Verwendung von Tabellenbereichen überprüfen, insbesondere welcher Benutzer welchen Tabellenbereich verwendet. In diesem Artikel wird erläutert, wie die Beziehung zwischen Tabellenbereichen und Benutzern abgefragt wird.

Um die Beziehung zwischen Tabellenbereichen und Benutzern abzufragen, müssen wir zunächst einige grundlegende Konzepte zu Oracle-Tabellenbereichen und -Benutzern verstehen.

Tabellenbereich ist eine physische Speichereinheit in der Oracle-Datenbank, die zum Speichern von Tabellen, Indizes und anderen Objekten verwendet wird. Jede Datenbank verfügt über mindestens einen Tabellenbereich und es können mehrere Tabellenbereiche erstellt werden. Ein Benutzer verfügt über eine Anmelde-ID und ein Kennwort in der Datenbank und kann Objekte wie Tabellen, Ansichten und gespeicherte Prozeduren erstellen und verwenden.

Um die Nutzung des Tabellenbereichs abzufragen, können Sie den folgenden Befehl verwenden:

SELECT tablespace_name, 
       sum(bytes/1024/1024) as "Total Size (MB)", 
       sum(decode(autoextensible,'YES',bytes/1024/1024,0)) as "AutoExtensible (MB)", 
       sum(decode(maxbytes,0,bytes,maxbytes)/1024/1024) as "MaxSize (MB)", 
       sum(decode(maxbytes,0,bytes,maxbytes)/1024/1024) - sum(bytes/1024/1024) as "Used (MB)", 
       round(((sum(decode(maxbytes,0,bytes,maxbytes)/1024/1024) - sum(bytes/1024/1024)) / sum(decode(maxbytes,0,bytes,maxbytes)/1024/1024)) * 100,2) || '%' as "Used %" 
FROM dba_data_files 
GROUP BY tablespace_name;

Der obige Befehl gibt den Namen, die Gesamtgröße, die Größe der automatischen Erweiterung, die maximale Größe, die verwendete Größe, die Nutzungsrate und andere Informationen der Tabelle zurück Raum. Unter diesen ist dba_data_files eine der Systemansichten in der Oracle-Datenbank, die zum Anzeigen von Datendateiinformationen verwendet wird. dba_data_files是Oracle数据库中系统视图中的一个,用于查看数据文件的信息。

除了查看表空间的使用情况,我们还可以查询哪个用户使用了哪个表空间。可以使用以下命令:

SELECT tablespace_name, 
       owner, 
       segment_name, 
       segment_type, 
       round(bytes/1024/1024,2) as "Size (MB)" 
FROM dba_segments 
WHERE owner = 'username' 
ORDER BY tablespace_name;

以上命令将返回指定用户(username)在每个表空间中的使用情况,包括表空间名称、用户名称、对象名称、对象类型以及占用空间大小等信息。dba_segments

Zusätzlich zur Überprüfung der Tabellenplatznutzung können wir auch abfragen, welcher Benutzer welchen Tabellenplatz nutzt. Sie können den folgenden Befehl verwenden:

SELECT t.tablespace_name, 
       d.owner, 
       s.segment_name, 
       s.segment_type, 
       round(s.bytes/1024/1024,2) as "Size (MB)" 
FROM dba_data_files t, dba_segments s, dba_users d 
WHERE t.file_id = s.header_file AND t.tablespace_name = s.tablespace_name AND s.owner = d.username 
ORDER BY t.tablespace_name;
Der obige Befehl gibt die Verwendung des angegebenen Benutzers (Benutzername) in jedem Tabellenbereich zurück, einschließlich Tabellenbereichsname, Benutzername, Objektname, Objekttyp und belegte Raumgröße und andere Informationen. dba_segments ist eine der Systemansichten in der Oracle-Datenbank, die zum Anzeigen von Informationen zu allen Objekten in der Datenbank verwendet wird.

Die beiden oben genannten Befehle können durch eine Union-Abfrage kombiniert werden, um die Nutzung aller Benutzer in jedem Tabellenbereich abzufragen:

rrreee

Der obige Befehl gibt die Nutzung aller Benutzer in jedem Tabellenbereich zurück, einschließlich Tabellenbereichsinformationen wie Name , Benutzername, Objektname, Objekttyp und belegter Speicherplatz. 🎜🎜Kurz gesagt ist die Abfrage der Beziehung zwischen Tabellenbereichen und Benutzern eine der wichtigen Aufgaben der Datenbankverwaltung und -optimierung. Durch die Verwendung der oben genannten Befehle und Ansichten können wir auf einfache Weise Informationen zwischen Datenbanktabellenbereichen und Benutzern abrufen, was für gute Entscheidungen zur Datenbankverwaltung von Vorteil ist. 🎜

Das obige ist der detaillierte Inhalt vonSo fragen Sie die Beziehung zwischen Oracle-Tabellenbereichen und Benutzern ab. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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