第一章 数据库启动和关闭
2013-05-13 17:25
218 查看
1.1 数据库启动
(1)nomount
(2)mount
(3)open
1.1.1 启动到nomount状态
寻找$ORACLE_HOME/dbs目录下的参数文件(spfile<sid>.ora-->spfile.ora-->init<sid>.ora)(show parameter spfile),然后根据参数文件设置,创建实例,分配内存,启动后台进程。查看告警日志(alert_<sid>.log)有相关记录。日志对应的目录为:show parameter dump_dest;如果参数文件不再相应位置,在Linux系统上可以通过符号链接来重新定位。db_name
参数文件中至少要包含这个参数。
1.1.2Mount 状态
数据库根据参数文件中的信息找到控制文件,并锁定控制文件,在这一部数据库会计算Mount_id并将其记录在控制文件中,启动心跳Heartbeat,每三秒更新一次控制文件。Heartbeat表示实例已经被特定历程所mount,该属性主要用于RAC/OPS环境。(select CPHBT FROM X$KCCCP,SELECT EVENT#,NAMES FROM V$EVENT_NAME WHERE NAMES LIKE '%heart%')。
启动到mount阶段,数据必须有口令文件(sysdba/sysoper用户的用户名及口令允许用户通过口令文件验证,在数据库未启动之前登陆从而启动数据库,数据启动后,如果使用orapwd工具进行新建口令文件,会覆盖数据库中的数据,同理,在数据库中使用alter修改用户密码,也会同时修改口令文件)。与参数remote_login_passwordfile对应使用。
(1)remote_login_passwordfile=none ,Oracle数据库不允许远程SYSDBA/SYSOPER身份登录,无法通过远程进行数据库起停等操作管理
(2)remote_login_passwordfile = exclusive 专用模式(不同实例使用不同口令文件)
补充:Alter system set Remote_login_passwordFile=exclusive scope=spfile;其中参数scope=spfile对参数的修改记录在服务器端初始化参数文件中,修改后的参数只在下次启动数据库时生效.
scope=Memory,对参数的修改仅记录在内存中.,立即生效.
scope=Both,两者兼顾!
(3)remote_login_passwordfile = shared(不同实例共享口令文件)Oracle数据库在启动时,首先查找的是orapw<sid>的口令文件,如果该文件不存在,则开始查找,orapw的口令文件,如果口令文件命名为orapw,多个数据库就可以共享.数据库只在启动过程中才读取口令文件,数据库运行过程中并不锁定该文件,类似于pfile/spfile文件.
1.1.3open阶段
主要是根据控制文件中记录的数据文件、日志文件等位置信息,找到对应文件,然后进行检查检查点和完整性检查。
(1)检查数据文件中的检查点技术(checkpoint)是否与控制文件中的检查点技术一致。此步骤用于确认数据文件来自同一版本,而不是从备份中恢复。
(1)nomount
(2)mount
(3)open
1.1.1 启动到nomount状态
寻找$ORACLE_HOME/dbs目录下的参数文件(spfile<sid>.ora-->spfile.ora-->init<sid>.ora)(show parameter spfile),然后根据参数文件设置,创建实例,分配内存,启动后台进程。查看告警日志(alert_<sid>.log)有相关记录。日志对应的目录为:show parameter dump_dest;如果参数文件不再相应位置,在Linux系统上可以通过符号链接来重新定位。db_name
参数文件中至少要包含这个参数。
1.1.2Mount 状态
数据库根据参数文件中的信息找到控制文件,并锁定控制文件,在这一部数据库会计算Mount_id并将其记录在控制文件中,启动心跳Heartbeat,每三秒更新一次控制文件。Heartbeat表示实例已经被特定历程所mount,该属性主要用于RAC/OPS环境。(select CPHBT FROM X$KCCCP,SELECT EVENT#,NAMES FROM V$EVENT_NAME WHERE NAMES LIKE '%heart%')。
启动到mount阶段,数据必须有口令文件(sysdba/sysoper用户的用户名及口令允许用户通过口令文件验证,在数据库未启动之前登陆从而启动数据库,数据启动后,如果使用orapwd工具进行新建口令文件,会覆盖数据库中的数据,同理,在数据库中使用alter修改用户密码,也会同时修改口令文件)。与参数remote_login_passwordfile对应使用。
(1)remote_login_passwordfile=none ,Oracle数据库不允许远程SYSDBA/SYSOPER身份登录,无法通过远程进行数据库起停等操作管理
(2)remote_login_passwordfile = exclusive 专用模式(不同实例使用不同口令文件)
补充:Alter system set Remote_login_passwordFile=exclusive scope=spfile;其中参数scope=spfile对参数的修改记录在服务器端初始化参数文件中,修改后的参数只在下次启动数据库时生效.
scope=Memory,对参数的修改仅记录在内存中.,立即生效.
scope=Both,两者兼顾!
(3)remote_login_passwordfile = shared(不同实例共享口令文件)Oracle数据库在启动时,首先查找的是orapw<sid>的口令文件,如果该文件不存在,则开始查找,orapw的口令文件,如果口令文件命名为orapw,多个数据库就可以共享.数据库只在启动过程中才读取口令文件,数据库运行过程中并不锁定该文件,类似于pfile/spfile文件.
1.1.3open阶段
主要是根据控制文件中记录的数据文件、日志文件等位置信息,找到对应文件,然后进行检查检查点和完整性检查。
(1)检查数据文件中的检查点技术(checkpoint)是否与控制文件中的检查点技术一致。此步骤用于确认数据文件来自同一版本,而不是从备份中恢复。
相关文章推荐
- 第一章,数据库的启动和关闭
- Linux下启动关闭数据库
- Oracle12cCDB和PDB数据库的启动与关闭说明
- Oracle 数据库实例启动关闭过程
- DBA_Oracle Startup / Shutdown启动和关闭过程详解(概念)(对数据库进行各种维护操作)
- Oracle学习笔记: 启动和关闭数据库& 管理网络 ----摘自《Oracle10g 宝典》
- dbstart和dbshut启动、关闭数据库报错ORACLE_HOME_LISTNER is not SET解决办法
- 如何在linux下启动和关闭ORCALE数据库
- postgresql 数据库的启动与 关闭
- 数据库启动与关闭
- 数据库的启动和关闭过程
- 用BAT启动、关闭数据库(MS SQL/MYSQL/ORACLE)服务
- Oracle 9i 数据库异常关闭后的启动
- Oracle11g 启动数据库实例、关闭数据库实例
- 数据库异常关闭后无法启动问题处理一例
- Oracle12cCDB和PDB数据库的启动与关闭说明
- 数据库异常关闭后无法启动问题处理
- Oracle 数据库实例启动关闭过程
- 实例管理及数据库的启动/关闭
- 启动与关闭数据库实例