4

我已将名为 DB 的数据库还原到另一个名为 DB01 的数据库

它处于 STARTED 状态(未安装),如果未安装,我似乎无法更改名称,并且由于名称我无法安装它,如果可能的话如何解决这个问题?

我在托管数据库 DB01 的当前服务器上从 DB 进行了 RMAN 完整备份,initdb01.ora 已准备好并配置了 DB01

接下来我能做什么

nid没有帮助!它要求安装数据库!我无法安装它

ORA-01103: 控制文件中的数据库名称 'DB' 不是 'DB01'

4

4 回答 4

3

所以这里将 db_name 设置为 DB,一旦数据库打开就开始恢复,您可以使用 nid 实用程序更改数据库名称。

SQL > ALTER SYSTEM SET DB_NAME=DB SCOPE=spfile;

请参考链接: Changing oracle db name in 10G

于 2012-07-27T05:37:49.840 回答
3

您需要重新创建控制文件。最好的办法是先在原databasr中执行以下命令:

alter database backup controlfile to trace;

这将在跟踪目录中创建一个文本文件。您需要更改文件路径以匹配新的数据库文件位置,并更改 db_name 参数。

完成上一步后,在 nomount 中启动新数据库并执行上述文件(确保您已连接到新数据库并且所有文件路径都指向新数据库)。这将创建一个新的控制文件。

于 2012-07-19T07:21:50.690 回答
0

如果您要恢复到不同的盒子,那么您可以暂时使用原始数据库的名称来挂载恢复的数据库。然后,您可以挂载恢复的数据库并使用已挂载的数据库可用的工具。

  • 更改ORACLE_SID为原始数据库名称

  • 重命名 spfile 以包含原始数据库名称

  • 使用它来更改 spfile 中的名称。

    ALTER SYSTEM SET DB_NAME=ORIGINAL_DBNAME SCOPE=spfile;

这不适用于运行原始数据库的机器,因为您不能在同一个机器上运行两个具有相同名称的数据库。

于 2014-09-08T14:22:55.840 回答
0

请参阅 Oracle 支持文档 ID 1906009.1。

您需要从备份中重新创建控制文件,然后修改它以使用带有 SET DATABASE 选项和 RESETLOGS 的 REUSE。利用

alter database backup controlfile to trace;

然后使用 create controlfile 命令找到相关的跟踪文件。修改 SQL 以包含推荐的选项。我只是这样做了,这是我的例子:

CREATE CONTROLFILE REUSE set DATABASE "ANDYSTBY" RESETLOGS  ARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 292
LOGFILE
  GROUP 1 (
    '+LOGS/ANDYSTBY/ONLINELOG/group_1.258.917112951',
    '+LOGS/ANDYSTBY/ONLINELOG/group_1.259.917113325'
  ) SIZE 50M BLOCKSIZE 512,
  GROUP 2 (
    '+LOGS/ANDYSTBY/ONLINELOG/group_2.257.917112935',
    '+LOGS/ANDYSTBY/ONLINELOG/group_2.260.917113339'
  ) SIZE 50M BLOCKSIZE 512,
  GROUP 3 (
    '+LOGS/ANDYSTBY/ONLINELOG/group_3.256.917112925',
    '+LOGS/ANDYSTBY/ONLINELOG/group_3.261.917113345'
  ) SIZE 50M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
  '+DATA/ANDYSTBY/DATAFILE/system.257.917108631',
  '+DATA/ANDYSTBY/DATAFILE/sysaux.256.917108485',
  '+DATA/ANDYSTBY/DATAFILE/undotbs1.259.917108757',
  '+DATA/ANDYSTBY/DATAFILE/users.258.917108757'
CHARACTER SET AL32UTF8;

恢复数据库后,您需要使用“使用备份控制文件”选项进行恢复。

使用备份控制文件恢复数据库直到取消;

于 2016-09-14T13:46:47.393 回答