Email: service@parnassusdata.com 7 x 24 online support!
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
原因:该信息报告与其他信息相关的文件名。
操作:参考相关信息获取问题的描述。
问题描述:
=====================
- 再次复制所有数据文件
- 检查读/写权限和复制的数据文件的所有权。
说明:
===========
对于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