zoukankan      html  css  js  c++  java
  • oracle重建控制文件

    根据已有数据库创建新的控制文件
    #数据库必须是mounted或open状态

    sql> alter database backup controlfile to trace;
    

    可以使用以下快捷方式找到对应的trace文件

    sql> alter database backup controlfile to trace;
    sql> oradebug setmypid;
    sql> oradebug tracefile_name;
    

    从trace文件中要找出以下内容,保存到脚本controlfile.sql:

    CREATE CONTROLFILE REUSE DATABASE "DB11" NORESETLOGS  NOARCHIVELOG
        MAXLOGFILES 16
        MAXLOGMEMBERS 3
        MAXDATAFILES 100
        MAXINSTANCES 8
        MAXLOGHISTORY 292
    LOGFILE
      GROUP 1 '/u01/app/oracle/oradata/db11/redo01.log'  SIZE 50M BLOCKSIZE 512,
      GROUP 2 '/u01/app/oracle/oradata/db11/redo02.log'  SIZE 50M BLOCKSIZE 512,
      GROUP 3 '/u01/app/oracle/oradata/db11/redo03.log'  SIZE 50M BLOCKSIZE 512
    -- STANDBY LOGFILE
    DATAFILE
      '/u01/app/oracle/oradata/db11/system01.dbf',
      '/u01/app/oracle/oradata/db11/sysaux01.dbf',
      '/u01/app/oracle/oradata/db11/undotbs01.dbf',
      '/u01/app/oracle/oradata/db11/users01.dbf',
      '/u01/app/oracle/oradata/db11/example01.dbf',
      '/u01/app/oracle/oradata/db11/test01.dbf'
    CHARACTER SET AL32UTF8
    ;
    

    正式创建控制文件

    sql> shutdown immediate
    sql> startup nomount
    sql> @controlfile.sql #创建完成后,数据库会自动到mounted状态
    

    #创建控制文件后,记得添加临时文件

    sql> alter tablespace temp add tempfile '/u01/app/oracle/oradata/db11/temp01.db' reuse;
    

    如果是以resetlogs打开数据库,建议尽快做一个数据库备份。

    如果数据库已经无法mount,比如需要还原数据库时,则需要手工写创建脚本了。
    脚本必须以:
    create controlfile reuse database "dbname" noresetlogs archivelog
    开始。

    其它步骤类似。

  • 相关阅读:
    UVA 10604 Chemical Reaction
    UVA 10635 Prince and Princess
    UVA 607 Scheduling Lectures
    Create Maximo Report
    安裝及配置Maximo Report步驟
    check blocking
    數據據類型縮寫
    .net
    poj3522
    poj1286
  • 原文地址:https://www.cnblogs.com/abclife/p/5770338.html
Copyright © 2011-2022 走看看