归档模式下控制文件全部丢失的处理

实验:
SQL> alter database backup controlfile to 'd:/ctl.bak';--提前对控制文件做备份
数据库已更改。


SQL> archive log list; --查看归档的状态
数据库日志模式            存档模式
自动存档             启用
存档终点            USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列     12
下一个存档日志序列   14
当前日志序列           14


SQL> create table tb_temp(id int,col1 varchar2(20));
表已创建。
SQL>
SQL> insert into tb_temp select 1,'Robinson' from dual;
已创建 1 行。
SQL>
SQL> select * from tb_temp;

        ID COL1
---------- --------------------
         1 Robinson

SQL> commit;
提交完成。


alter system switch logfile;--切换日志
SQL> archive log list;
数据库日志模式            存档模式
自动存档             启用
存档终点            USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列     13
下一个存档日志序列   15
当前日志序列           15


--模拟控制文件全部丢失,把控制文件全部删了
shutdown immediate
我手动去给控制文件全部删了
然后启动报错
SQL> startup
ORACLE 例程已经启动。
Total System Global Area  612368384 bytes
Fixed Size                  1292036 bytes
Variable Size             482347260 bytes
Database Buffers          121634816 bytes
Redo Buffers                7094272 bytes
ORA-00205: ?????????, ??????, ???????

 

SQL>  show parameter control
NAME                                 TYPE                   VALUE
------------------------------------ ---------------------- ------------------------------
control_file_record_keep_time        integer                7
control_files                        string                 D:\ORACLE\PRODUCT\10.2.0\ORADA
                                                            TA\TEST\CONTROL01.CTL, D:\ORAC
                                                            LE\PRODUCT\10.2.0\ORADATA\TEST
                                                            \CONTROL02.CTL, D:\ORACLE\PROD
                                                            UCT\10.2.0\ORADATA\TEST\CONTRO
                                                            L03.CTL

然后把备份的控制文件BAK,复制在相应的目录中来
SQL> hoST COPY  D:\ctl\ctl.bak  D:\oracle\product\10.2.0\oradata\TEST\CONTROL01.CTL
已复制         1 个文件。

SQL> hoST COPY  D:\ctl\ctl.bak  D:\oracle\product\10.2.0\oradata\TEST\CONTROL02.CTL
已复制         1 个文件。

SQL> hoST COPY  D:\ctl\ctl.bak  D:\oracle\product\10.2.0\oradata\TEST\CONTROL03.CTL
已复制         1 个文件。


SQL> alter database open;
第 1 行出现错误:
ORA-01589: ??????????? RESETLOGS ? NORESETLOGS ??

shutdown immediate;
startup mount;
alter database open resetlogs;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值