sqlplus /as sysbackup # 创建控制文件的备份副本 ALTER DATABASE BACKUP CONTROLFILE TO'/u01/backup/orcl/control.ctl'; SELECT name FROM v$datafile; SELECTmemberFROM v$logfile; # 将控制文件备份到跟踪文件 ALTER DATABASE BACKUP CONTROLFILE TO TRACE AS'/u01/backup/orcl/control.sql'; # 查看跟踪文件 cat /u01/backup/orcl/control.sql # 备份ORCL数据库的存档日志文件,备份完成后删除所有存档文件。 rman target "'/ as sysbackup'" catalog rcatowner/oracle_4U@rcat run { allocate channel "CH1" DEVICE TYPE DISK FORMAT '/u01/backup/orcl/%U'; backup archivelog alldeleteall input; } # 列出可用于恢复到1小时前的某个时间点的备份归档日志文件 list backup of archivelog until time'sysdate-05/60/24';
# 1.使用恢复目录登录到RMAN。 rman target "'/ as sysbackup'" catalog rcatowner@rcat # 2.关闭并重新启动数据库实例,以便您可以在装入状态下创建整个数据库的备份副本。 SHUTDOWN IMMEDIATE; STARTUP MOUNT; # 3.备份您的ORCL数据库作为档案备份。会出现报错。 backup ascopy database keep forever; # 问题:为什么backup命令失败? # 可能的答案:之所以失败,是因为无法将具有 KEEP属性的备份(档案备份)写入闪回恢复区。允许这样做有可能导致快速恢复区空间不足。此错误将迫使您指定其他位置。 # 4.使用FORMAT子句创建档案备份 BACKUP DATABASE FORMAT '/u01/backup/%U' TAG keep_db_tag KEEP forever RESTORE POINT KEEPDB; # 5.打开数据库并退出RMAN。 alter database open; # 6.对于备份的备用视图,(可选)以SYSMAN用户身份登录Cloud Control 并导航至Availability> Backup&Recovery> Manage Current Backups。(看对于KEEP_DB_TAG标签。) # 7.如果你没有看到你的存档备份,在页面底部设置NC_ORCL_HOST_ORACLE主机凭据,单击交叉检查所有。 # 8.(可选)查看还原点在Cloud Control中,导航:可用性>备份和恢复>还原点 # 问题:非保证的还原点是否使用额外的空间? # 答:不可以。
以下列出了使用归档备份的恢复步骤。此时请勿执行这些步骤!
rman target "'/ as sysbackup'" catalog rcatowner@rcat # 确认要使用的还原点的名称,在此示例中为KEEPDB LIST RESTORE POINT ALL; # 使用还原点还原和恢复数据库 RESTORE DATABASE UNTIL RESTORE POINT 'KEEPDB'; RECOVER DATABASE UNTIL RESTORE POINT 'KEEPDB'; # 由于您的数据库现在处于较早的时间,因此请使用RESETLOGS打开数据库 ALTER DATABASE OPEN RESETLOGS; SELECT DBID FROM V$DATABASE; # 在大多数环境中,Oracle建议在恢复后执行新的备份: BACKUP DATABASE PLUS ARCHIVELOG DELETE INPUT;