备份了control file后启动失败解决

简介:

备份了control file后启动失败解决

1、 在数据库oracle10g中用冷备份备份了数据库中的所有的数据文件、控制文件、重做日志文件。
2、 原来的数据库的数据文件、控制文件、重做日志文件丢失了 ,把冷备份中的数据文件、控制文件、重做日志文件拷贝了 过来。
3、  重新启动数据库,出现以下错误:
SQL> startup
ORACLE instance started.

Total System Global Area  268435456 bytes
Fixed Size                  1218868 bytes
Variable Size              88082124 bytes
Database Buffers          171966464 bytes
Redo Buffers                7168000 bytes
Database mounted.
ORA-01122: database file 1 failed verification check
ORA-01110: data file 6: '/u01/app/oracle/orac/system01.bdf'
ORA-01207: file is more recent than control file - old control file

Oracle的控制文件是随着数据库的打开关闭动态更新的,所以发现目前的 控制文件不是最新的!

主导思想:创建控制文件,然后open数据库。
首先删除old control file,其实也可以不删除,个人习惯,然后重建控制文件。
重建控制文件可以在数据库到mount状态下执行alter database backup controlfile to trace生成sql文件,具体操作很简单,不再描述。

1)  删除控制文件
[oracle@mzl orcl]$ pwd
/u01/app/oracle/oradata/orac
[oracle@mzl orcl]$ rm *.ctl

2)   编写创建控制文件的脚本
[oracle@localhost orcl]$ vi create.sql
内容如下:
[oracle@mzl orcl]$ cat createctl.sql


STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "ORAC" RESETLOGS  ARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 292
LOGFILE
  GROUP 1 (
    '/u01/app/oracle/oradata/orac/redo01.log',
    '/u01/app/oracle/oradata/orac/redo01a.log'
  ) SIZE 50M,
  GROUP 2 (
    '/u01/app/oracle/oradata/orac/redo02.log',
    '/u01/app/oracle/oradata/orac/redo02a.log'
  ) SIZE 50M,
  GROUP 3 (
    '/u01/app/oracle/oradata/orac/redo03.log',
    '/u01/app/oracle/oradata/orac/redo03a.log'
  ) SIZE 50M,
  GROUP 4 (
    '/u01/app/oracle/oradata/orac/redo04.log',
    '/u01/app/oracle/oradata/orac/redo04a.log'
  ) SIZE 20M
-- STANDBY LOGFILE
DATAFILE
  '/home/oracle/backup/system01.dbf',
  '/u01/app/oracle/oradata/orac/undotbs01.dbf',
  '/u01/app/oracle/oradata/orac/sysaux01.dbf',
  '/home/oracle/backup/users01.dbf',
  '/u01/app/oracle/oradata/orac/example01.dbf',
  '/u01/app/oracle/data01.dbf',
  '/home/oracle/backup/index01.dbf',
  '/u01/app/oracle/oradata/qq/qq01.dbf',
  '/u01/app/oracle/oradata/qq/qq02.dbf',
  '/u01/app/oracle/oradata/qq/qq_undo.dbf',
  '/u01/app/oracle/oradata/qq/qq_undo01.dbf',
  '/u01/app/oracle/oradata/qq/qq03.dbf',
  '/u01/app/oracle/oradata/orac/user02.dbf',
  '/u01/app/oracle/oradata/tools01.dbf'
CHARACTER SET WE8ISO8859P1
;

4、创建control file 文件:

12:18:47 SQL> @createctl.sql
Control file created.

12:18:52 SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open


12:19:11 SQL> alter database open resetlogs;

Database altered.
12:20:11 SQL> select * from v$controlfile;

STATUS
-------
NAME
------------------------------------------------------------------------------------------------------------------------
IS_ BLOCK_SIZE FILE_SIZE_BLKS
--- ---------- --------------

/u01/app/oracle/oradata/orac/control01.ctl
NO       16384            450


/u01/app/oracle/oradata/orac/control02.ctl
NO       16384            450


/u01/app/oracle/oradata/orac/control03.ctl
NO       16384            450


12:20:28 SQL> startup force;
ORACLE instance started.

Total System Global Area  167772160 bytes
Fixed Size                  1218316 bytes
Variable Size              83888372 bytes
Database Buffers           79691776 bytes
Redo Buffers                2973696 bytes
Database mounted.
Database opened.










本文转自 客居天涯 51CTO博客,原文链接:http://blog.51cto.com/tiany/377047,如需转载请自行联系原作者
目录
相关文章
|
4月前
|
关系型数据库 数据库
Harbor断电重启postgres报错 could not locate a valid checkpoint record
Harbor断电重启postgres报错 could not locate a valid checkpoint record
206 0
|
11月前
|
存储
rman备份失败:ORA-00245: control file backup failed; target is likely on a local file system
rman备份失败:ORA-00245: control file backup failed; target is likely on a local file system
|
Oracle 关系型数据库 Linux
linux下oracle数据库由于参数文件丢失导致的数据库服务启动失败,报“failure in processing system parameters“错误问题解决
linux下oracle数据库由于参数文件丢失导致的数据库服务启动失败,报“failure in processing system parameters“错误问题解决
469 0
linux下oracle数据库由于参数文件丢失导致的数据库服务启动失败,报“failure in processing system parameters“错误问题解决
|
Oracle 关系型数据库 Linux
Linux下oracle数据库spfile参数配置文件丢失问题解决,“ORA-32001: write to SPFILE requested but no SPFILE is in use“问题处理
Linux下oracle数据库spfile参数配置文件丢失问题解决,“ORA-32001: write to SPFILE requested but no SPFILE is in use“问题处理
617 0
Linux下oracle数据库spfile参数配置文件丢失问题解决,“ORA-32001: write to SPFILE requested but no SPFILE is in use“问题处理