我正在尝试根据备份复制一个 Oracle 数据库,以测试它们是否可以在系统完全故障的情况下使用。因此,我想在不连接到源数据库的情况下执行此操作。我没有使用恢复目录。
我已经通读了所有手册,但在第四点上停留在“准备复制数据库”的第 7 步:
- 启动 SQL*Plus 并以具有 SYSDBA 或 SYSBACKUP 权限的用户身份连接到辅助实例。
我要复制到的辅助服务器是一个干净的空安装,还没有设置数据库,正如手册在步骤 3中提到的那样:
安装与源数据库版本相同的 Oracle 数据库。不要创建数据库;只安装软件。
现在,跑步时
sqlplus "/ as sysdba"
我得到
ORA-12560: TNS:protocol adapter error
并非完全出乎意料,因为我从来没有设置过侦听器或 Oracle 服务。那么...我错过了什么?我是否误解了关于不创建数据库的部分?“数据库”与“实例”不同吗?我是否忽略了手册的一部分?而且,我还应该安装/创建什么才能拥有一个我可以从 nomount 开始的“辅助实例”?
编辑:这是在 Windows 服务器环境中
这是您在未正确设置环境的情况下在 Windows 上收到的典型错误消息。
虽然手册中的步骤在 Linux/UNIX 上可能完美运行,但在 Windows 上您需要额外的步骤。在 Windows 上,您需要使用 创建一个服务
oradim
,启动它(如果它没有启动),然后您可以使用sqlplus / as sysdba
.最低限度是:
这应该会自动启动服务,但如果没有:
在上面之后,你可以登录到空闲实例:
为了进行克隆,您需要连接到目标数据库,该数据库是您从中克隆的数据库。在这种情况下,您正在进行恢复。所以没有辅助数据库。只需执行启动 nomount,前提是您有一个具有正确设置的 pfile。然后恢复特定的控制文件,如“从'/path/to/rman/backup/****.ctl';恢复控制文件”。如果您的控制文件标记为与备份相同,您可以尝试“CATALOG START WITH '/disk2/archlog' NOPROMPT;路径指向您最近的备份。如果还原路径不同,请确保您的 pfile有以下内容:
您还应该将 db_create_file_dest 指向用于创建数据文件的默认目录。只要您恢复了控制文件,就可以执行以下操作:
现在您有了数据库的工作副本。您要确保不使用可用的最新控制文件。您要确保控制文件早于可用的最新归档日志。