关于oracle数据库备份,可以使用oracle提供的exp和imp工具。
# exp userid=db_user/db_passwd@remote_ip/oracle_sid file=/home/hello.dmp log=/home/hello.log feedback=1000000 buffer=4194304 owner=oracle_user
上面命令就是导出oracle_user用户下所有的表。将导出文件为/home/hello.dmp,导出过程中产生的日志为/home/hello.log。feedback是没导出多少行产生一个回馈信息,这个值尽量设置大些,buffer为缓存,这个值内存大小来设置,不要超过内存值。
将导出的hello.dmp文件恢复到oracle_user用户中。
# imp userid=db_user/db_passwd@remote_ip/oracle_sid file=/home/hello.dmp log=/home/hello.log feedback=1000000 buffer=4194304 fromuser=oracle_user touser=oracle_user ignore=y commit=y
这个过程将oracle_user用户下所有的表和表中数据导入到oracle_user中,特别注意的事,导入后,整个导入过程中,不会主动去重。如果想去重,最好是在执行导入命令之前,先删除表,或者重建用户。