oracle备份命令linux系统版本
oracle备份命令linux系统版本详细介绍
在 Linux 系统下,Oracle 数据库的备份通常通过 RMAN(恢复管理器) 或 数据泵(Data Pump,EXPDP/IMPDP) 实现,以下是常用的备份命令及操作示例:
一、RMAN 备份(物理备份)
前提条件:
- 以
oracle用户登录 Linux 系统(需切换用户:su - oracle)。 - 配置环境变量(
ORACLE_SID、ORACLE_HOME、PATH等),可通过source ~/.bash_profile生效。
1. 全库备份(包含数据文件、控制文件、归档日志)
bash
rman target /RMAN immediate
RMAN startup
RMAN backup database
RMAN backup current controlfile
RMAN backup archivelog all
RMAN release
RMAN alter database
2. 增量备份(基于全备的增量更新)
bash
RMAN backup incremental level database
RMAN backup incremental level cumulative database
3. 表空间 / 数据文件备份
bash
RMAN backup tablespaceRMAN backup datafile
二、数据泵备份(逻辑备份,适用于数据迁移 / 部分数据备份)
1. 导出整个数据库(SYSTEM 用户执行,需有 DBA 权限)
bash
expdp system/密码@实例名 y DATA_PUMP_DIR full_db_backup_%d_%s_%p.dmp expdp.log
full=y:导出整个数据库。directory:需提前创建的数据库目录(通过CREATE DIRECTORY DATA_PUMP_DIR AS '/backup/'创建,Linux 路径需存在且权限正确)。dumpfile:备份文件名称,支持通配符。
2. 导出单个方案(用户模式)
bash
expdp scott/tiger@实例名 scott DATA_PUMP_DIR scott_schema.dmp
3. 导出表或表空间
bash
expdp system/密码@实例名 hr.employees DATA_PUMP_DIR employees_table.dmpexpdp system/密码@实例名 users DATA_PUMP_DIR users_ts.dmp
三、手动物理备份(直接复制文件,适用于冷备份)
- 关闭数据库并切换到
mount状态:bashsqlplus / as sysdba - 复制数据文件、控制文件、归档日志(若启用归档):bash
/u01/oracle/oradata/SID/*.dbf /backup/oracle/
/u01/oracle/product/19c/dbs/*.ctl /backup/oracle/
/u01/oracle/archivelog/SID/* /backup/archive/
- 打开数据库:bash
sqlplus / as sysdba
四、注意事项
- 环境变量:确保
ORACLE_SID和ORACLE_HOME正确设置,可通过echo $ORACLE_SID检查。 - 权限:备份目录需对
oracle用户有读写权限(chown -R oracle:oinstall /backup)。 - 归档模式:若需热备份(数据库打开时备份),需启用归档模式(
alter database archivelog;)。 - 备份策略:建议结合
crontab定时执行备份(例如每天全备或增量备份)。
如果需要更具体的命令(如针对特定 Oracle 版本或备份策略),可提供数据库版本(如 11g、12c、19c)或具体需求进一步调整。