在 Linux 下备份 Oracle 数据库,常见方式主要有以下几种,按使用频率和推荐程度说明:
RMAN(Recovery Manager) 是 Oracle 自带的备份恢复工具,最安全、最常用。
su - oracle
export ORACLE_SID=orcl
rman target /
BACKUP DATABASE PLUS ARCHIVELOG;
生成文件在 FRA(快速恢复区)或指定路径。
RUN {
ALLOCATE CHANNEL c1 DEVICE TYPE DISK FORMAT '/backup/oracle/%U';
BACKUP DATABASE PLUS ARCHIVELOG;
RELEASE CHANNEL c1;
}
BACKUP TABLESPACE users;
BACKUP INCREMENTAL LEVEL 1 DATABASE;
适合 跨版本、跨平台迁移,不是物理备份。
CREATE DIRECTORY dump_dir AS '/backup/oracle';
GRANT READ, WRITE ON DIRECTORY dump_dir TO scott;
expdp system/password FULL=Y DIRECTORY=dump_dir DUMPFILE=full.dmp LOGFILE=full.log
expdp system/password SCHEMAS=scott DIRECTORY=dump_dir DUMPFILE=scott.dmp
适合 测试环境。
SHUTDOWN IMMEDIATE;
cp -r $ORACLE_BASE/oradata /backup/oracle/
cp $ORACLE_HOME/dbs/* /backup/oracle/
STARTUP;
0 2 * * * /home/oracle/rman_backup.sh
rman_backup.sh 示例:
#!/bin/bash
export ORACLE_SID=orcl
rman target / <<EOF
BACKUP DATABASE PLUS ARCHIVELOG;
EOF
如果你能告诉我:
我可以给你一套可直接用的备份脚本。