Der Oracle-Tabellenbereich ist die logische Unterteilung der Datenbank und die kleinste Einheit für die Oracle-Datenbankwiederherstellung. Er beherbergt viele Datenbankeinheiten wie Tabellen, Ansichten, Indizes, Cluster, Rollback-Segmente, temporäre Segmente usw. Eine Oracle-Datenbank kann über einen oder mehrere Tabellenbereiche verfügen, und ein Tabellenbereich entspricht einer oder mehreren physischen Datenbankdateien.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, Oracle 11g-Version, Dell G3-Computer.
Oracle Tablespaces (Tablespaces) ist ein logisches Konzept. Datendateien sind das, was eigentlich Daten speichert. Eine Oracle-Datenbank kann über einen oder mehrere Tabellenbereiche verfügen, und ein Tabellenbereich entspricht einer oder mehreren physischen Datenbankdateien.
Tabellenraum ist die kleinste Einheit für die Wiederherstellung von Oracle-Datenbanken und beherbergt viele Datenbankeinheiten wie Tabellen, Ansichten, Indizes, Cluster, Rollback-Segmente, temporäre Segmente usw.
1. Funktionen des Oracle-Tabellenbereichs:
(1) Kontrolle der Datenbankdaten-Festplattenzuordnung;
(2) Begrenzen Sie den Speicherplatz, den Benutzer im Tabellenbereich verwenden können;
(3) Die Tabelle Der Speicherplatz verfügt über die Attribute „online“, „offline“, „readonly“ und „readwrite“.
2. Klassifizierung von Tabellenbereichen:
Permanenter Tabellenbereich: Einige Objekte, die dauerhaft in der Datenbank gespeichert werden sollen, z. B. Tabellen, Ansichten, gespeicherte Prozeduren.
Temporärer Tabellenbereich: Zwischenausführung während der Datenbank Operationen Der Prozess: Nach Abschluss der Ausführung wird der gespeicherte Inhalt automatisch freigegeben. Segment)
Bezieht sich auf den allgemeinen Namen des von Datenbankobjekten belegten Speicherplatzes oder der von Datenbankobjekten verwendeten Speicherplatzmenge. Dies kann Tabellensegmente, Indexsegmente, Rollback-Segmente, temporäre Segmente, Cache-Segmente usw. umfassen.Umfang (Intervall/Erweiterung
), jeder kontinuierliche Block, der einem Objekt (z. B. einer Tabelle) zugewiesen ist, wird als Intervall bezeichnet. Das Intervall wird auch als Erweiterung bezeichnet, da neue Datensätze erforderlich sind, wenn das zugewiesene Intervall aufgebraucht ist eingefügt in Neue Bereiche zuweisen (d. h. einige Blöcke erweitern); Sobald ein Bereich einem Objekt (Tabelle, Index, Cluster) zugewiesen wird, kann der Bereich nicht anderen Objekten zugewiesen werden.Strukturdiagramm
Datendatei, Segment, Beziehungsdiagramm erweitern
2. Verwandte Ansichtenselect * from dba_data_files; --describes database files 数据文件信息 select * from dba_temp_files; --describes all temporary files (tempfiles) in the database 临时数据文件信息 select * from dba_free_space; --describes the free extents in all tablespaces in the database 数据库中所有表空间中的空闲扩展区 select * from dba_segments; --describes the storage allocated for all segments in the database 数据库中的所有段分配的存储
3. Verwandte Operationen
1, Tischfläche schaffen
--语法: create [temporary] tablespace tablespace_name tempfile|datafile ‘xx.dbf’ size xx; --创建临时表空间时,加上temporary关键字;
select f.* from dba_data_files f where f.tablespace_name='MLT';--查看表空间信息 alter tablespace MLT --表空间名 add datafile '/home/oracle/oradata/crm/mlt04.dbf' --datafile文件路径 size 100M --表空间大小 autoextend on --自动扩展
3. Ändern Sie den Status des Tabellenbereichs
alter tablespace tablespace_name online|offline;--表空间是脱机时不可用,默认是联机的
drop tablespace tablespace_name[including contents]; --including contents 表示删除表空间包括datafile数据文件,不加则不删除相关数据文件; --删除数据文件时,不能删除表空间当中第一个数据文件,如果要删除就需要删除整个表空间。
5. Tabellenbereichsnutzung anzeigen
--查询表空间使用情况SELECT Upper(F.TABLESPACE_NAME) "表空间名", D.TOT_GROOTTE_MB "表空间大小(M)", D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)", To_char(Round(( D.TOT_GROOTTE_MB - F.TOTAL_BYTES ) / D.TOT_GROOTTE_MB * 100, 2), '990.99') || '%' "使用比", F.TOTAL_BYTES "空闲空间(M)", F.MAX_BYTES "最大块(M)"FROM (SELECT TABLESPACE_NAME, Round(Sum(BYTES) / ( 1024 * 1024 ), 2) TOTAL_BYTES, Round(Max(BYTES) / ( 1024 * 1024 ), 2) MAX_BYTES FROM SYS.DBA_FREE_SPACE GROUP BY TABLESPACE_NAME) F, (SELECT DD.TABLESPACE_NAME, Round(Sum(DD.BYTES) / ( 1024 * 1024 ), 2) TOT_GROOTTE_MB FROM SYS.DBA_DATA_FILES DD GROUP BY DD.TABLESPACE_NAME) DWHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME--查询表空间的空闲扩展区select tablespace_name, count(*) AS extends,round(sum(bytes) / 1024 / 1024, 2) AS 大小/MB,sum(blocks) AS blocks from dba_free_space group BY tablespace_name;--查询表空间的总容量select tablespace_name, sum(bytes) / 1024 / 1024 as MB from dba_data_files group by tablespace_name;--查询表空间使用率SELECT total.tablespace_name, Round(total.MB, 2) AS 总量/MB, Round(total.MB - free.MB, 2) AS 已使用/MB, Round(( 1 - free.MB / total.MB ) * 100, 2) || '%' AS 使用率FROM (SELECT tablespace_name, Sum(bytes) / 1024 / 1024 AS MB FROM dba_free_space GROUP BY tablespace_name) free, (SELECT tablespace_name, Sum(bytes) / 1024 / 1024 AS MB FROM dba_data_files GROUP BY tablespace_name) totalWHERE free.tablespace_name = total.tablespace_name;
Das obige ist der detaillierte Inhalt vonWas ist Oracle Tablespace?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!