恢复控制文件故障详细步骤

如果控制文件丢失或损坏,则实例通常会中止。然后,您必须执行以下步骤:

1.关闭实例(如果它仍处于打开状态)。

2.通过复制现有控制文件还原缺失的控制文件。 3.启动实例。

实验:

1.查看当前控制文件情况

show parameter control_files

2.模拟控制文件丢失故障

!rm /home/oracle/control_bak/control03.ctl

show parameter control_files  --被删除的控制文件仍然存在

3.触发检查点操作

alter system checkpoint;

4.检查alert log的输出结果

select * from v$diag_info;

在alert中查看

/u01/app/oracle/diag/rdbms/orcl/ORCL/trace

adrci --在Oracle用户下

adrci> show homepath

ADR Homes:

diag/rdbms/orcl/ORCL

adrci> set homepath diag/rdbms/orcl/ORCL

adrci> show homepath

ADR Homes:

diag/rdbms/orcl/ORCL

adrci>

adrci> help show alert

adrci> show alert -tail 20

--报错

Errors in file /u01/app/oracle/diag/rdbms/orcl/ORCL/trace/ORCL_m000_22432.trc:

ORA-00210: cannot open the specified control file

……

Linux-x86_64 Error: 2: No such file or directory

--相关报错日志

5.强制关闭数据库

[email protected]>shutdown immediate  --关闭数据库报错

ORA-00210: cannot open the specified control file

ORA-00202: control file: ‘/home/oracle/control_bak/control03.ctl‘

ORA-27041: unable to open file

Linux-x86_64 Error: 2: No such file or directory

Additional information: 3

[email protected]>shutdown abort

ORACLE instance shut down.

[email protected]>startup  --启动数据库时仍然报错

ORACLE instance started.

Total System Global Area  839282688 bytes

Fixed Size                  2257880 bytes

Variable Size             507513896 bytes

Database Buffers          327155712 bytes

Redo Buffers                2355200 bytes

ORA-00205: error in identifying control file, check alert log for more info

--无法开启数据库

6.将另外的控制文件替代此控制文件

[[email protected] control_bak]$ cp    /u01/app/oracle/oradata/ORCL/controlfile/o1_mf_b0fh9927_.ctl

control03.ctl

[[email protected] control_bak]$ ls

control03.ctl

7.启动数据库

[email protected]>startup

--成功启库

时间: 2024-10-13 23:21:48

恢复控制文件故障详细步骤的相关文章

数据库备份恢复--恢复控制文件

现象: 1.数据库无法mount [email protected]> alter database mount; alter database mount*ERROR at line 1:ORA-00205: error in identifying control file, check alert log for more info 前提: 1.控制文件自动备份 2.使用FRA 恢复步骤 1.启动数据库到nomount [email protected]> startup nomount

Oracle RMAN 备份控制文件/恢复控制文件

--备份控制文件 rman target / RMAN> startup RMAN> configure controlfile autobackup on; --启动自动备份 RMAN> show CONTROLFILE AUTOBACKUP;  --显示是否自动备份控制文件 RMAN> configure controlfile autobackup format for device type disk to '/backup/%F'; --设置控制文件备份路径 RMAN&g

故障的具体步骤恢复控制文件

假定控制文件丢失或损坏,实例通常会中止. 然后,,您必须执行下列步骤: 1.关闭实例(假设它仍然是开放的). 2.通过复制现有控制文件来恢复丢失的控制文件. 3.启动实例. 实验: 1.查看当前控制文件的情况下 show parameter control_files 2.模拟控制文件丢失故障 !rm /home/oracle/control_bak/control03.ctl show parameter control_files  --被删除的控制文件仍然存在 3.触发检查点操作 alte

RMAN备份恢复 控制文件和归档日志丢失情况

RMAN> backup current controlfile tag='bak_ctlfile' format='/home/oracle/backup/bak_ctl_%U_%T'; alter system switch logfile; alter system switch logfile; alter system switch logfile; 多切换几次,切出几个archivelog文件,删除其中的一个 rm o1_mf_1_3_cpk5wloy_.arc 然后删除控制文件 r

RMAN恢复控制文件

查看目前的控制文件位置 SQL> select name from v$controlfile; NAME--------------------------------------------------------------------------------/u01/app/oracle/oradata/orcl/control01.ctl/u01/app/oracle/flash_recovery_area/orcl/control02.ctl 先备份一个控制文件 RMAN> bac

nodejs教程 安装express及配置app.js文件的详细步骤

来自:http://www.jb51.net/article/36710.htm express.js是nodejs的一个MVC开发框架,并且支持jade等多种模板.下面简单来说说express的安装和app.js文件的配置,然后在今后的教程中一步一步使用express.js搭建个聊天室 安装express.js 如果你安装了npm,安装变得很简单,只需要在终端中运行下面的代码即可: 复制代码 代码如下: npm install express -gd -g代表安装到NODE_PATH的lib里

oracle 11G R2控制文件的管理

控制文件 每一个数据库都有一个控制文件,它是一个二进制数据文件,它记录了数据库的物理结构.控制文件数据库一个重要参数文件,在写数据时,控制文件必须是可用的状态.控制文件包括如下信息: 1. 记录数据库名称 2. 数据文件与重做日志文件的名称与存储位置 3. 数据库创建时间 4. 当前log的SN 5. 检查点信息 控制文件管理 如下信息介绍控制文件,了解控制文件. 控制文件名称 你使用初始化参数文件中的参数control_files命名控制文件名称.可以使用show parameter cont

ORACLE11g 没有控制文件如何通过rman备份恢复数据的详细实战过程

1.副总裁需要裸恢复的严峻现实 集团总部的信息部负责人给我打电话说为了找一年前的记录,所以需要对一年前2015年5月1日的数据进行恢复.而2016年初因为进行迁移,所以有些文件可能丢失,手上只有rman全备文件,希望在一天之内找回,集团一个副总裁在等着这个数据有急用. 我在电话里面说马上去做,接完电话,想到只有rman备份文件,而且是备份的数据文件,没有控制文件没有参数文件的备份,所以普通的 (1)      先恢复控制文件restore controlfile from '-bak'; (2)

2 控制文件没有备份全部丢失的恢复

2 Control file丢失的恢复 控制文件没有备份全部丢失 SQL> select open_mode from v$database; OPEN_MODE -------------------- READ WRITE SQL> set linesize 1000 SQL> col name for a50 SQL> select * from v$controlfile; STATUS NAME IS_ BLOCK_SIZE FILE_SIZE_BLKS -------