一:基本导入导出
exp scott/oracle@orcl file=d:/test.dmp
imp scott/oracle@orcl file=d:/test.dmp ignore=y
ignore参数
如果表中没有数据,在使用IMP导入 的ignore=y参数时,ORACLE不会检查要导入的数据结构和现存在数据库中表的结构是否相同。
会直接显示如下信息:
. . importing table "XXXXX_tablename" 0 rows imported
只有真要有数据需要导入时,才会检查数据结构的一致性问题。
所以在检查自己做的定时导入导出时,一定要用数据去检测,否则可能造成一种假象。
二:从用户A导入用户B
1将数据库中用户A的表导出
1:exp system/manager@TEST file=d:daochu.dmp tables=(table1,table2)
注:如果用exp system/manager@TEST file=d:daochu.dmp owner=(system),会将所有是system用户的表都导出,所以还是一个表一个表的写吧!
2:导入到用户B
imp user/test@TEST fromuser=system touser=user file=d:daochu.dmp:
============================================================================
三:ORACLE 导出多个用户的表
exp sljsxmgk/sljsxmgk@124.128.194.93 file=d:/sxz.dmp owner=(user1,user2)
imp system/oracle@orcl file=d:/sxz.dmp grants=n rows=y ignore=y fromuser=(user1,user2) touser=(user1,user2)
============================================================================
四:ORACLE无法导出空表解决方案
11G中新特性,当表无数据时,不分配segment,以节省空间
解决方法:
1查找空表并分配空间:select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;
2然后将执行结果复制到另一个SQL窗口,并执行类似的语句:
ALTER TABLE COMJARREF ALLOCATE EXTENT;
ALTER TABLE COMSTORE ALLOCATE EXTENT;
ALTER TABLE DATASERVER ALLOCATE EXTENT;
ALTER TABLE EIMP_COLUMNS ALLOCATE EXTENT;
ALTER TABLE EIMP_TABLES ALLOCATE EXTENT;
===============================================================
五:ORACLE 导入导出某几个表
数据导出:
1 将数据库TEST完全导出,用户名system 密码manager 导出到D:daochu.dmp中
exp system/manager@TEST file=d:daochu.dmp full=y
2 将数据库中system用户与sys用户的表导出
exp system/manager@TEST file=d:daochu.dmp owner=(system,sys)
3 将数据库中的表table1 、table2导出
exp system/manager@TEST file=d:daochu.dmp tables=(table1,table2)
4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
exp system/manager@TEST file=d:daochu.dmp tables=(table1) query=" where filed1 like '00%'"
上面是常用的导出,对于压缩我不太在意,用winzip把dmp文件可以很好的压缩。
不过在上面命令后面 加上 compress=y 就可以了
数据的导入
1 将D:daochu.dmp 中的数据导入 TEST数据库中。
imp system/manager@TEST file=d:daochu.dmp
上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
在后面加上 ignore=y 就可以了。
2 将d:daochu.dmp中的表table1 导入
imp system/manager@TEST file=d:daochu.dmp tables=(table1)