简单使用 Oracle 数据泵 Data Pump 导出导入备份数据库

本贴最后更新于 2498 天前,其中的信息可能已经东海扬尘

数据库备份的分类

按数据库备份的本质划分为:

  1. 物理备份
  2. 逻辑备份

按备份时,数据库是否可用(是否启动)划分为:

  1. “热”备份,或联机备份,或非一致性备份
  2. “冷”备份,或脱机备份,或一致性备份

按备份数据数据是否完整划分为:

  1. 完全备份
  2. 增量备份

按备份的介质划分为:

  1. 磁盘备份
  2. 磁带备份

按备份的方式划分为:

  1. RMAN 备份
  2. 数据泵 Expdp/Exp 备份

简单介绍下数据泵 Expdp/Exp 备份

对于实时性要求不高的系统,且对数据一致性要求不高,可接受一小段时间数据丢失的情况下,定时通过数据泵导出 dump 文件应该是最简单有效的备份方式。
优点不用停机,可根据需要导出不同数据库部分,可以导出全库,可以导出某个 schema,也可以导出指定数据表,还可以只导出某个 schema 下的所有数据表等等。简单方便又灵活。

导出全库对象

  1. Grant privilege to system user and create DIRECTORY
sqlplus / as sysdba

SQL> GRANT EXEMPT ACCESS POLICY to system;

SQL> CREATE OR REPLACE DIRECTORY fulldump_dir AS '/backup/fulldump/';

SQL> GRANT READ, WRITE ON DIRECTORY fulldump_dir TO system;
  1. Use expdp command export dump file
nohup expdp system/password@dbname full=Y directory=fulldump_dir dumpfile=testdb_all.dmp logfile=exp_testdb_all.log  &
  1. Monitor the process and status by tail the log file until export success.
tail –f exp_testdb_all.log

导出指定 schema 下的所有数据表对象

  1. Grant privilege to system user and create DIRECTORY
sqlplus / as sysdba
SQL> GRANT EXEMPT ACCESS POLICY to system;
SQL> CREATE OR REPLACE DIRECTORY dump_dir AS '/backup/dailydump/';
SQL> GRANT READ, WRITE ON DIRECTORY dump_dir TO system;
  1. Use expdp command export dump file
Nohup  expdp system/password directory=dump_dir dumpfile=myschema_tables.dmp logfile=myschema_tables.log schemas=myschema include=table &
  1. Monitor the process and status by tail the log file until export success.
tail –f myschema_tables.log

使用 impdp 命令导入 dump 文件,存在的数据表全量替换

  1. Grant privilege to system user and create DIRECTORY
sqlplus / as sysdba
SQL> GRANT EXEMPT ACCESS POLICY to system;
SQL> CREATE OR REPLACE DIRECTORY dump_dir AS '/backup/dailydump/';
SQL> GRANT READ, WRITE ON DIRECTORY dump_dir TO system;
  1. Use impdp command import dump file
nohup impdp system/password schemas=myschema directory=dump_dir dumpfile=myschema_tables.dmp logfile=imp_myschema_tables.log schemas=myschema TABLE_EXISTS_ACTION=REPLACE &

还可以导出导入指定表空间的对象,只导出数据,只导出表结构等等。具体请参阅 Oracle 白皮书。
如果需要实时联机备份,那还是老老实实用 RMAN 吧。

  • Oracle

    Oracle(甲骨文)公司,全称甲骨文股份有限公司(甲骨文软件系统有限公司),是全球最大的企业级软件公司,总部位于美国加利福尼亚州的红木滩。1989 年正式进入中国市场。2013 年,甲骨文已超越 IBM,成为继 Microsoft 后全球第二大软件公司。

    105 引用 • 127 回帖 • 382 关注
  • 备份
    12 引用 • 18 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...