exp img 根据数据库用户导入导出数据库表
exp img 根据数据库用户导入导出数据库表
前言:
1、exp命令空表不能导出是因为11g中的不曾插入数据的空表是不分配存储单元的。解决办法为执行第一二步。
2、导入操作的数据库用户与表空间与导出的用户与表空间名一致,数据库版本只能为同版本或低版本导入高版本,否则会报错。
3、如果导入导出数据库版本不一致,修改dmp文件的首行中的版本号,这样导入dmp时才不会报错。
第一步:查询空表,并拼接分配空间语句。
select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0
第二步:执行查询结果中的sql语句,例如:alter table YWGL_PARTS allocate extent;
第三步:(根据数据库用户导出)exp 用户名/密码@IP地址:端口号/数据库名 file=d:/fzpt_sa.dmp owner=用户名
第四部:(根据数据库用户导入)imp 用户名2/密码2@IP地址2:端口号/数据库名 full=y file=d:/fzpt_sa.dmp ignore=y