zyh3033 发表于 2018-9-9 12:16:48

Oracle 备份/恢复

  ALTER DATABASE BACKUP CONTROLFILE TO TRACE AS '/home/oracle/control.ctl.bk';
  --将控制文件备份成为TRACE文件,即重建控制文件的文本命令行。
  ALTER TABLESPACE TB1 BEGIN BACKUP;
  !cp '/u01/app/oracle/oradata/orcl/tb1.dbf' '/backup/tb1.dbf';
  ALTER TABLESPACE TB1 END BACKUP;
  --热备份TB1表空间的tb1.dbf文件。可以有效防止块撕裂和块过旧的问题。
  ALTER DATABASE BACKUP CONTROLFILE TO '/home/oracle/con1.ctl.bk';
  --热备份控制文件
  RMAN>CONNECT TARGET /
  --连接到默认实例
  RMAN>REPORT SCHEMA;
  --查看实例中库文件的状况
  RMAN>SHOW ALL;
  --查看所有备份配置
  RMAN>CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/home/oracle/backup/%d_%I_%s_%p_%T.bkp';
  --将备份片格式设置为%d_%I_%s_%p_%T.bkp
  rman备份片格式:
  %a 数据库活动id
  %c 备份片拷贝数
  %d 库名
  %D 天(DD)
  %e 归档序列号
  %F c-iiiiiiiiii-YYYYMMDD-QQ ,iiiiiiiiii是数据库id号,QQ是1-256的序列
  %I dbid
  %p 备份集中的备份片号
  %s 备份集号
  %t 时间戳
  %T YYYYMMDD
  %u 八字符表示的备份集创建时间
  %U %u_%p_%c
  RMAN>BACKUP SPFILE;
  --备份SPFILE
  RMAN>BACKUP CURRENT CONTROLFILE;
  --备份当前的控制文件
  RMAN>BACKUP ARCHIVELOG ALL;
  --备份所有的归档日志
  RMAN>BACKUP DATABASE;
  --备份数据库的SPFILE、控制文件、数据文件。产生两个备份片。
  RMAN>BACKUP AS COMPRESSED BACKUPSET DATABASE;
  --压缩备份数据库
  RMAN>BACKUP DATAFILE 4 TO 'XXXX';
  --备份数据文件4
  RMAN>BACKUP TABLESPACE USERS;
  --备份USRES表空间
  RMAN>BACKUP AS COMPRESSED BACKUPSET DATABASE PLUS ARCHIVELOG;
  --备份数据库与归档日志
  RMAN>CONFIGURE CONTROLFILE AUTOBACKUP ON;
  --开启控制文件自动备份。当控制文件发生变化时,控制文件自动备份。
  RMAN>LIST BACKUP;
  --查看控制文件中记录的备份集
  RMAN>RESTORE SPFILE FROM 'XXX';
  --从备份集中提取还原SPFILE。前提是SPFILE和PFILE都没有的情况下,用RMAN起DUMMY实例
  RMAN>RESTORE CONTROFILE FROM 'XXX';
  --从备份集中提取还原CONTROFILE。
  RMAN>RESTORE DATAFILE 4 FROM 'XXX';
  --从备份集中提取还原数据文件4
  RMAN>RECOVER DATAFILE 4;
  --恢复数据文件4
  RMAN>RESTORE DATABASE;
  --根据控制文件中的备份记录还原数据库
  RMAN>RECOVER DATABASE;
  --根据控制文件中的备份记录恢复数据库

页: [1]
查看完整版本: Oracle 备份/恢复