数据库启动、关闭概述

适用版本:9.2.0.1及其之后版本
使用平台:任何平台
目的:清晰地认识单实例数据库启动、关闭的过程
Oracle database和instance
数据库是一组OS物理文件的集合。这些文件实际上保存有用户数据和元数据(或数据字典)。
instance = background processes + SGA。在一个实例的生命周期内,只能打开或挂载一个数据库。而RAC是多实例对应一个数据库。
数据库startup
对于任何正常用户来说,访问数据库需要启动实例,并且挂载、打开相应的数据库。简言之,数据库启动需要三个阶段:
 1. Start an instance. 
 2. Mount the database. 
 3. Open the database.
数据库startup需要管理(SYSDBA)权限,并且指定ORACLE_SID和ORACLE_HOME。例如:
 $ export ORACLE_SID=<SID of the instance>
 $ export ORACLE_HOME= <location of ORACLE_HOME>
 $ sqlplus / as sysdba
 SQL> startup
 注意:若pfile或spfile文件不在默认位置,需要使用startup pfile=<file name and location>
 nomount Stage
  命令:startup nomount
  读取的文件:参数文件(pfile或spfile)
  该阶段分配内存(SGA),启动后台进程,SGA和后台进程合称为实例。
  创建数据库、创建或恢复控制文件需要在nomount状态下执行
  遇到该错误:ORA-12162: TNS:net service name is incorrectly specified,检查环境变量ORACLE_SID是否正确设置。
  几个相关命令:ipcs -a、ps -ef | grep smon、env
 mount Stage 
  命令:startup mount
  读取的文件:控制文件(CONTROL_FILES)
  该阶段mount(挂载)数据库,数据库未open,只有DBA可以访问数据库。
  此阶段通常用于维护操作,如:重命名数据文件、开启和关闭归档模式、drop或重命名redo log files、执行full database recovery
 open Stage
  命令:alter database open;
  读取的文件:在线数据文件和重做日志文件等。
  该阶段open数据库,要确保数据文件的一致性。在正常关机的情况下,作为关机检查点的一部分,内存中的更改将被写入到磁盘上。但是,如果实例崩溃(或shutdown abort),那么Oracle数据库在下次启动时执行实例恢复。

                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值