导入数据库时指定表空间的遇到的有关问题
导入数据库时指定表空间的遇到的问题新创建了一个用户USER,并为其指定默认的表空间TABLESPACE_NEW,这个TAB
导入数据库时指定表空间的遇到的问题
新创建了一个用户USER,并为其指定默认的表空间TABLESPACE_NEW,这个TABLESPACE_NEW也是新建的。
然后回收了该用户对表空间的unlimited权限,并将用户USER在System表空间和原有的默认表空间TABLESPACE_OLD的配额置为0,又将在表空间TABLESPACE_NEW的配额设置成unlimited,以使用户USER导入数据库时,数据会放在表空间TABLESPACE_NEW里。
用imp命令导入时,发现数据的确导入了TABLESPACE_NEW中。
但是现在发现了一个问题,导入过程中,某些表出现了“超出表空间TABLESPACE_OLD的配额”,导致了无法导入该表。
想问的是,既然现在导入在TABLESPACE_NEW里,那么为什么还和TABLESPACE_OLD有关系?
[解决办法]
查看一下,出问题的表是否有lob类型,如blob,clob,long等
[解决办法]
你导出数据的表空间是在OLD的吧,那么导入时候去找表的默认表空间OLD,
[解决办法]
[解决办法]lob类型的存储方式和其他字段类型不一样,他与对应user的default tablespace没有必然的联系。在exp/imp的时候,用普通的方法不行。好像10以后去掉了这个限制。
可变通实现,如先在目标用户及新表空间上建表,然后导入的时候ignore=y。
或者通过copy将含有lob的表迁移
[解决办法][解决办法]