Oracle 逻辑备份与恢复

24 Sep 2014

Oracle 备份

导出表:导出自己的表,导出其他方案的表,导出表的结构,直接方式导出表


sql> exp userid=scott/tiger@myoral tables=(emp, dept) file=d:\e1.dmp;    //导出自己的表
sql> exp userid=system/manager@myoral tables=(scott.emp) file=d:\e2.dmp; //导出其他方案的表
sql> exp userid=scott/tiger@myoral tables=(emp) file=d:\e3.dmp rows=n;   //导出表的结构
sql> exp userid=scott/tiger@myoral tables=(emp) file=d:\e4.dmp direct=y; //使用直接导出方式

注:在导入导出的时候,要到oracle目录下的bin目录下执行以上命令。使用直接导出方式比默认的常规方式速度要快,当数据量大时可以考虑这样的方式。

导出方案:导出自己的方案,导出其他人的方案,导出数据库


sql> exp userid=scott/tiger@myoral owner=scott file=d:\scott.dmp;              //导出自己的方案
sql> exp userid=system/manager@myoral owner=scott file=d:\system.dmp;          //导出其他人的方案
sql> exp userid=system/manager@myoral full=y inctype=complete file=d:\sys.dmp; //导出数据库

注:inctype=complete :增量备份,备份一次过后,第二次的速度会快点,检查是否有更新的数据,只添加新的数据.

Oracle 恢复

导入表 :导入自己的表,导入表到其他用户,导入表的结构(不导入数据),导入数据(若表已经存在则只导入数据)


sql> imp userid=scott/tiger@myoral tables=emp file=d:\emp.dmp;                    //导入自己的表
sql> imp userid=system/manager@myoral tables=emp file=d:\system.dmp touser=scott; //导入表到其他用户
sql> imp userid=scott/tiger@myoral tables=emp file=d:\emp.dmp rows=n;             //导入表的结构
sql> imp userid=scott/tiger@myoral tables=emp file=d:\emp.dmp ignore=y;           //导入数据

导入方案,数据库


sql> imp userid=scott/tiger@myoral file=d:\emp.dmp;                                    //导入自己的方案
sql> imp userid=system/manager@myoral file=d:\system.dmp fromuser=system touser=scott; //导入别人的方案
sql> imp userid=system/manager@myoral full=y file=d:\system.dmp;                       //导入数据库