oracle体系三大文件,Oracle 体系结构-控制文件(一)

控制文件是Oracle数据库的重要组成部分,记录了数据库的物理结构信息。每个数据库至少有一个,通常有多个副本以确保冗余。当所有副本丢失时,可通过特定命令重建。数据库启动时会读取参数文件找到控制文件,然后打开数据文件并进行一致性检查。本文详细介绍了如何查看、移动、备份和恢复控制文件,以及在控制文件损坏时的处理方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

控制文件用于维护数据库物理结构数据的文件,每个数据库至少要有一个,是二进制文件,其中记录了数据库名称、数据文件位置、重做日志文件名称和位置。系统最多可以设置8个控制文件的副本来,但是无论有多少个副本,系统只指定一个控制文件作为检索数据库元数据的主要控制文件。一个数据文件对应一个数据库,但是可以有多个副本存在。当所有副本丢失时,可以通过alter database backup controlfile to trace来重建控制文件。数据库在启动过程中首先通过默认规则打开参数文件,建立实例,再通过参数文件中控制文件的位置,打开控制文件,然后通过控制文件中数据文件、重做日志的位置,校验数据文件一致性,并恢复打开数据文件,完成数据库的启动。通常新建立的数据库有三个控制文件。

查看控制文件:

Select value from v$parameter where name=control_files’;

Show parameter control_files;

启动到mount状态:

Select name from v$controlfile;

查看控制文件中的内容:

V$controlfile_record_section

依赖控制文件的视图:

V$backup v$databse v$tempfile v$tablespace v$archive v$log v$logfile v$loghist日志切换记录v$archived_log归过档的记录

移动控制文件

a、使用pfile文件移动控制文件

利用数据字典获取控制文件的名字

Select value from v$parameter where name=’control_files’

关闭数据库

Shutdown immediate

修改参数文件

修改参数文件的目录和移动参数文件到相应的目录

启动数据

Startup

验证更改的结果

Select name from v$controlfile

//oracle建库时参数文件的副本:$Oracle_base/admin/sid/pfile,另外控制文件只要有一个正常使用的,可以用这个正常的建立各个副本,建立的办法,就是把正确的改成副本名字即可。

b、使用Spfile文件移动控制文件

获取控制文件的名字

Select name from v$controlfile;

更改控制文件的目录及名称或新加的控制文件目录

Alter system set control_files='D:\ORACLE\PRODUCT\10.2.0\ORADATA\STUDY\CONTROL01.CTL','D:\ORACLE\controlfile\CONTROL02.CTL','D:\ORACLE\controlfile\CONTROL03.CTL' scope=spfile;

移动控制文件到相应的目录

验证控制文件的修改结果

Select name from v$controlfile

备份和恢复控制文件

a、备份控制文件1

Alter databse backup controlfie to ‘D:\oracle\controlfile\backupcontrolfile.ora';

b、备份控制文件2

alter session set sql_trace=true;

alter database backup controlfile to trace;

show parameter user_dump_dest

c、部分控制文件损坏

d、全部丢失和损坏

startup mount

alter database open useing backup controlfile;

控制文件备份后的数据会丢失。

e、使用跟踪文件重建控制文件,trace文件中有脚本

f、手工创建控制文件,根据trace文件命令创建

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22275400/viewspace-718425/,如需转载,请注明出处,否则将追究法律责任。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值