Oracle 重建controlfile

本文详细介绍如何在Oracle数据库中备份和重建控制文件,包括使用SQL*Plus进行备份、创建重建脚本、添加临时文件以及准备环境步骤。通过实例操作,帮助读者理解控制文件的重要性和手动创建流程。
ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

1、备份数据库控制文件
sqlplus / as sysdba
start mount
alter database backup controlfile to trace as '/home/oradev/dev_ctl.sql'
exit;


2、创建重建控制文件的脚本:
复制备份的控制文件的Create controlfile这一段,修改如下:
CREATE CONTROLFILE REUSE DATABASE "DEV" NORESETLOGS NOARCHIVELOG
MAXLOGFILES 32
MAXLOGMEMBERS 5
MAXDATAFILES 512
MAXINSTANCES 8
MAXLOGHISTORY 14607
LOGFILE
GROUP 1 (
'/u01/dev/db/data/log01a.dbf',
'/u01/dev/db/data/log01b.dbf'
) SIZE 1000M BLOCKSIZE 512,
GROUP 2 (
'/u01/dev/db/data/log02a.dbf',
'/u01/dev/db/data/log02b.dbf'
) SIZE 1000M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
'/u01/dev/db/data/system01.dbf',
'/u01/dev/db/data/system02.dbf',
'/u01/dev/db/data/system03.dbf',
'/u01/dev/db/data/system04.dbf',
'/u01/dev/db/data/system05.dbf',
'/u01/dev/db/data/ctxd01.dbf',
'/u01/dev/db/data/owad01.dbf',
'/u01/dev/db/data/a_queue02.dbf',
'/u01/dev/db/data/odm.dbf',
'/u01/dev/db/data/olap.dbf',
'/u01/dev/db/data/sysaux01.dbf',
'/u01/dev/db/data/apps_ts_tools01.dbf',
'/u01/dev/db/data/system12.dbf',
'/u01/dev/db/data/a_txn_data04.dbf',
'/u01/dev/db/data/a_txn_ind06.dbf',
'/u01/dev/db/data/a_ref03.dbf',
'/u01/dev/db/data/a_int02.dbf',
'/u01/dev/db/data/sysaux02.dbf',
'/u01/dev/db/data/system13.dbf',
'/u01/dev/db/data/system14.dbf',
'/u01/dev/db/data/system15.dbf',
'/u01/dev/db/data/system16.dbf',
'/u01/dev/db/data/system17.dbf',
'/u01/dev/db/data/system18.dbf',
'/u01/dev/db/data/system19.dbf',
'/u01/dev/db/data/system20.dbf',
'/u01/dev/db/data/system21.dbf',
'/u01/dev/db/data/system22.dbf',
'/u01/dev/db/data/system23.dbf',
'/u01/dev/db/data/system24.dbf',
'/u01/dev/db/data/system25.dbf',
'/u01/dev/db/data/a_ref04.dbf',
'/u01/dev/db/data/a_ref05.dbf',
'/u01/dev/db/data/a_ref06.dbf',
'/u01/dev/db/data/undo02.dbf',
'/u01/dev/db/data/a_txn_data05.dbf',
'/u01/dev/db/data/a_txn_data06.dbf',
'/u01/dev/db/data/a_txn_ind07.dbf',
'/u01/dev/db/data/a_txn_ind08.dbf',
'/u01/dev/db/data/undo03.dbf',
'/home/oradev/oradump/hec.dbf',
'/u01/dev/db/data/system10.dbf',
'/u01/dev/db/data/system06.dbf',
'/u01/dev/db/data/portal01.dbf',
'/u01/dev/db/data/system07.dbf',
'/u01/dev/db/data/system09.dbf',
'/u01/dev/db/data/system08.dbf',
'/u01/dev/db/data/system11.dbf',
'/u01/dev/db/data/undo01.dbf',
'/u01/dev/db/data/a_txn_data01.dbf',
'/u01/dev/db/data/a_txn_ind01.dbf',
'/u01/dev/db/data/a_ref01.dbf',
'/u01/dev/db/data/a_int01.dbf',
'/u01/dev/db/data/a_summ01.dbf',
'/u01/dev/db/data/a_nolog01.dbf',
'/u01/dev/db/data/a_archive01.dbf',
'/u01/dev/db/data/a_queue01.dbf',
'/u01/dev/db/data/a_media01.dbf',
'/u01/dev/db/data/a_txn_data02.dbf',
'/u01/dev/db/data/a_txn_data03.dbf',
'/u01/dev/db/data/a_txn_ind02.dbf',
'/u01/dev/db/data/a_txn_ind03.dbf',
'/u01/dev/db/data/a_txn_ind04.dbf',
'/u01/dev/db/data/a_txn_ind05.dbf',
'/u01/dev/db/data/a_ref02.dbf'
CHARACTER SET AL32UTF8;




