目录
oracle10G,11G...环境
一、oracle数据库的启动关闭
oracle数据库的启动涉及一系列的文件读取和数据一致性检查等操作,但首先启动数据库实例(lnstance),在这个过程数据库获取一些内存空间,并启动必需的后台监控进程。启动流程涉及3个状态。
- NOMOUNT状态:打开数据库实例(lnstance),读取参数文件(一些缓冲大小、内存等参数)
- MOUNT状态:oracle根据参数文件找到控制文件位置,并打开控制文件读取控制文件中的参数(数据文件、日志文件位置等),此时不打开数据文件。
- OPEN状态:打开数据文件 并 进行一系列检查工作,这些检查工作用于数据恢复
DBA权限下 启动、更改数据到3个状态(进入sqlplus操作):
关闭数据库的几个参数及含义
数据库启动过程记录在告警追踪文件中,名为:alert_orcl.log
查看告警追踪文件存放路径的参数:show parameter background_dnmp_dest;
4. 受限状态[restricted]
在受限状态下,可以保证在做维护的操作时,没有其他的用户更改数据库.也可以通过命令修改.命令如下:
alter system [enable|disable] restricted session;
在受限状态下可以kill session.
这个命令是由进程监控进程来完成的,主要的操作是回滚用户当前事务;释放在表和行上的锁;释放用户占有的内存的资源.
5. 只读状态
在这个状态下,可以完成的操作有:查询;在线或离线数据文件,而不是表空间;完成离线的表空间或数据文件的恢复;可以使用临时表空间排序.
二、参数、控制文件和数据库启动
1. 数据库启动和控制文件的关系
oracle数据库控制文件是一个重要的二进制文件,记录了数据库的重做日志和数据文件的名字和位置、归档重做日志的历史等。控制文件在数据库启动到MOUNT状态时被读取。由于其重要性建议多重存储到不同磁盘(3个以上实现冗余可用性)
数据库启动文件读取顺序:
2. 相关查询、指令语句
3. 移动控制文件实现多重(冗余)控制文件,存在不同磁盘位置。一个控制文件损坏不影响数据库启动
4. 控制文件备份恢复
三、重做日志管理
1. 重做日志文件结构
1)oracle引入重做日志的原因:数据恢复。属于日志写优先机制。
2)重做日志文件结构
日志组1(日志文件1、日志文件2、日志文件3)
日志组2(日志文件1、日志文件2、日志文件3)
日志组3(日志文件1、日志文件2、日志文件3)
生产数据库一般至少3个重做日志组,每个组多于3个日志文件成员(每个日志成员大小相同,多个日志文件实现冗余提高安全性、可用性)。日志组之间写满一个后切换到下一个日志组,如此循环使用。
归档模式下:重做日志文件切换时,进行重做日志文件归档。
2. 读取日志文件信息,归档模式
3. 重做日志组、日志组成员的管理
三、归档日志管理
注意数据挂起的可能情况:
1)写重做日志出现等待事件可能造成数据库挂起。
2)不能重写重做日志文件数据库会挂起。
3)归档目录空间不足数据库会挂起。
归档直观讲就是重做日志的备份。数据库运行在归档模式下,归档设置要合理。归档模式的好处是保证数据库发生介质故障时可以完全恢复数据库,虽然介质故障的现象不同,恢复的方法也有差异,但是基本原理就是使用备份的数据和归档日志实现数据库的完全恢复。(rman备份与恢复)
重做日志及归档的工作过程:
【Log buffer日志缓冲区】--lgwr进程-->【Redo log】--Arch进程-->【Archived log】
1. 设置为归档模式
2. 设置归档进程与归档目录