Oracle-Datenbank ist derzeit eine der am häufigsten verwendeten Datenbanken. Ihr Einsatz umfasst viele Bereiche wie Unternehmensanwendungen, große Data Warehouses und Cloud-Lösungen. In Oracle wird jedem Benutzer eine bestimmte Menge an Speicherplatz zum Speichern seiner eigenen Objekte wie Tabellen, Indizes, Ansichten usw. zugewiesen. Daher ist die Abfrage des Oracle-Benutzerraums unbedingt erforderlich.
Es gibt viele Möglichkeiten, den Oracle-Benutzerbereich abzufragen, die durch Tools wie SQL-Abfrage, Oracle Enterprise Manager (OEM) oder PL/SQL Developer erreicht werden können. In diesem Artikel werden SQL-Anweisungen als Beispiel verwendet, um die Abfrage des Oracle-Benutzerbereichs vorzustellen.
In der Oracle-Datenbank können Sie die folgende SQL-Anweisung verwenden, um die räumlichen Informationen des aktuellen Benutzers abzufragen:
SELECT SUM(bytes/1024/1024) Total_MB, SUM(decode(segment_type,'TABLE',bytes,NULL))/1024/1024 as "TABLESPACE_MB", SUM(decode(segment_type,'INDEX',bytes,NULL))/1024/1024 as "INDEXSPACE_MB", SUM(decode(segment_type,'LOBSEGMENT',bytes,NULL))/1024/1024 as "LOBSPACE_MB", SUM(decode(segment_type,'LOBINDEX',bytes,NULL))/1024/1024 as "LOBINDEXSPACE_MB" FROM user_segments;
In der obigen SQL ist user_segments ein Oracle-Systemdatenwörterbuch Ansicht, die bereitgestellt werden kann. Statistik des gesamten zugewiesenen Speicherplatzes in der Datenbankinstanz für den aktuellen Benutzer.
Unter diesen stellt die Spalte „Bytes“ die Anzahl der vom aktuellen Objekt belegten Bytes dar, und die Spalte „segment_type“ stellt den Objekttyp dar, der Tabellen, Indizes, LOBs (große Objekte) usw. umfassen kann. Die Gesamtzahl der Bytes kann über die SUM-Funktion berechnet werden. Nach der Konvertierung in MB-Einheiten entspricht sie dem insgesamt verwendeten Speicherplatz, Tabellenbereich, Indexbereich, LOB-Bereich und LOB-Indexbereich.
Wenn Sie die räumlichen Informationen aller Benutzer abfragen möchten, können Sie die folgende SQL-Anweisung verwenden:
SELECT username, SUM(bytes/1024/1024) Total_MB, SUM(decode(segment_type,'TABLE',bytes,NULL))/1024/1024 as "TABLESPACE_MB", SUM(decode(segment_type,'INDEX',bytes,NULL))/1024/1024 as "INDEXSPACE_MB", SUM(decode(segment_type,'LOBSEGMENT',bytes,NULL))/1024/1024 as "LOBSPACE_MB", SUM(decode(segment_type,'LOBINDEX',bytes,NULL))/1024/1024 as "LOBINDEXSPACE_MB" FROM dba_segments GROUP BY username;
In der obigen SQL enthält dba_segments die von allen verwendeten räumlichen Statistiken Benutzer in der Datenbankinstanz Systemdatenwörterbuchansicht der Informationen. Die Anweisung „group by“ wird verwendet, um Statistiken zu Speicherplatznutzungsinformationen nach Benutzernamen zu gruppieren.
Es ist zu beachten, dass Sie beim Abfragen von dba_segments DBA-Berechtigungen benötigen, um auf diese Ansicht zuzugreifen.
Zusätzlich zu den oben genannten Methoden bietet Oracle Enterprise Manager (OEM) auch eine visuelle Schnittstelle, mit der die räumlichen Informationen aller Benutzer abgefragt werden können. Die spezifischen Vorgänge sind wie folgt:
#🎜🎜 #Das obige ist der detaillierte Inhalt vonSo fragen Sie den Oracle-Benutzerbereich ab. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!