oracle 控制文件大小51m,Oracle重建控制文件

数据库启动报错:

ORA-00227: corrupt block detected in control file: (block 1, # blocks 1)

原因为控制文件损坏,之前清理文件的时候误删了,无奈网上找了个文章硬着头皮上,重建控制文件

1、查询数据库版本

SQL> select * from v$version;

BANNER

--------------------

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

PL/SQL Release 11.2.0.4.0 - Production

CORE 11.2.0.4.0 Production

TNS for Linux: Version 11.2.0.4.0 - Production

NLSRTL Version 11.2.0.4.0 - Production

2、查询控制文件位置

SQL> show parameter control_files

NAME TYPE VALUE

--------------------

control_files string /oradata/posp/control01.ctl, /oracle/app/oracle/fast_recovery_area/posp/control02.ctl

3、删除控制文件

rm /oradata/posp/control01.ctl

rm /oracle/app/oracle/fast_recovery_area/posp/control02.ctl

4、启动

SQL> shutdown abort;

SQL> startup nomount;

5、查询语言

SQL> select userenv('language') from dual;

USERENV('LANGUAGE')

--------------------

AMERICAN_AMERICA.US7ASCII

6、在服务器上查询表空间文件

ls -lh

total 98G

-rw-r----- 1 oracle oinstall 4.1G Feb 29 05:44 nlcmp_data01.dbf

-rw-r----- 1 oracle oinstall 5.1G Feb 29 06:05 posp_data01.dbf

-rw-r----- 1 oracle oinstall 5.1G Feb 29 05:44 posp_data02.dbf

-rw-r----- 1 oracle oinstall 5.1G Feb 29 05:44 posp_data03.dbf

-rw-r----- 1 oracle oinstall 5.1G Feb 29 05:44 posp_data04.dbf

-rw-r----- 1 oracle oinstall 5.1G Feb 29 05:44 posp_data05.dbf

-rw-r----- 1 oracle oinstall 5.1G Feb 29 05:44 posp_data06.dbf

-rw-r----- 1 oracle oinstall 5.1G Feb 29 05:44 posp_data07.dbf

-rw-r----- 1 oracle oinstall 5.1G Feb 29 05:44 posp_data08.dbf

-rw-r----- 1 oracle oinstall 5.1G Feb 29 05:44 posp_data09.dbf

-rw-r----- 1 oracle oinstall 5.1G Feb 29 05:44 posp_data10.dbf

-rw-r----- 1 oracle oinstall 5.1G Feb 29 05:44 posp_data11.dbf

-rw-r----- 1 oracle oinstall 5.1G Feb 29 05:44 posp_data12.dbf

-rw-r----- 1 oracle oinstall 5.1G Feb 29 05:44 posp_data13.dbf

-rw-r----- 1 oracle oinstall 5.1G Feb 29 05:44 posp_data14.dbf

-rw-r----- 1 oracle oinstall 5.1G Feb 29 05:44 posp_data15.dbf

-rw-r----- 1 oracle oinstall 5.1G Feb 29 08:13 posp_data16.dbf

-rw-r----- 1 oracle oinstall 5.1G Feb 29 05:44 posp_idx01.dbf

-rw-r----- 1 oracle oinstall 5.1G Feb 29 05:44 posp_idx02.dbf

-rw-r----- 1 oracle oinstall 51M Feb 29 08:11 redo01.log

-rw-r----- 1 oracle oinstall 51M Feb 29 01:54 redo02.log

-rw-r----- 1 oracle oinstall 51M Feb 29 05:39 redo03.log

-rw-r----- 1 oracle oinstall 981M Feb 29 08:16 sysaux01.dbf

-rw-r----- 1 oracle oinstall 1.7G Feb 29 08:16 system01.dbf

-rw-r----- 1 oracle oinstall 30M Feb 29 06:00 temp01.dbf

-rw-r----- 1 oracle oinstall 211M Feb 29 08:16 undotbs01.dbf

-rw-r----- 1 oracle oinstall 5.1M Feb 29 05:44 users01.dbf

7、生成脚本

vi /tmp/CreateControlFile.sql

STARTUP NOMOUNT

CREATE CONTROLFILE REUSE DATABASE "posp" NORESETLOGS ARCHIVELOG

MAXLOGFILES 5

MAXLOGMEMBERS 3

MAXDATAFILES 100

MAXINSTANCES 1

MAXLOGHISTORY 226

LOGFILE

GROUP 1 '/oradata/posp/redo01.log' SIZE 50M,

GROUP 2 '/oradata/posp/redo02.log' SIZE 50M,

GROUP 3 '/oradata/posp/redo03.log' SIZE 50M

DATAFILE

'/oradata/posp/system01.dbf',

'/oradata/posp/sysaux01.dbf',

'/oradata/posp/undotbs01.dbf',

'/oradata/posp/users01.dbf',

'/oradata/posp/posp_data01.dbf',

'/oradata/posp/posp_data02.dbf',

'/oradata/posp/posp_data03.dbf',

'/oradata/posp/posp_data04.dbf',

'/oradata/posp/posp_data05.dbf',

'/oradata/posp/posp_data06.dbf',

'/oradata/posp/posp_data07.dbf',

'/oradata/posp/posp_data08.dbf',

'/oradata/posp/posp_data09.dbf',

'/oradata/posp/posp_data10.dbf',

'/oradata/posp/posp_data11.dbf',

'/oradata/posp/posp_data12.dbf',

'/oradata/posp/posp_data13.dbf',

'/oradata/posp/posp_data14.dbf',

'/oradata/posp/posp_data15.dbf',

'/oradata/posp/posp_data16.dbf',

'/oradata/posp/posp_idx01.dbf',

'/oradata/posp/posp_idx02.dbf'

CHARACTER SET US7ASCII;

执行脚本

SQL> @/tmp/CreateControlFile.sql

ORACLE instance started.

Total System Global Area 839282688 bytes

Fixed Size 2257880 bytes

Variable Size 545262632 bytes

Database Buffers 285212672 bytes

Redo Buffers 6549504 bytes

Control file created.

8、查询数据库状态

SQL> select status from v$instance;

STATUS

--------------------

MOUNTED

9、打开数据库

SQL> alter database open;

alter database open

*

ERROR at line 1:

ORA-01113: file 1 needs media recovery

ORA-01110: data file 1: '/oradata/posp/system01.dbf'

10、恢复数据库

SQL> recover database;

Media recovery complete.

11、再次打开数据库

SQL> alter database open;

Database altered.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值