1. 通过exp命令完全导出数据库,生成dmp文件
EXP SYSTEM/MANAGER BUFFER=64000 FILE=C:\FULL.DMP FULL=Y
2.清空所有表数据
truncate table tablename
3.plsql 以需要导出数据的用户登录
新建command window
执行下面代码
-----------
set heading off;
set echo off;
set feedback off;
set termout on;
spool C:\allocate.sql;
Select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;
spool off;
-----------
4.执行下面代码,目的是给空表分配表空间,以便exp命令能够导出空表
SQL>@ C:\allocate.sql;
5.exp username/passwd file=/home/oracle/exp.dmp owner=your.owner.name
创建对应原用户下的同名表空间到要导入的数据库服务器,如果同名表空间存在,将其删除重新创建,再次导入会变相的释放表空间。
新建导入用户的时候,角色要选RESOURCE。删除同名用户会清空表空间。
6.imp dbauser/passwd file=/home/oracle/exp.dmp fromuser=your.owner.name touser=tousername STATISTICS=none
STATISTICS=none
排除版本异常产生的20001的错误