Heim  >  Artikel  >  Datenbank  >  So lösen Sie das Problem des unzureichenden Tabellenplatzes in der Datenbank

So lösen Sie das Problem des unzureichenden Tabellenplatzes in der Datenbank

一个新手
一个新手Original
2017-09-08 10:32:1812453Durchsuche

1. Der Datenbanktabellenbereich reicht nicht aus. Der Einfügevorgang meldet

conn.msg = ORA-01653: 表 *******表名字********无法通过 8192 (在表空间 USERS 中) 扩展
ORA-06512: 在 "调用的函数", line 58
ORA-01403: 未找到任何数据
 [db.cpp:233]

Dieser Vorgang meldet, dass die Größe des Datentabellenbereichs nicht ausreicht . führen zu.

2. Überprüfen Sie einige relevante Informationen über den belegten Tabellenbereich

--Fragen Sie den durch die Tabellenbereichsgröße belegten Inhalt ab

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) D
  WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
  ORDER BY 1;

Ergebnis:

Dies ist die von allen Tabellenbereichen belegte Informationsgröße. Die Platzgröße der Tabelle besteht aus allen dem Tabellenbereich zugewiesenen Größeninformationen. Wenn die Nutzungsrate relativ hoch ist, ist möglicherweise nicht genügend Speicherplatz vorhanden und es können keine Daten eingefügt werden.

3. Fragen Sie die absolute Adresse, Größe und Datei-ID der physischen Festplatte ab, die dem Tabellenbereich entspricht

---Datendateien und Datendateigröße abfragen

select tablespace_name, file_id, file_name,
round(bytes/(1024*1024),0) total_space
from dba_data_files
order by tablespace_name;

IV, die folgenden drei Methoden können verwendet werden, um die Größe des Tabellenbereichs zu erhöhen

1. Ändern Sie die vorherige DBF-Datei nicht direkt , und fügen Sie eine weitere Dateianweisung hinzu

– lassen Sie die Datendateien automatisch erweitern

alter tablespace users add datafile 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\EXAMPLE01.DBF' size 32760m autoextend on next 1024m maxsize unlimited; 
--segment space management auto extent management local;

Es wird gesagt, dass es zusammen mit dem vorherigen Satz ausgeführt werden kann (entfernen Sie einfach das Semikolon aus dem vorherigen Satz. Wenn es nicht ausgeführt wird, kenne ich die Ausführung nicht). Bitte verwenden Sie es mit Vorsicht

2 – Lassen Sie die Tabellenbereichsgröße direkt in der Quelldatei erweitern Stellen Sie die Form der automatischen Erweiterung ein. Die maximale Erweiterung beträgt bis zu 10000 m. - Passen Sie die Größe an der Datendatei. Passen Sie die Größe der Quelldatei nicht automatisch an.

alter database datafile 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\EXAMPLE01.DBF' autoextend on next 100m maxsize 10000m

Ändern Sie die Größe von 4 Wenn der Vorgang ausgeführt wird, können Sie sehen, dass der insgesamt zugewiesene Speicherplatz stark zugenommen hat und die Belegungsrate gesunken ist, wenn Sie eine Abfrage durchführen.

Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem des unzureichenden Tabellenplatzes in der Datenbank. 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