Heim  >  Artikel  >  Datenbank  >  Was ist Oracle Tablespace?

Was ist Oracle Tablespace?

青灯夜游
青灯夜游Original
2021-12-24 11:54:0612491Durchsuche

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.

Was ist Oracle Tablespace?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, Oracle 11g-Version, Dell G3-Computer.

1. Konzept

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 Ansichten

select * 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 数据库中的所有段分配的存储
Was ist Oracle Tablespace?

Was ist Oracle Tablespace?

3. Verwandte OperationenWas ist Oracle Tablespace?

1, Tischfläche schaffenWas ist Oracle Tablespace?

--语法:
create [temporary] tablespace tablespace_name tempfile|datafile ‘xx.dbf’ size xx;
--创建临时表空间时,加上temporary关键字;
Was ist Oracle Tablespace?

2. Wenn ein bestimmter Tabellenbereich aufgebraucht ist, kann der Einfügevorgang nicht mehr für die Datenbanktabelle ausgeführt werden Tabellenbereich durch Hinzufügen von Datendateidateien.

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数据文件,不加则不删除相关数据文件;
--删除数据文件时,不能删除表空间当中第一个数据文件,如果要删除就需要删除整个表空间。
Was ist Oracle Tablespace?

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;

Empfohlenes Tutorial: "
Oracle-Tutorial

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!

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