我在将dump导入orcle时获取这两个语句:
ORA-39171: Job is experiencing a resumable wait.
ORA-01653: unable to extend table DATA_TABLE by 8192 in tablespace TABLE_DATA
如果您知道,请告诉我解决方案。
答案 0 :(得分:2)
当你用完表空间时,impdp非常礼貌地暂停,并通知你需要扩展表空间。完成后,impdp将继续导入,无需额外干预。
在您的情况下,您需要扩展表空间TABLE_DATA。登录到另一个会话,并提高与TABLE_DATA关联的文件的限制,或添加文件。假设您的数据文件为table_data_01.DBF
,其最大大小为500M。您可以使用以下内容将其扩展为1G:
ALTER DATABASE
DATAFILE 'D:\ORACLE\ORADATA\xxxx\table_data_01.DBF AUTOEXTEND ON
NEXT 256M
MAXSIZE 1G;
如果要将另一个数据文件添加到表空间,可以使用以下命令:
ALTER TABLESPACE TABLE_DATA
ADD DATAFILE 'D:\ORACLE\ORADATA\xxxx\CIS_DATA_02.DBF'
SIZE 256M
AUTOEXTEND ON
NEXT 16M
MAXSIZE 1G;
请务必根据您的环境调整路径和尺寸。
答案 1 :(得分:0)
尽管上述方法确实起作用,但是在使用Oracle 12c(12.1.0.2.0)时,我将导入保持为可恢复状态,并打开了另一个sqlplus窗口。从那里,我跑了:
ALTER TABLESPACE DATA1
添加数据文件
大小52428800
下一步8388608的自动扩展
最大大小30720M;
这将第四个数据文件添加到我们的表空间并创建了名称,因为它是oracle管理的文件名。创建数据文件后,Oracle导入立即从其可恢复状态继续。当然,如果您对该导入不满意,只需删除架构并进行整个重新导入。您创建的新表空间将仍然存在,因此您不会再次遇到“可恢复等待”错误。 还要注意,SIZE,AUTOEXTEND ON NEXT和MAXSIZE的参数是不同的,因为我使用的参数与表空间中已经存在的数据库文件相同。