oracle11g重建控制文件-关闭状态控制文件丢失

本文档详细介绍了在Oracle11g环境中,控制文件丢失后的恢复过程,包括在开机和关机状态下,有无备份的情况。通过案例展示了如何在nomount状态下重建控制文件,并恢复数据,确保数据库正常启动和数据完整性。
摘要由CSDN通过智能技术生成
实验环境:centos7+11.2.0.4+单实例
这个实验的目的是在没有使用DG、RAC、RMAN的情况下,丢失了控制文件,
总结分为几种情况:
开机状态
     1.noresetlog模式;
     2.resetlog模式
     

关机状态
     有备份:直接还原备份的控制文件
     无备份:1.noresetlog模式;2.resetlog模式

验证结果:
     1.数据库能够正常启动
     2.表中的数据正常

实验前步骤:
1.创建两个表空间:test1
2.在表空间test1中创建表 users并添加数据,设置为只读变空间
3.备份控制文件

创建表空间test1
create tablespace test1
datafile '/u01/app/oracle/oradata/orcl/test1.dbf' 
size 10M
autoextend on
next 5M maxsize 100M;

创建表users1并添加数据
create table users1(id int,name varchar(200)) tablespace test1;
insert into users1(id,name) values(1,'张三');
insert into users1(id,name) values(1,'李四');
insert into users1(id,name) values(1,'王五');
commit;

修改test1表空间为只读表空间
alter tablespace test1 read only;

SQL> create tablespace test2                                         
datafile '/u01/app/oracle/oradata/orcl/test2.dbf'
size 10M
autoextend on
next 5M maxsize 100M;


SQL> create table users2(id int,name varchar(200)) tablespace test2;
insert into users2(id,name) values(1,'张三');
insert into users2(id,name) values(2,'李四');
insert into users2(id,name) values(3,'王五');
commit;

备份控制文件
alter database backup controlfile to '/oracle/backup/control.bkp';

删除所有控制文件

1.noresetlog 方式
启动数据库到nomount状态,这里直接启动会报错的,也只会启动到nomount状态
SQL> startup nomount

执行创建控制文件语句。

CREATE CONTROLFILE REUSE DATABASE orcl 
   LOGFILE
           GROUP 1 '/u01/app/oracle/oradata/orcl/ redo01.log', 
           GROUP 2 '/u01/app/oracle/oradata/orcl /redo02.log', 
           GROUP 3 '/u01/app/oracle/oradata/orcl/redo03.log' 
   NORESETLOGS
   DATAFILE '/u01/app/oracle/oradata/orcl /system01.dbf',
             '/u01/app/oracle/oradata/orcl /sysaux01.dbf',
              '/u01/app/oracle/oradata/orcl /users01.dbf',
              '/u01/app/oracle/oradata/orcl /undotbs01.dbf',
             '/u01/app/oracle/oradata/orcl /test2.dbf'
   MAXLOGFILES 50
   MAXLOGMEMBERS 3
   MAXLOGHISTORY 400
   MAXDATAFILES 200
   MAXINSTANCES 6
   ARCHIVELOG
character set ZHS16GBK;

SQL> recover database
ORA-00283: recovery session canceled due to errors
ORA-00264: no recovery required

SQL> alter system archive log all;

SQL> alter database open;

恢复只读表空间

SQL> alter database rename file 'MISSING00005'
  2  to '/u01/app/oracle/oradata/orcl/test1.dbf';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值