您的位置:首页 > 数据库

第一章 数据库启动和关闭

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)是否与控制文件中的检查点技术一致。此步骤用于确认数据文件来自同一版本,而不是从备份中恢复。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: