根据需求,将一数据库导出
用exp 命令导出。。数据量比较大(dmp都50G左右),数据量达到八九千万行。。。(导出来就后悔了,早知道就用数据泵了。。。。)
导出命令
exp username/passwd@orcl file=/test owner= test;
之后搭建新的数据库环境.
注意:新搭建的环境实例名(sid),用户、表空间名,要保持一致。。。。否则会出错
完成之后导入
导入命令:
imp username/passwd@test file = /test.dmp fromuser=test touser=test;
导入过程中出现问题:
IMP-00008: unrecognized statement in the export file:
后来查到是由于有个新特性,当表无数据时,不分配segment,以节省空间,这样就会没有导出数据
既然是空表,那就没事。。。继续
出现如下问题:
IMP-00032: SQL statement exceeded buffer length
解决办法:
SQL语句超过缓冲区长度,需要加大buffer,可以指定buffer的大小.
将imp语句由
imp system/manager@orcl file=bible_db.dmp full=y
更改为
imp system/manager@orcl file=bible_db.dmp full=y buffer=100000000
。。。。。