重庆思庄oracle技术分享-数据库控制文件全部丢失处理方法

一、测试环境
数据库版本:11.2.0.4
操作系统版本:CentOS Linuxrelease 7.9.2009 (Core)
数据库归档:未开启
备份情况:无任何备份
二、模拟控制文件丢失

  1.  查看数据库控制文件路径
    

SQL>show parameter control
NAME TYPE VALUE


control_file_record_keep_time integer 7
control_files string /u01/app/oracle/oradata/orcl/c
ontrol01.ctl, /u01/app/oracle/
fast_recovery_area/orcl/contro
l02.ctl
control_management_pack_access string DIAGNOSTIC+TUNING
2. 关闭数据库
SQL>shutdown immediate
Databaseclosed.
Databasedismounted.
ORACLEinstance shut down.
3. 删除所有控制文件
4. 启动数据库报错
SQL>startup
ORACLEinstance started.
TotalSystem Global Area 1820540928 bytes
FixedSize 2254184 bytes
VariableSize 503319192 bytes
DatabaseBuffers 1308622848 bytes
RedoBuffers 6344704 bytes
ORA-00205:error in identifying control file, check alert log for more info
三、处理方法
一)、如果及时发现了数据库还未关闭,则可以使用命令将重建控制文件的脚本输出到trace文件中,方便控制文件的重建操作
alter databasebackupcontrolfile to trace ;
二)、如果数据库已经关闭了发现控制文件丢失,那么需要重建控制文件
SQL>CREATE CONTROLFILE REUSE DATABASE “ORCL” NORESETLOGS ARCHIVELOG
2 MAXLOGFILES 16
3 MAXLOGMEMBERS 3
4 MAXDATAFILES 100
5 MAXINSTANCES 8
6 MAXLOGHISTORY 292
7 LOGFILE
8 GROUP 1 ‘/u01/app/oracle/oradata/orcl/redo01.log’ size 50M,
9 GROUP 2 ‘/u01/app/oracle/oradata/orcl/redo02.log’ size 50M,
10 GROUP 3 ‘/u01/app/oracle/oradata/orcl/redo03.log’ size 50M
11 DATAFILE
12 ‘/u01/app/oracle/oradata/orcl/system01.dbf’,
13 ‘/u01/app/oracle/oradata/orcl/sysaux01.dbf’,
14 ‘/u01/app/oracle/oradata/orcl/undotbs01.dbf’,
15 ‘/u01/app/oracle/oradata/orcl/users01.dbf’,
16 ‘/u01/app/oracle/oradata/orcl/example01.dbf’;
Controlfile created.
SQL>select status from v$instance ;
STATUS

MOUNTED
打开数据库:
SQL>alter database open ;
Databasealtered.
查看临时文件情况:
SQL>select name from v t e m p f i l e ; n o r o w s s e l e c t e d 添 加 临 时 文 件 : S Q L > A L T E R T A B L E S P A C E T E M P A D D T E M P F I L E ′ / u 01 / a p p / o r a c l e / o r a d a t a / o r c l / t e m p 01. d b f ′ ; T a b l e s p a c e a l t e r e d . S Q L > s e l e c t n a m e f r o m v tempfile; no rowsselected 添加临时文件: SQL>ALTER TABLESPACE TEMP ADD TEMPFILE '/u01/app/oracle/oradata/orcl/temp01.dbf'; Tablespacealtered. SQL>select name from v tempfile;norowsselectedSQL>ALTERTABLESPACETEMPADDTEMPFILE/u01/app/oracle/oradata/orcl/temp01.dbf;Tablespacealtered.SQL>selectnamefromvtempfile;
NAME

/u01/app/oracle/oradata/orcl/temp01.dbf
查看控制文件原路径下已经重新生成了控制文件
数据库状态正常:
SQL>select open_mode,database_role from v$database;
OPEN_MODE DATABASE_ROLE

READWRITE PRIMARY

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值