日期:2014-05-16  浏览次数:20399 次

ORACLE shutdown 和 startup

?


shutdown 命令

SHUTDOWN有四个参数:NORMAL、TRANSACTIONAL、IMMEDIATE、ABORT。缺省不带任何参数时表示是NORMAL。

SHUTDOWN NORMAL:

不允许新的连接、等待会话结束、等待事务结束、做一个检查点并关闭数据文件。启动时不需要实例恢复。

SHUTDOWN TRANSACTIONAL:

不允许新的连接、不等待会话结束、等待事务结束、做一个检查点并关闭数据文件。启动时不需要实例恢复。

SHUTDOWN IMMEDIATE:

不允许新的连接、不等待会话结束、不等待事务结束、做一个检查点并关闭数据文件。没有结束的事务是自动rollback的。启动时不需要实例恢复。

SHUTDOWN ABORT:

不允许新的连接、不等待会话结束、不等待事务结束、不做检查点且没有关闭数据文件。启动时自动进行实例恢复。

?

启动过程

Oracle的启动过程共经历四个阶段:

??shutdown→nomount→mount→open

shutdown→nomount过程:

????????????????????? 读初始参数文件
?? ?? ?? ?? ?? ?? ??? 分配物理内存
?? ?? ?? ?? ?? ?? ??? 启动后台进程
?? ?? ?? ?? ?? ?? ??? 定位到控制文件
?? ?? ?? ?? ?? ?? ??? 打开/写alert文件
?? nomount过程可以访问的动态性能视图:v$parameter,v$sga,v$option,v$process,v$version,v$instance
nomount→mount过程:

????????????????????? 打开控制文件
?? ?? ?? ?? ?? ??? 确认 database的结构信息
?? mount过程可以访问的动态性能视图: v$thread,v$controlfile,v$database,v$datafile,v$datafile_header,v$logfile
?? 以下任务必须在mount状态下进行:

???????????????????????????命名数据文件
?? ?? ?? ?? ?? ?? ?? ?? ??启用和禁用重作日志归档选项
?? ?? ?? ?? ?? ?? ?? ?? ??执行完全数据库恢复
mount→open过程:

??????? 打开数据文件
?? ?? ?? ?? ??? 打开重做日志文件
最后阶段中,oracle服务器验证所有数据文件和重做日志文件是否可以打开,并检查数据库的一致性,如果需要,smon进程会启动例程恢复

?

?

?

启动过程:
NOMOUNT?实例启动阶段
数据库操作:
????读取参数文件
????根据参数设置分配空间
????启动后台进程
????打开报警文件,记录启动过程????
用户操作:
????创建数据库:创建文件
????重建控制文件

MOUNT?数据库装载阶段
数据库操作:
????读取控制文件:得到数据库信息
????将数据库和实例关联在一起
用户操作:
????操作数据库的归档和非归档模式
????修改控制文件,重做数据文件的名称和路径
????数据库的备份和恢复
????改变归档模式

OPEN?打开数据库
数据库操作:
????读取文件的SCN号,判断数据一致性,是否打开或回滚。
????检查数据文件状态
用户操作:
????查看数据
??? ....

普通身份的用户是不能在 OPEN 之前登陆的。
SYSDBA是通过口令文件和操作系统验证,可以在OPEN之前登