Rebuild the controlfile

ORACLE_FileManage_Rebuild the controlfile

1.  Backup the controlfile in the MOUNT or OPEN:

#dd if=/dev/vx/dsk/dgtest/rlv_controlfile of=/dev/vx/dsk/dgtest/rlv_bakcontrolfile

#su - oracle

$sqlplus ‘/ as sysdba’

SQL> alter session settracefile_identifier='trace_controlfile';

SQL>alter database backup controlfile to trace;

2.  Find out the recent trace file:

$ORACLE_BASE/diag/rdbms/db_name/instance_name/trace

#  ls -lt|grep trace_controlfile

3.  Create the script that rebuild thecontrolfile, named New_create_controlfile.sh:

Find out the statement like this from the recenttrace file:

CREATE CONTROLFILE REUSEDATABASE "INOMC" NORESETLOGS NOARCHIVELOG

   MAXLOGFILES 16

   MAXLOGMEMBERS 3

   MAXDATAFILES 200

   MAXINSTANCES 8

   MAXLOGHISTORY 292

LOGFILE

  GROUP 1 '/dev/vx/dsk/dgtest/redo1_1'  SIZE 50M,

 GROUP 2 '/dev/vx/dsk/dgtest/redo2_1' SIZE 50M,

 GROUP 3 '/dev/vx/dsk/dgtest/redo3_1' SIZE 50M,

 GROUP 4 '/dev/vx/dsk/dgtest/redo4_1' SIZE 50M

-- STANDBY LOGFILE

DATAFILE

  '/dev/vx/dsk/dgtest/system',

 '/dev/vx/dsk/dgtest/sysaux',

 '/dev/vx/dsk/dgtest/undotbs1',

  '/dev/vx/dsk/dgtest/users'                         

CHARACTER SET ZHS16GBK

;

Attention: If the controlfile still exists, so,need to use “reuse”, otherwise, use “set”.

And then:

# chown oracle:oinstall New_create_controlfile.sh

# chmod 755 New_create_controlfile.sh

4.  Rebuild the controlfile:

$sqlplus ‘/ as sysdba’

SQL>shutdown immediate;

SQL> startup nomount;

SQL>@New_create_controlfile.sh

5.  Try to open database:

SQL>recover database;

SQL>alter database open;

6.  Add the temporary tempfile according to thebackup controlfile trace file:

SQL>alter tablespace temp add tempfile '/dev/vx/dsk/dgtest/tempfile01' size 2000M;

--- Please add a temfile one time, otherwise, willshow error, is related with a ORACLE bug.

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值