ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ORACLE学习笔记-数据库启动过程

ORACLE学习笔记-数据库启动过程

原创 Linux操作系统 作者:diashad 时间:2013-03-28 19:40:45 0 删除 编辑
ORACLE学习笔记-数据库启动过程
ORACLE学习笔记-数据库启动过程

启动Oracle 数据库实例:MOUNT
OPEN
 已按此实例控制文件的描述打开了所有文件
MOUNT
  此实例的控制文件已打开
NOMOUNT 
  实例已启动
SHUTDOWN



启动Oracle 数据库实例:NOMOUNT
启动数据库实例时,请选择实例启动时所处的状态。以下方案描述了启动实例所涉及的
不同阶段。
在创建数据库期间、重新创建控制文件期间,或执行某些备份和恢复方案期间,通常只在
NOMOUNT 模式下启动实例。
启动实例涉及以下任务:
• 按以下顺序搜索/dbs 中具有特定名称的文件:
- spfile.ora
- 如果未找到,则搜索spfile.ora
- 如果未找到,则搜索init.ora
这是包含实例初始化参数的文件。使用STARTUP 指定PFILE 参数可覆盖此
默认行为。
• 分配SGA
• 启动后台进程
• 打开alert.log 文件和跟踪文件
注:SID 是用于标识实例的系统ID(例如ORCL)。

启动Oracle 数据库实例:MOUNT
装载数据库涉及以下任务:
• 将数据库与以前启动的实例关联
• 定位并打开参数文件中指定的控制文件
• 通过读取控制文件来获取数据文件和联机重做日志文件的名称和状态。但是,此时
不必执行任何检查便可验证数据文件和联机重做日志文件是否存在
要执行特定的维护操作,请启动实例,然后装载数据库,但不要打开该数据库。
例如,必须在执行以下任务期间装载数据库,但不要打开数据库:
• 重命名数据文件(打开数据库时可重命名脱机表空间的数据文件。)
• 启用和禁用联机重做日志文件归档选项
• 执行完整的数据库恢复
注:即使发出了OPEN 请求,数据库仍可能处于MOUNT 模式。这是因为可能需要以某种
方式恢复数据库。


启动Oracle 数据库实例:OPEN
正常的数据库操作意味着启动了实例、装载且打开了数据库。使用正常的数据库操作,
任何有效用户都可连接到数据库,而且可执行典型的数据访问操作。
打开数据库涉及以下任务:
• 打开联机数据文件
• 打开联机重做日志文件
如果尝试打开数据库时任一数据文件或联机重做日志文件不存在,则Oracle 服务器会返
回错误。
在最后这个阶段,Oracle 服务器会验证是否可以打开所有数据文件和联机重做日志文件,
还会检查数据库的一致性。如有必要,系统监视器(SMON) 后台进程将启动实例恢复。
可以在受限模式下启动数据库实例,以便仅具有管理权限的用户可以使用该实例。要在
受限模式下启动实例,请在“Advanced Startup Options(高级启动选项)”页上选择
“Restrict access to database(限制对数据库进行访问)”选项。


SHUTDOWN 选项
SHUTDOWN NORMAL
NORMAL 是默认的关闭模式。以正常模式关闭数据库时会发生以下情况:
• 可以建立新连接。
• Oracle 服务器等待所有用户断开连接才完成关闭。
• 数据库和重做缓冲区会写入到磁盘中。
• 后台进程被终止,从内存中删除SGA。
• Oracle 服务器在关闭实例之前关闭并断开数据库。
• 下一次启动不需要进行实例恢复。
SHUTDOWN TRANSACTIONAL
以事务处理模式关闭数据库可防止客户机丢失数据,包括客户机当前活动的结果。以事务
处理模式关闭数据库时会发生以下情况:
• 任何客户机都不能利用这个特定实例启动新事务处理。
• 客户机在结束正在进行的事务处理后断开连接。
• 完成所有事务处理后立即执行关闭。
• 下一次启动不需要进行实例恢复。
Oracle Internal & Oracle Academy Use Only
Oracle Database 10g:数据库管理- 课堂练习I 4-27
SHUTDOWN 选项(续)
SHUTDOWN IMMEDIATE
以立即模式关闭数据库时会发生以下情况:
• Oracle 数据库正在处理的当前SQL 语句尚未完成。
• Oracle 服务器不等待当前连接到数据库的用户断开连接。
• Oracle 服务器会回退活动的事务处理,而且会断开所有已连接的用户。
• Oracle 服务器在关闭实例之前关闭并断开数据库。
• 下一次启动不需要进行实例恢复。

SHUTDOWN ABORT
如果NORMAL 和IMMEDIATE 关闭选项都不起作用,则可以中止当前的数据库实例。
中止实例时会发生以下情况:
• 立即终止Oracle 数据库正在处理的当前SQL 语句。
• Oracle 服务器不等待当前连接到数据库的用户断开连接。
• 数据库和重做缓冲区不写入到磁盘。
• 不回退未提交的事务处理。
• 实例已终止,但未关闭文件。
• 数据库未关闭,也未卸载。
• 下一次启动时需要进行实例恢复,实例恢复是自动进行的。
注:不建议对处于不一致状态的数据库进行备份。






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

请登录后发表评论 登录
全部评论

注册时间:2011-08-08

  • 博文量
    86
  • 访问量
    472942