Oracle全量备份与恢复

环境

  • Oracle 11g
  • CentOS 7.6

前期准备(注意执行的用户,root or oracle)

1.新建Oracle数据库备份存放目录

[root@637c4d4d4af4 /]# mkdir –p /home/oracle/backup 

2.修改目录权限(Oracle在oracle用户下运行)

[root@637c4d4d4af4 /]# chown oracle:oinstall /home/oracle/backup
  1. 创建目录对象
# 切换到oracle用户
[root@637c4d4d4af4 /]# su oracle

# 切换到SQLPLUS环境
[oracle@637c4d4d4af4 ~]$ sqlplus /nolog

# 管理员身份登录
SQL> conn /as sysdba

# 制定EXPDP输出目录
SQL> create directory expdp_bak_dir as '/home/oracle/backup';

# 授予system权限
SQL> grant create any directory to system;

全量备份

  • 前期工作做好就可以开始备份了,下面是针对xm_uap这个用户进行全量备份的
# expdp_bak_dir 为上面创建的一个备份目录
# schemas 为要备份的用户对象
# compression=all 表示所有数据都进行压缩,可以大量减少备份文件大小
[oracle@637c4d4d4af4 ~]$ expdp system@helowin directory=expdp_bak_dir schemas=xm_uap dumpfile=backup.dmp logfile=backup.log compression=all
  • 生成的备份文件就在expdp_bak_dir指向的目录下,backup.dmp为数据备份文件,backup.log为备份过程中的日志

全量恢复

  • 恢复时记得先创建好对应的表空间,用户不需要创建
[oracle@637c4d4d4af4 ~]$ impdp system directory=expdp_bak_dir dumpfile=backup.dmp logfile=recover.log

你可能感兴趣的:(Oracle全量备份与恢复)