Я создаю таблицу как
create table tablename
as
select * for table2
Я получаю сообщение об ошибке
ORA-01652 Unable to extend temp segment by in tablespace
Когда я гуглил, я обычно обнаруживал ошибку ORA-01652, показывающую какое-то значение, например
Unable to extend temp segment by 32 in tablespace
Я не получаю такого значения. Я выполнил этот запрос.
select
fs.tablespace_name "Tablespace",
(df.totalspace - fs.freespace) "Used MB",
fs.freespace "Free MB",
df.totalspace "Total MB",
round(100 * (fs.freespace / df.totalspace)) "Pct. Free"
from
(select
tablespace_name,
round(sum(bytes) / 1048576) TotalSpace
from
dba_data_files
group by
tablespace_name
) df,
(select
tablespace_name,
round(sum(bytes) / 1048576) FreeSpace
from
dba_free_space
group by
tablespace_name
) fs
where
df.tablespace_name = fs.tablespace_name;
Взято из: Узнать свободное место в табличном пространстве
и я обнаружил, что в табличном пространстве, которое я использую, в настоящее время имеется около 32 ГБ свободного места. Я даже пробовал создать таблицу вроде
create table tablename tablespace tablespacename
as select * from table2
но я снова получаю ту же ошибку. Может ли кто-нибудь подсказать мне, в чем проблема и как ее решить. К вашему сведению, оператор select принесет мне 40 000 000 записей.