咨询微信: dbservice1234 7 x 24 在线支持!

    你在这里

    • You are here:
    • 首页 > 博客 > PDSERVICE的博客 > Oracle 在创建控制文件ORA-01503, ORA-01161 ORA-01503: CREATE CONTROLFILE 失败 ORA-01161: 文件标头中的数据库名 与给定的名称 不匹配

Oracle 在创建控制文件ORA-01503, ORA-01161 ORA-01503: CREATE CONTROLFILE 失败 ORA-01161: 文件标头中的数据库名 与给定的名称 不匹配

Oracle 在创建控制文件ORA-01503, ORA-01161 ORA-01503: CREATE CONTROLFILE 失败 ORA-01161: 文件标头中的数据库名 与给定的名称 不匹配

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638 QQ号:47079569 邮箱:service@parnassusdata.com

 

ORA-01503: CREATE CONTROLFILE 失败

ORA-01161: 文件标头中的数据库名  与给定的名称  不匹配

 

ORA-01503 oerr ora 1503
01503, 00000, "CREATE CONTROLFILE failed"
// *Cause:  An error occurred during CREATE CONTROLFILE
// *Action: See accompanying errors.


ORA-01161 oerr ora 1161
01161, 00000, "database name %s in file header does not match given name of %s"
// *Cause: The database name given at the command line does not match the
//        database name found in the file header.
// *Action: Chance are good that the database name specified at the command
//        line is incorrect.  Resolve the descepency, and resubmit the command.
//        If you are attempting to change the database name, be sure to 
//        use the SET DATABASE option.


 

问题描述:

====================

 

你在尝试将一个数据库(克隆)复制到另一个且之前曾这样操作时没有问题。

 

现在在创建控制文件语法本身时收到以下错误。

 

ORA-01503: create controlfile failed

原因: 在创建控制文件时发生一个错误。

操作:查看相应信息。

 

ORA-01161: database name <name> in file header does not match given name of <name>

原因:在命令行给出的数据库名与在文件头中找到的数据库名不匹配。

在命令行指定的数据库名是错误的。

操作:使用数据库的正确名称再次输入命令。

 

ORA-01110: rbs01

原因:该信息报告与其他信息相关的文件名。

操作:参考相关信息获取问题的描述。

 

问题描述:

=====================

  1. 再次复制所有数据文件
  2. 检查读/写权限和复制的数据文件的所有权。

 

说明:

===========

对于CREATE CONTROLFILE命令,我们必须确保所有数据文件都来自同一数据库。要检验这一点,我们记下CREATE CONTROLFILEs数据文件子句中第一个文件的文件头中的DB_NAME。然后,我们确认所有后续文件在它们的头中有相同DB名称,如果没有,Oracle会发出这个错误。

 

所以在这种情况下,错误信息中的’given name’ 是第一个文件头的DB NAME 。

 

验证所有dbf文件被复制到正确目录。同时再次确认所有文件都来自同一数据库。一切都没问题但你仍收到ora-1161。你可能在复制所有文件之前尝试创建了控制文件,且alter added that file.

 

当你尝试这么做时,它分配一个db_id且之后我们添加任何新的文件会被认为来自不同数据库,并给出错误。

 

所以要在创建控制文件之前复制所有的文件。在这个情况下,你需要再次复制一遍所有数据文件,然后创建控制文件。

 

如果你作为Unix用户而非Oracle时复制数据文件也会出现该错误。如果新所有者读/写权限与Oracle不同,则当执行create controlfile命令时,数据文件头无法被更新且出现错误。

 

参考:

===========

Note:18735.1

Bug:977750

 

Search Words:

=============

ora-1161, create controlfile

参考
NOTE:18735.1 – OERR: ORA-1161 “Database name %s in the file header does not match %s in the DATABASE clause.” (varies by version) Reference Note