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!