数据库:oracle 19.3
系统:windows 11
实验目标:模拟数据库控制文件丢失后的恢复
SQL> show parameter control
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
control_file_record_keep_time integer 7
control_files string F:\APP\ADMINISTRATOR\ORADATA\O
RCL\CONTROL01.CTL, F:\APP\ADMI
NISTRATOR\ORADATA\ORCL\CONTROL
02.CTL, F:\ORACLE19C\DB_RECOVE
RY_FILE\ORCL\AUTOBACKUP\CONTRO
L03.CTL
control_management_pack_access string DIAGNOSTIC+TUNING
现将F:\ORACLE19C\DB_RECOVERY_FILE\ORCL\AUTOBACKUP\CONTROL03.CTL更改为CONTROL03bak.CTL,重启数据库.
SQL> shutdown immediate
ORA-00210: 无法打开指定的控制文件
ORA-00202: 控制文件:
''F:\ORACLE19C\DB_RECOVERY_FILE\ORCL\AUTOBACKUP\CONTROL03.CTL''
ORA-27041: 无法打开文件
OSD-04002: ???????
O/S-Error: (OS 2) ????????????????
SQL> startup
ORA-01081: 无法启动已在运行的 ORACLE -
请先将其关闭
SQL> shutdown abort
ORACLE 例程已经关闭。
此时将F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL02.CTL复制到F:\ORACLE19C\DB_RECOVERY_FILE\ORCL\AUTOBACKUP\目录,并改名为CONTROL03.CTL
此后正常启动数据库
SQL> startup mount
ORACLE 例程已经启动。
Total System Global Area 1.2583E+10 bytes
Fixed Size 12581272 bytes
Variable Size 4194304000 bytes
Database Buffers 8355053568 bytes
Redo Buffers 20971520 bytes
数据库装载完毕。
SQL> alter database open;
数据库已更改。