在导入数据的时候遇到的错误为:
ORA-39083: 对象类型 USER 创建失败, 出现错误:
ORA-10615: Invalid tablespace type for temporary tablespace
失败的 sql 为:
CREATE USER "SQMZBHIS21" IDENTIFIED BY VALUES 'S:5B6C99939BAC6C3A0B732D87F73A2255BA4C544E51511E3511E823C11A89;308D874D9FC81924' DEFAULT TABLESPACE "SMART_TABLE" TEMPORARY TABLESPACE "TEMPORARY_DATA"
经过查阅资料,了解错误大概是指定表空间的类型出错
在查看下,要导入的用户SQMZBHIS21默认表空间为SMART_TABLE,临时表空间为TEMPORARY_DATA
而在我本机上面,TEMPORARY_DATA被定义成了永久表空间
这就导致导入SQMZBHIS21时出现以上错误,
解决办法:
一种解决办法是:将本机上TEMPORARY_DATA表空间删除掉,然后重新建立,将类型改为临时表空间,但是这种如果该表空间下还有别的数据,这样的话,其他数据就会丢失,这种适合确认表空间无其他数据的情况
--创建临时表空间
create temporary tablespace TEMPORARY_DATA
tempfile 'D:\app\Administrator\oradata\orcl\TEMPORARY_DATA.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
另一种解决方法是:创建一个SQMZBHIS21用户,指定好他的默认表空间和临时表空间,然后在导入的时候,就会以新的表空间进行导入。