oracle-dba-控制文件和数据库启动
2017-03-03 23:19
225 查看
控制文件和数据库启动
控制文件和数据库启动概述
2进制文件
记录数据库的状态信息,如重做日志文件与数据文件的名字和位置,归档重做日志的历史等。
<=64M
Mount阶段被读取,
一个控制文件只能与一个数据库相关联。
只有数据库服务器可以修改控制文件中信息
数据库启动与控制文件的关系
启动数据库(通过默认搜索规则找到参数文件)打开参数文件(在参数文件中找到控制文件的位置)打开控制文件
如何获得控制文件信息
通常一个数据库文件至少需要3个控制文件,控制文件最好不要放在一起,可以防止磁盘故障造成数据库无法启动。
可以通过参数文件获得控制文件位置,但是这样容易修改。Oracle提供了视图
使用视图vparamete查看控制文件位置selectvaluefromvparameter where name=’control_files’;
使用show parameter查看当前控制文件的位置
Show parameter control_files;不添加S也可以
通过数据字典vcontrolfile查看控制文件的名字和存储目录Selectstatus,namefromvcontrolfile;
控制文件的内容
内容
数据库名:在初始化DB_NAME获得,或者CREATE DATABASE语句执行时用的名字
数据库标识符:数据库创建时oracle记录得标示符
数据库创建时间:创建数据库时由oracle自动记录
表空间信息:当表增加或者删除表空间时记录该信息
重做日志文件历史:在日志切换时记录
归档日志文件的位置和状态信息:在归档进程发生时完成
备份的状态信息和位置:由恢复管理器记录
当前日志序列号:日志切换时记录
校验点信息:当校验点事件发生时记录
查看所存内容的记录信息
查询控制文件中所存内容的记录信息
select type , record_size, records_total,records_used from vcontrolfilerecordsection;很多动态数据字典视图就是从控制文件中获得数据。Vbackup
VdatabaseVtempfile
VtablespaceVarchive
VlogVlogfile
VloghistVarchived_log
V$database
查看数据库id,创建时间,数据库是否处于归档模式等
Select name,created,log_mode from v$database;
存储多重控制文件
Oracle数据库会同时维护多个完全相同的控制文件,称为多重控制文件
在不同磁盘上存储多重控制文件可以避免控制文件的单点失效问题。
如果一个磁盘的控制文件失效,oracle会自动使用参数文件中记录的其他控制文件启动数据库。
控制文件目录
G:\ORACLEDB\ORADATA\ORCL\CONTROL01.CTL, G:\ORACLEDB\FLASH_RECOVERY_AREA\ORCL\CONTROL02.CTL
参数文件目录
G:\oracleDB\product\11.2.0\dbhome_1\dbs\init.ora
使用pfile(init.ora)文件时移动控制文件
可以直接打开修改。黄色区域更换为控制文件地址即可。
关闭并重启数据库,
验证控制文件的修改结果
Select * from v$controlfile;
使用spfile文件时移动控制文件
修改spfile中的控制文件名
Alter system set control_files=
‘G:\ORACLEDB\ORADATA\ORCL\CONTROL01.CTL’,
’ G:\ORACLEDB\FLASH_RECOVERY_AREA\ORCL\CONTROL02.CTL’
SCOPE=SPFILE;
添加控制文件
CONTROL01.CTL复制到另外一个目录,多添加一个文件的目录即可。
Alter system set control_files=
‘G:\ORACLEDB\ORADATA\ORCL\CONTROL01.CTL’,
’ G:\ORACLEDB\FLASH_RECOVERY_AREA\ORCL\CONTROL02.CTL’
SCOPE=SPFILE;
备份和恢复控制文件
备份
使用database backup controlfile备份控制文件
alter database backup controlfile to ‘d:\ss.ora’;
备份控制文件,将控制文件备份到追踪文件中,使用该文件可以恢复控制文件。
1:设置参数sql_trace=true,默认false
alter session set sql_trace=true;
2:备份控制文件到追踪文件中
Alter database backup controlfile to trace;
查看跟踪文件的存储目录
Show parameter user_dump_dest;
恢复
1:部分控制文件损坏
关闭数据库,将完好的控制文件复制到已经丢失或者出错的控制文件的位置。更改文件名字为该丢失或者出错的控制文件的名字。
如果目录也被损坏,重建新目录放控制文件。需要修改数据库初始参数文件中控制文件的位置信息。
2:控制文件全部损坏或丢失
关闭数据库,将备份的控制文件复制到先前控制文件所在位置,
并更改备份控制文件名为先前控制文件的文件名
打开数据库到mount状态
Startup mount
打开数据库
Alter datebase open using backup controlfile;
3:通过跟踪文件重建控制文件
跟踪文件记录了用于建立控制文件的sql语句,适当的编辑下。然后使用slq命令即可
G:\oracleDB\diag\rdbms\orcl\orcl\trace\alert_orcl.log
4:手工重建控制文件
Create controlfile 指令逐步创建控制文件
控制文件和数据库启动概述
2进制文件
记录数据库的状态信息,如重做日志文件与数据文件的名字和位置,归档重做日志的历史等。
<=64M
Mount阶段被读取,
一个控制文件只能与一个数据库相关联。
只有数据库服务器可以修改控制文件中信息
数据库启动与控制文件的关系
启动数据库(通过默认搜索规则找到参数文件)打开参数文件(在参数文件中找到控制文件的位置)打开控制文件
如何获得控制文件信息
通常一个数据库文件至少需要3个控制文件,控制文件最好不要放在一起,可以防止磁盘故障造成数据库无法启动。
可以通过参数文件获得控制文件位置,但是这样容易修改。Oracle提供了视图
使用视图vparamete查看控制文件位置selectvaluefromvparameter where name=’control_files’;
使用show parameter查看当前控制文件的位置
Show parameter control_files;不添加S也可以
通过数据字典vcontrolfile查看控制文件的名字和存储目录Selectstatus,namefromvcontrolfile;
控制文件的内容
内容
数据库名:在初始化DB_NAME获得,或者CREATE DATABASE语句执行时用的名字
数据库标识符:数据库创建时oracle记录得标示符
数据库创建时间:创建数据库时由oracle自动记录
表空间信息:当表增加或者删除表空间时记录该信息
重做日志文件历史:在日志切换时记录
归档日志文件的位置和状态信息:在归档进程发生时完成
备份的状态信息和位置:由恢复管理器记录
当前日志序列号:日志切换时记录
校验点信息:当校验点事件发生时记录
查看所存内容的记录信息
查询控制文件中所存内容的记录信息
select type , record_size, records_total,records_used from vcontrolfilerecordsection;很多动态数据字典视图就是从控制文件中获得数据。Vbackup
VdatabaseVtempfile
VtablespaceVarchive
VlogVlogfile
VloghistVarchived_log
V$database
查看数据库id,创建时间,数据库是否处于归档模式等
Select name,created,log_mode from v$database;
存储多重控制文件
Oracle数据库会同时维护多个完全相同的控制文件,称为多重控制文件
在不同磁盘上存储多重控制文件可以避免控制文件的单点失效问题。
如果一个磁盘的控制文件失效,oracle会自动使用参数文件中记录的其他控制文件启动数据库。
控制文件目录
G:\ORACLEDB\ORADATA\ORCL\CONTROL01.CTL, G:\ORACLEDB\FLASH_RECOVERY_AREA\ORCL\CONTROL02.CTL
参数文件目录
G:\oracleDB\product\11.2.0\dbhome_1\dbs\init.ora
使用pfile(init.ora)文件时移动控制文件
可以直接打开修改。黄色区域更换为控制文件地址即可。
关闭并重启数据库,
验证控制文件的修改结果
Select * from v$controlfile;
使用spfile文件时移动控制文件
修改spfile中的控制文件名
Alter system set control_files=
‘G:\ORACLEDB\ORADATA\ORCL\CONTROL01.CTL’,
’ G:\ORACLEDB\FLASH_RECOVERY_AREA\ORCL\CONTROL02.CTL’
SCOPE=SPFILE;
添加控制文件
CONTROL01.CTL复制到另外一个目录,多添加一个文件的目录即可。
Alter system set control_files=
‘G:\ORACLEDB\ORADATA\ORCL\CONTROL01.CTL’,
’ G:\ORACLEDB\FLASH_RECOVERY_AREA\ORCL\CONTROL02.CTL’
SCOPE=SPFILE;
备份和恢复控制文件
备份
使用database backup controlfile备份控制文件
alter database backup controlfile to ‘d:\ss.ora’;
备份控制文件,将控制文件备份到追踪文件中,使用该文件可以恢复控制文件。
1:设置参数sql_trace=true,默认false
alter session set sql_trace=true;
2:备份控制文件到追踪文件中
Alter database backup controlfile to trace;
查看跟踪文件的存储目录
Show parameter user_dump_dest;
恢复
1:部分控制文件损坏
关闭数据库,将完好的控制文件复制到已经丢失或者出错的控制文件的位置。更改文件名字为该丢失或者出错的控制文件的名字。
如果目录也被损坏,重建新目录放控制文件。需要修改数据库初始参数文件中控制文件的位置信息。
2:控制文件全部损坏或丢失
关闭数据库,将备份的控制文件复制到先前控制文件所在位置,
并更改备份控制文件名为先前控制文件的文件名
打开数据库到mount状态
Startup mount
打开数据库
Alter datebase open using backup controlfile;
3:通过跟踪文件重建控制文件
跟踪文件记录了用于建立控制文件的sql语句,适当的编辑下。然后使用slq命令即可
G:\oracleDB\diag\rdbms\orcl\orcl\trace\alert_orcl.log
4:手工重建控制文件
Create controlfile 指令逐步创建控制文件
相关文章推荐
- Oracle 11g R2 DBA 操作指南(10) 控制文件和数据库启动
- 【Oracle】数据库启动阶段参数文件、控制文件的问题处理
- ORACLE DBA学习笔记--启动和关闭数据库
- ORACLE DBA学习笔记--控制文件
- oracle启动参数文件全部丢失 没有备份 简单三步正常启动数据库
- oracle通过修改控制文件scn推进数据库scn
- DBA_Oracle Startup / Shutdown启动和关闭过程详解(概念)(对数据库进行各种维护操作)
- [案例]Oracle控制文件损坏导致数据库故障(转载)
- oracle用控制文件旧备份恢复后数据库恢复总结
- 【数据库】oracle 启动和关闭脚本文件
- oracle手工创建控制文件启动数据库
- oracle 误删表空间文件启动不了数据库的解决办法
- Oracle 控制文件中MAXDATAFILES, DB_FILES 参数 与 数据库最大datafiles 关系说明
- Scripts:显示数据库中的控制文件dba_controlfiles.sql
- Oracle数据文件丢失导致数据库启动故障解决一例
- oracle之物理数据库结构概述(数据文件、重做日志文件,控制文件等各种数据库文件)
- 解决数据库实例启动ORA-00205或控制文件损坏错误
- oracleDBA关于控制文件被移动的问题
- DBA_Oracle Startup / Shutdown启动和关闭过程详解(概念)(对数据库进行各种维护操作)
- Scripts:报告数据库中数据文件控制文件临时文件redo文件的使用情况dba_file_use.sql