在 Oracle 11g Express 中恢复备用数据库失败
Restore Standby database failed in Oracle 11g express
我有两台机器 A 和 B 并且我想在机器 B 中设置两个备用数据库,所以我按照以下步骤操作。 .
- 在机器A中安装oracle 11g express并在另一台机器中安装相同的
备用机器B.
- 在机器 A 和 B 中启用存档模式。
- 在两台机器上创建名为 tbs_test 的表空间。
- 在两台机器上创建用户 testuser 并授予 dba 权限。
- 在机器 A 中,我创建了一个 table Tb_Employee 并插入数据
进入 table Tb_Employee 在 table space tbs_test.
- 现在从机器 A 上的一些脚本备份并尝试
在机器 B 上还原,但由于以下语句中提到的某些错误而未成功。
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE;
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE
*
ERROR at line 1:
ORA-00283: recovery session canceled due to errors
ORA-19909: datafile 1 belongs to an orphan incarnation
ORA-01110: data file 1: 'C:\ORACLEXE\APP\ORACLE\ORADATA\XE\SYSTEM.DBF'
我已经使用下面的脚本进行备份(完整备份+存档)
步骤 1 执行开始备份脚本
conn / as sysdba;
alter system checkpoint;
alter tablespace SYSAUX begin backup;
alter tablespace SYSTEM begin backup;
alter tablespace TBS_Test begin backup;
exit;
步骤 2 将 SYSAUX.DBF、SYSTEM.DBF 和 TBS_Test.DBF 文件复制到备份目录
Step 3 通过执行以下脚本创建备用控制文件
conn / as sysdba;
alter database backup controlfile to trace as 'C:\Backup\controlfile.txt' reuse;
alter database backup controlfile to 'C:\Backup\controlfile.ctl' reuse;
alter database create standby controlfile as 'C:\Backup\controlfile_standby.ctl';
exit
Step 4 复制备用控制文件Control.DBF到备份目录
步骤 5 复制文件后执行结束备份脚本
conn / as sysdba;
alter tablespace SYSAUX end backup;
alter tablespace SYSTEM end backup;
alter tablespace UNDOTBS1 end backup;
alter tablespace TBS_Test end backup;
exit;
步骤 6 执行归档日志脚本
conn / as sysdba;
alter system checkpoint;
alter system archive log current;
disconnect;
exit;
步骤 7 执行脚本后将所有存档文件复制到备份目录("C:/Backup")
刚刚将文件恢复到机器 B 后。
- 不确定 Oracle Express 是否支持备用(请咨询
文档——我记得 Data Guard 是在
企业版)
- 配置备机只备一台是不够的
实例并恢复到另一个 - 为此你必须做
一些更多的配置(例如 - 根据命名实例,
FORCE LOGGING,备用控制文件,设置LOG_ARCHIVE_DEST
参数和许多其他参数,请参阅文档)
你的问题太过"wide"我们不知道它是做什么的,是如何完成的(把脚本放在这里),以及顺序。
我有两台机器 A 和 B 并且我想在机器 B 中设置两个备用数据库,所以我按照以下步骤操作。 .
- 在机器A中安装oracle 11g express并在另一台机器中安装相同的 备用机器B.
- 在机器 A 和 B 中启用存档模式。
- 在两台机器上创建名为 tbs_test 的表空间。
- 在两台机器上创建用户 testuser 并授予 dba 权限。
- 在机器 A 中,我创建了一个 table Tb_Employee 并插入数据 进入 table Tb_Employee 在 table space tbs_test.
- 现在从机器 A 上的一些脚本备份并尝试 在机器 B 上还原,但由于以下语句中提到的某些错误而未成功。
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE;
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE
* ERROR at line 1:
ORA-00283: recovery session canceled due to errors
ORA-19909: datafile 1 belongs to an orphan incarnation
ORA-01110: data file 1: 'C:\ORACLEXE\APP\ORACLE\ORADATA\XE\SYSTEM.DBF'
我已经使用下面的脚本进行备份(完整备份+存档)
步骤 1 执行开始备份脚本
conn / as sysdba; alter system checkpoint;
alter tablespace SYSAUX begin backup;
alter tablespace SYSTEM begin backup;
alter tablespace TBS_Test begin backup;
exit;
步骤 2 将 SYSAUX.DBF、SYSTEM.DBF 和 TBS_Test.DBF 文件复制到备份目录
Step 3 通过执行以下脚本创建备用控制文件
conn / as sysdba;
alter database backup controlfile to trace as 'C:\Backup\controlfile.txt' reuse;
alter database backup controlfile to 'C:\Backup\controlfile.ctl' reuse;
alter database create standby controlfile as 'C:\Backup\controlfile_standby.ctl';
exit
Step 4 复制备用控制文件Control.DBF到备份目录
步骤 5 复制文件后执行结束备份脚本
conn / as sysdba;
alter tablespace SYSAUX end backup;
alter tablespace SYSTEM end backup;
alter tablespace UNDOTBS1 end backup;
alter tablespace TBS_Test end backup;
exit;
步骤 6 执行归档日志脚本
conn / as sysdba;
alter system checkpoint;
alter system archive log current;
disconnect;
exit;
步骤 7 执行脚本后将所有存档文件复制到备份目录("C:/Backup")
刚刚将文件恢复到机器 B 后。
- 不确定 Oracle Express 是否支持备用(请咨询 文档——我记得 Data Guard 是在 企业版)
- 配置备机只备一台是不够的 实例并恢复到另一个 - 为此你必须做 一些更多的配置(例如 - 根据命名实例, FORCE LOGGING,备用控制文件,设置LOG_ARCHIVE_DEST 参数和许多其他参数,请参阅文档)
你的问题太过"wide"我们不知道它是做什么的,是如何完成的(把脚本放在这里),以及顺序。