1

我有一个已经填充的表。

我需要将一列的数据类型从 LONG 更改为 CLOB

但是,此数据库由第三方托管,并且表空间有限。

我知道命令:

ALTER TABLE myTable MODIFY my_data CLOB

但是,经过长时间的等待,我收到了错误消息:

ORA-01652: unable to extend temp segment by 128 in tablespace

增加表空间不是一种选择。

有什么变通办法吗?

我可以创建一个数据类型为 CLOB 的新列,然后从 my_data ( LONG) 复制和转换数据,而不会耗尽表空间吗?我可以关闭撤消以提供帮助吗?

非常感谢

4

1 回答 1

1

我想说最好的选择是使用新数据类型创建一个新列,根据旧列更新它,然后删除旧列,但是由于您遇到空间问题,这可能不是一个选项。

或者你可以尝试在一系列沐浴中做到这一点。例如,将 10000 行数据移动到新列,然后将这 10000 行的旧值设置为 null 以释放一些空间。

于 2012-07-20T08:42:17.357 回答