oracle备份(exp、expdp)
--按用户导出表
expdp bdcdj/[email protected] schemas=bdcdj directory=a dumpfile=bdcdj.dmp
--按表名导出表
expdp scott/[email protected] TABLES=emp,dept dumpfile=expdp.dmp DIRECTORY=dpdata1;
--按查询条件导出表
expdp scott/[email protected] directory=dpdata1 dumpfile=expdp.dmp Tables=emp query=‘WHERE deptno=20‘;
--按表空间导出表
expdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=temp,example;
--导整个数据库
expdp system/manager DIRECTORY=dpdata1 DUMPFILE=full.dmp FULL=y;
--正常备份
exp bdcdj/[email protected] file=e:\bdcdj.dmp owner=bdcdj
--正常备份单张表
exp system/[email protected] file=d:\daochu.dmp tables=(table1,table2)
----------------------------------------------------------------------------------------------------------------------
oracle还原(imp、impdp)
--导入表
impdp sde/[email protected] schemas=bdcdj directory=a dumpfile=bdcdj.dmp
--导入表空间
impdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=example;
--导入数据库
impdp system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y;
--追加数据
impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=system TABLE_EXISTS_ACTION
--改变表的owner
impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp TABLES=scott.dept REMAP_SCHEMA=scott:system;
--还原单表
imp sde/[email protected] file=e:\xx.dmp tables=表名
imp sde/[email protected] file=e:\sde_T_xtsz.dmp tables=T_xtsz
--正常还原
imp sde/[email protected] file=E:\nb\sde.dmp fromuser=sde touser=sde buffer=99999999 log=‘E:\nb\sde.log‘
-- 2 将d:\daochu.dmp中的表table1 导入
imp system/[email protected] file=d:\daochu.dmp tables=(table1)
注意:这是我在工作中所用到的。一般就是这些常用的备份还原。希望对大家有个参考。注意加buffer=99999999是因为所导入的数据库文件大的情况下的。为了防止数据的丢失。如果在还原时发现少表的情况下。本人建议是将空的模板库在重新还原一下。这样就会全部还原进去。