3、创建添加临时文件的脚本:复制备份的控制文件的 ALTER TABLESPACE TEMP… 这一段,修改如下:
ALTER TABLESPACE TEMP1 ADD TEMPFILE '/u01/dev/db/data/temp01.dbf'
SIZE 1100M REUSE AUTOEXTEND OFF;
ALTER TABLESPACE TEMP1 ADD TEMPFILE '/u01/dev/db/data/temp0001.dbf'
SIZE 1048576000 REUSE AUTOEXTEND OFF;
ALTER TABLESPACE TEMP2 ADD TEMPFILE '/u01/dev/db/data/temp02.dbf'
SIZE 1024M REUSE AUTOEXTEND OFF;


4、准备重建控制文件
export ORACLE_HOME=/u01/dev/db/12.1.0
export ORACLE_SID=DEV
export PATH=$ORACLE_HOME/bin:$PATH


cd $ORACLE_HOME/dbs
mv spfileDEV.ora spfileDEV.ora.old


vi initDEV.ora
注释掉以下行:
#local_listener = DEV_LOCAL
同时确保文件中的db_name是DEV


将原有的控制文件改个名称
cd /u01/dev/db/data
mv cntrl01.dbf cntrl01.dbf.old
mv cntrl02.dbf cntrl02.dbf.old


运行脚本重建控制文件
SQL> conn “/as sysdba”
Connected.
SQL> startup nomount
SQL> @create_ctrl.sql
Control file created.
SQL> alter database open resetlogs;
Database altered.


至此,手工创建控制文件已经完成。


(笔者原创文章,转载请注明出处:https://blog.youkuaiyun.com/LFCuiYs)谢谢!

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

Oracle数据库的控制文件(Control File,简称CTL)是一个非常重要的二进制文件,它记录了数据库的所有物理结构信息以及检查点数据等关键内容。如果控制文件丢失或损坏,则可能导致整个数据库无法正常启动和运行。 ### Oracle重建CTL控制文件步骤: #### 1. **备份当前数据库** 在尝试任何操作之前,请确保已经对现有的所有数据进行了完整备份。这包括但不限于全库导出、冷备或其他形式的数据保护措施。 #### 2. **通过CREATE CONTROLFILE命令创建新控件文件** - 登录到SQL*Plus,并连接至目标实例; ```sql SQL> startup nomount; ``` - 使用`ALTER DATABASE BACKUP CONTROLFILE TO TRACE;`生成用于恢复的脚本并存储在一个跟踪文件中。 此语句会在用户临时目录下自动生成一段关于如何利用CREATE CONTROLFILE语法重新构建控制文件的具体指令。(可通过查询v$diag_info视图找到确切路径) #### 3. **编辑TRACE产生的脚本** 打开由上述命令生产的trace文件(通常位于ADR base+diagnose_dest/diag/rdbms/<instance>/<instance>/trace/) ,复制其中有关create controlfile的部分作为基础模板加以修改调整以适配实际需求情况如指定新的log file位置等等... #### 4. **执行新建好的controlfile语句** 将修订后的Create ControlFile Statement粘贴回SQL Plus环境里直接提交运行即可形成一个新的初始状态下的空壳型别的控制文档; ```sql CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS ARCHIVELOG MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 ... ``` 注意:需要根据实际情况更改上面示例里的各项配置数值大小等细节部分! 完成之后记得再次确认各参数设置是否准确无误再继续下一步骤…… #### 5. 恢复表空间及数据文件 最后一步就是把先前所作全部offline模式切换成online可用并且加载关联起来的实际磁盘映像副本同步上去…… --- **重要提醒**: 整体流程复杂程度取决于系统规模及其完整性状况等因素影响较大,在正式实施前务必详细规划好每一步骤以防万一出现不可逆错误造成更大损失风险!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值