在 Linux 环境下备份 Oracle 数据库,常见方式有 RMAN(推荐)、exp/imp(逻辑备份)、expdp/impdp(数据泵,推荐逻辑备份)、以及 冷备份(物理关闭库)。下面按使用频率和场景给你说明。
ARCHIVELOG 模式(建议)oracle 用户su - oracle
rman target /
BACKUP DATABASE PLUS ARCHIVELOG;
BACKUP DATABASE
FORMAT '/u01/backup/full_%d_%T_%s.bak';
cat > /u01/scripts/rman_backup.sh <<EOF
#!/bin/bash
export ORACLE_SID=orcl
export ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
export PATH=\$ORACLE_HOME/bin:\$PATH
rman target / <<RMAN
BACKUP DATABASE PLUS ARCHIVELOG;
DELETE OBSOLETE;
RMAN
EOF
chmod +x /u01/scripts/rman_backup.sh
可加入 crontab 定时执行。
CREATE DIRECTORY backup_dir AS '/u01/backup';
GRANT READ, WRITE ON DIRECTORY backup_dir TO scott;
expdp system/password \
DIRECTORY=backup_dir \
DUMPFILE=full_%U.dmp \
LOGFILE=expdp_full.log \
FULL=y
expdp system/password \
DIRECTORY=backup_dir \
SCHEMAS=scott \
DUMPFILE=scott.dmp
exp system/password file=/u01/backup/full.dmp full=y
sqlplus / as sysdba
SHUTDOWN IMMEDIATE;
拷贝以下目录:
$ORACLE_BASE/oradata)spfile / pfile)cp -r /u01/app/oracle/oradata /backup/oradata
启动数据库:
STARTUP;
| 类型 | 建议 |
|---|---|
| 生产库 | RMAN + 归档日志 |
| 迁移/导出 | expdp |
| 小库 | expdp |
| 灾备 | RMAN + 异地拷贝 |
1. 查看归档模式
ARCHIVE LOG LIST;
2. 开启归档
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;
如果你愿意,我可以:
你现在是哪类需求?