坑一、oracle11g以后,对空表不会分配segment,所以exp工具导出的时候并没有包括这些空表。
解决方法:
-
修改空表,为其分配空间:
select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0
执行如上sql得到的结果。
-
改数据库设置,使其为空表默认分配空间。(不建议)
-
改用expdp工具
坑二、当表空间小于将要导入的数据的大小时,导入后没有数据。
比如ABC表空间为100M,但是需要到入的数据要占用150M,那么导入过程不会报错,但是导入完成后,所有表都没有数据,只有空表。导入后dba_free_space表里面没有查到表空间ABC。
解决方法:
- 修改表空间ABC的大小,并加上autoextend on;