通过RMAN备份恢复数据库到其他服务器!!!
linux-dash
A beautiful web dashboard for Linux
项目地址:https://gitcode.com/gh_mirrors/li/linux-dash
免费下载资源
·
1、记录一下源数据库的DBID
SQL> select DBID from v$database;
DBID
----------
1292118315
[oracle@linux flash_recovery_area]$ rman target /
恢复管理器: Release 10.2.0.4.0 - Production on 星期三 10月 12 14:28:10 2011
Copyright (c) 1982, 2007, Oracle. All rights reserved.
连接到目标数据库: ORCL (DBID=1292118315)
2、在源数据库端执行一次备份(包含数据文件、控制文件、归档日志文件)
RMAN> backup database include current controlfile plus archivelog;
启动 backup 于 12-10月-11
当前日志已存档
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=143 devtype=DISK
通道 ORA_DISK_1: 正在启动存档日志备份集
通道 ORA_DISK_1: 正在指定备份集中的存档日志
输入存档日志线程 =1 序列 =2 记录 ID=1 时间戳=764337959
输入存档日志线程 =1 序列 =3 记录 ID=2 时间戳=764338050
输入存档日志线程 =1 序列 =4 记录 ID=3 时间戳=764338051
输入存档日志线程 =1 序列 =5 记录 ID=4 时间戳=764338057
输入存档日志线程 =1 序列 =6 记录 ID=5 时间戳=764338066
输入存档日志线程 =1 序列 =7 记录 ID=6 时间戳=764346610
通道 ORA_DISK_1: 正在启动段 1 于 12-10月-11
通道 ORA_DISK_1: 已完成段 1 于 12-10月-11
段句柄=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2011_10_12/o1_mf_annnn_TAG20111012T143011_79bdzo31_.bkp 标记=TAG20111012T143011 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:03
完成 backup 于 12-10月-11
启动 backup 于 12-10月-11
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00001 name=/u01/app/oracle/oradata/orcl/system01.dbf
输入数据文件 fno=00003 name=/u01/app/oracle/oradata/orcl/sysaux01.dbf
输入数据文件 fno=00002 name=/u01/app/oracle/oradata/orcl/undotbs01.dbf
输入数据文件 fno=00005 name=/u01/app/oracle/oradata/orcl/tb1.dbf
输入数据文件 fno=00004 name=/u01/app/oracle/oradata/orcl/users01.dbf
通道 ORA_DISK_1: 正在启动段 1 于 12-10月-11
通道 ORA_DISK_1: 已完成段 1 于 12-10月-11
段句柄=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2011_10_12/o1_mf_nnndf_TAG20111012T143014_79bdzph0_.bkp 标记=TAG20111012T143014 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:35
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
备份集中包括当前控制文件
在备份集中包含当前的 SPFILE
通道 ORA_DISK_1: 正在启动段 1 于 12-10月-11
通道 ORA_DISK_1: 已完成段 1 于 12-10月-11
段句柄=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2011_10_12/o1_mf_ncsnf_TAG20111012T143014_79bf0v75_.bkp 标记=TAG20111012T143014 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:03
完成 backup 于 12-10月-11
启动 backup 于 12-10月-11
当前日志已存档
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在启动存档日志备份集
通道 ORA_DISK_1: 正在指定备份集中的存档日志
输入存档日志线程 =1 序列 =8 记录 ID=7 时间戳=764346652
通道 ORA_DISK_1: 正在启动段 1 于 12-10月-11
通道 ORA_DISK_1: 已完成段 1 于 12-10月-11
段句柄=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2011_10_12/o1_mf_annnn_TAG20111012T143052_79bf0xqr_.bkp 标记=TAG20111012T143052 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:02
完成 backup 于 12-10月-11
3、在目标端配置初始化参数文件,可以根据源数据库的参数文件来修改。
这里由于环境限制,我就在一台机器上面做实验了,在实际环境中要求源数据库和目标数据库版本一样。我这里当然满足要求了。
为后面的实验能够继续,在这里我删除了源数据库相关的所有文件,参数文件除外。在实际环境中还要copy备份集到目标数据库对应的目录下面(这里就是flash_recovery_area下面的东东)。
SQL> conn /as sysdba
已连接。
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> ! rm -rf /u01/app/oracle/oradata/orcl
4、还原控制文件(这里需要创建相应的控制文件目录)
[oracle@linux oracle]$ rman target /
恢复管理器: Release 10.2.0.4.0 - Production on 星期三 10月 12 14:51:43 2011
Copyright (c) 1982, 2007, Oracle. All rights reserved.
已连接到目标数据库 (未启动)
RMAN> set DBID=1292118315;
正在执行命令: SET DBID
RMAN> startup nomount;
Oracle 实例已启动
系统全局区域总计 167772160 字节
Fixed Size 1266392 字节
Variable Size 71306536 字节
Database Buffers 92274688 字节
Redo Buffers 2924544 字节
RMAN> restore controlfile from autobackup;
启动 restore 于 12-10月-11
使用通道 ORA_DISK_1
恢复区目标: /u01/app/oracle/flash_recovery_area
用于搜索的数据库名 (或数据库的唯一名称): ORCL
通道 ORA_DISK_1: 在恢复区域中找到自动备份
通道 ORA_DISK_1: 已找到的自动备份: /u01/app/oracle/flash_recovery_area/ORCL/autobackup/2011_10_12/o1_mf_s_764347410_79bfrlqs_.bkp
通道 ORA_DISK_1: 从自动备份复原控制文件已完成
输出文件名=/u01/app/oracle/oradata/orcl/control01.ctl
输出文件名=/u01/app/oracle/oradata/orcl/control02.ctl
输出文件名=/u01/app/oracle/oradata/orcl/control03.ctl
完成 restore 于 12-10月-11
5、还原数据文件(这里需要创建相应的数据文件目录)
RMAN> alter database mount;
数据库已装载
释放的通道: ORA_DISK_1
RMAN> restore database;
启动 restore 于 12-10月-11
启动 implicit crosscheck backup 于 12-10月-11
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=156 devtype=DISK
已交叉检验的 4 对象
完成 implicit crosscheck backup 于 12-10月-11
启动 implicit crosscheck copy 于 12-10月-11
使用通道 ORA_DISK_1
完成 implicit crosscheck copy 于 12-10月-11
搜索恢复区中的所有文件
正在编制文件目录...
目录编制完毕
已列入目录的文件的列表
=======================
文件名: /u01/app/oracle/flash_recovery_area/ORCL/autobackup/2011_10_12/o1_mf_s_764347410_79bfrlqs_.bkp
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集还原的数据文件
正将数据文件00001还原到/u01/app/oracle/oradata/orcl/system01.dbf
正将数据文件00002还原到/u01/app/oracle/oradata/orcl/undotbs01.dbf
正将数据文件00003还原到/u01/app/oracle/oradata/orcl/sysaux01.dbf
正将数据文件00004还原到/u01/app/oracle/oradata/orcl/users01.dbf
正将数据文件00005还原到/u01/app/oracle/oradata/orcl/tb1.dbf
通道 ORA_DISK_1: 正在读取备份片段 /u01/app/oracle/flash_recovery_area/ORCL/backupset/2011_10_12/o1_mf_nnndf_TAG20111012T144251_79bfqccl_.bkp
通道 ORA_DISK_1: 已还原备份片段 1
段句柄 = /u01/app/oracle/flash_recovery_area/ORCL/backupset/2011_10_12/o1_mf_nnndf_TAG20111012T144251_79bfqccl_.bkp 标记 = TAG20111012T144251
通道 ORA_DISK_1: 还原完成, 用时: 00:00:25
完成 restore 于 12-10月-11
6、不完全恢复数据库(因为online redo logfile是没有的。)
SQL> recover database using backup controlfile until cancel;
ORA-00279: 更改 474700 (在 10/12/2011 14:43:28 生成) 对于线程 1 是必需的
ORA-00289: 建议: /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_12/o1_mf_1_11_%u_.arc
ORA-00280: 更改 474700 (用于线程 1) 在序列 #11 中
指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
cancel
介质恢复已取消。
7、打开数据库
SQL> alter database open resetlogs;
数据库已更改。
SQL> select status from v$instance;
STATUS
------------
OPEN
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e
added ecosystem file for PM2 4 年前
5def40a3
Add host customization support for the NodeJS version 4 年前
更多推荐
已为社区贡献8条内容
所有评论(0)