暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 不带数据保护的主/备用数据库交换机

ASKTOM 2020-08-07
386

问题描述

嗨,汤姆,

我已经在没有数据保护的情况下手动设置了主/备用。这2个实例在不同的Linux服务器上运行-相同的文件系统配置。

脚本会定期复制归档日志并将其从主日志应用到备用日志。

手动切换角色的正确过程是什么?

这是我所做的
1/从primary进行日志切换,关闭primary

2/将所有未完成的存档日志应用到待机状态

3/将待机状态提升为主要状态,如下所示-工作正常
alter database激活备用数据库;
alter数据库打开;

4/从新的主创建备用控制文件:
alter database创建备用控制文件为 '/tmp/test.Ctl';

5/在旧的主服务器上
用新创建的test.ctl覆盖3个控制文件,并在下面运行,没有问题:
启动nomount;
alter database挂载备用数据库;

6/当我开始在新的备用数据库上从新的主数据库应用新的存档日志时,出现以下错误:
SYS @ test> 恢复备用数据库;
ORA-00283: 恢复会话因错误而取消
ORA-19909: 数据文件1属于孤儿化身
ORA-01110: 数据文件1: '/database/oradata/test/system01.dbf'

我在这里做错了什么?



专家解答

不久前 (即,我不记得确切的时间 :-)),我们引入了化身的概念,以便您可以 * 通过 * resetlogs命令恢复。这样,当我们从数据库中看到archivelog (例如) 1000时,我们会知道它是2周前的archivelog #1000,还是几天前在resetlogs命令后创建的 “新” archivelog #1000。

可能发生的事情是,您的待机状态和主要状态现在是不同的化身。

在每个数据库上,在RMAN中运行

列表化身;

您可以将两者进行比较,然后重置化身以使它们恢复同步

将数据库重置为化身nnn;

(如果可能的话,让DataGuard照顾所有这些的另一个原因)
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论