【oracle】重建控制文件

Posted on 2012-05-11 12:19  雅飞士  阅读(292)  评论(0编辑  收藏  举报

由于修改了实例名,导致startup的时候提示现在的名字和控制文件中存放的名字不一致,所以就需要重建控制文件。

现在的库起不来,连nomount状态也起不来,就到另一库上去得到创建控制文件的语句。

SQL> alter database backup controlfile  to trace as '/oraclelog/lcfa/udump/crl.txt';
Database altered.


打开 crl.txt,其中可以看到如下的重建控制文件的语句:

CREATE CONTROLFILE REUSE DATABASE "LCFA" RESETLOGS  NOARCHIVELOG
    MAXLOGFILES 64
    MAXLOGMEMBERS 3
    MAXDATAFILES 8192
    MAXINSTANCES 8
    MAXLOGHISTORY 1168
LOGFILE
  GROUP 1 (
    '/dev/rrjttvg1_1_rd11',
    '/dev/rrjttvg2_1_rd12'
  ) SIZE 1022M BLOCKSIZE 512,
  GROUP 2 (
    '/dev/rrjttvg1_1_rd21',
    '/dev/rrjttvg2_1_rd22'
  ) SIZE 1022M BLOCKSIZE 512,
  GROUP 3 (
    '/dev/rrjttvg1_1_rd31',
    '/dev/rrjttvg2_1_rd32'
  ) SIZE 1022M BLOCKSIZE 512
DATAFILE
  '/dev/rrjttvg1_8_sys',
  '/dev/rrjttvg2_8_aux',
  '/dev/rrjttvg1_8_udo1',
  '/dev/rrjttvg1_4_001',
  '/dev/rrjttvg2_4_001',
  '/dev/rrjttvg1_4_002',
  '/dev/rrjttvg2_4_002',
  '/dev/rrjttvg1_4_003',
  '/dev/rrjttvg2_4_003',
  '/dev/rrjttvg1_4_004',
  '/dev/rrjttvg2_4_004'
CHARACTER SET ZHS16GBK
;


CREATE CONTROLFILE REUSE DATABASE "LCFA" RESETLOGS  NOARCHIVELOG

这句中的, reuse  可以根据实际情况用set 替换。

比如我这次就是要修改实例名,所以重建控制文件的时候,就需要使用 set 。


datafile 中一定要把现在使用的数据文件都加上。

替换完成后,在需要重建的库上执行语句,执行成功后,startup就可以正常执行了。

Copyright © 2024 雅飞士
Powered by .NET 8.0 on Kubernetes