【问题标题】:Create Controlfile using SQLPLUS oracle使用 SQLPLUS oracle 创建控制文件
【发布时间】:2018-03-22 12:32:33
【问题描述】:

我需要有关使用 sqlplus 创建控制文件的帮助。我已经使用了后续步骤,我更改了 spfile,关闭数据库,启动 nomount,使用下一个命令创建控制文件但它失败了:

create controlfile
set database orcl
logfile controlnew1   
('\oracle\oradata\orcl\controlnew1.log’,
'\oracle\oradata\orcl\controlnew1.log’)
resetlogs;

我的规范是在 CONTROL01 位置创建 2 个名为 contronew1 和 controlnew2 的新控制文件。 我在 oracle 文档中找到了相关文章,但我不明白。对于解决此问题的任何帮助,我将不胜感激。

【问题讨论】:

    标签: oracle sqlplus oracle12c


    【解决方案1】:

    这可能应该在 DBA 堆栈交换中进行,但我不确定如何实现。

    我建议阅读 Oracle 的 12c 文档Creating Control Files

    如果您正在创建控制文件,我认为这意味着您没有要复制的现有控制文件。复制一个控制文件比创建一个新的控制文件简单得多,而且是首选。如果控制文件的所有现有副本都消失了,或者您正在修改控制文件配置或数据库名称,您应该只创建一个新的控制文件。

    如果您确实有现有的控制文件可以复制它:

    • 关闭数据库。
    • 使用操作系统命令将现有控制文件复制到新位置。
    • 编辑数据库初始化参数文件中的 CONTROL_FILES 参数以添加新的控制文件名,或更改现有的控制文件名。
    • 重启数据库。

    如果您有一个现有的控制文件,您可以将其写入 sqlplus 的跟踪文件(应该转到 diagnostic_dest)。这对于创建或复制控制文件不是必需的,但会很有帮助。

    ALTER DATABASE BACKUP CONTROLFILE TO TRACE;
    

    如果您无法复制现有的控制文件并需要创建一个新的控制文件,这里有一些关于您的 CREATE CONTROLFILE 命令的注意事项

    • logfile 子句用于指定重做日志,而不是新的控制文件。
    • 您在日志文件 controlnew1 中具有相同的文件名
    • 您没有任何数据文件

    以下是 oracle 的 CREATE CONTROLFILE 示例。创建新控制文件的第一步是列出数据库的所有数据文件和重做日志文件。重做日志文件将放在 LOGFILE 部分,数据文件将放在 DATAFILE 部分。

    CREATE CONTROLFILE
    SET DATABASE orcl
    LOGFILE GROUP 1 ('/u01/oracle/prod/redo01_01.log', 
                    '/u01/oracle/prod/redo01_02.log'),
           GROUP 2 ('/u01/oracle/prod/redo02_01.log', 
                    '/u01/oracle/prod/redo02_02.log')
    RESETLOGS
    DATAFILE '/u01/oracle/prod/system01.dbf' SIZE 3M,
            '/u01/oracle/prod/rbs01.dbs' SIZE 5M,
            '/u01/oracle/prod/users01.dbs' SIZE 5M,
            '/u01/oracle/prod/temp01.dbs' SIZE 5M
    MAXLOGFILES 50
    MAXLOGMEMBERS 3
    MAXLOGHISTORY 400
    MAXDATAFILES 200
    MAXINSTANCES 6
    ARCHIVELOG;
    

    创建文件后,您需要编辑 CONTROL_FILES 初始化参数并打开数据库。根据您的数据库的状态,您可能需要在打开它之前进行额外的恢复,并且可能需要使用

    ALTER DATABASE OPEN RESETLOGS;
    

    如果您的控制文件使用了 RESETLOGS。

    【讨论】:

    • 嗨,我收到了错误 ORA-01565: error in identifying file '/u01/oracle/prod/system01.dbf',有什么建议吗?
    猜你喜欢
    • 1970-01-01
    • 2014-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多