Oracle数据库的启动与关闭
1.启动与关闭数据库通用方式:sqlplus 命令或dbstart/dbshut
2.启动数据库的前提条件:(1)环境变量定义好
(2)能密码文件认证或os认证
(3)有正确的参数文件
(4)有足够内存
(5) 参数文件中路径要存在,且有操作权限。
(6)产品安装正确
3.启动数据库,分三个阶段:(1)启动实例 (2)装载数据库 (3)打开数据库
阶段一:nomount阶段,1.读取参数文件并判断定义是否有错误【注意参数文件查找原则:spfilesid.ora spfile.ora initsid.ora】;2.根据参数文件定义分配相关内存;3.打开alert文件,跟踪文件并记录信息;启动相关的后天进程; 【本阶段用的文件是参数文件,instance启动完毕,处于nomount阶段】【实例=内存+进程】
sqlplus / as sysdba 连接到数据库,然后sql>startup nomount; sql>show parameter spfile;(有值证明是用spfile启的,没有值说明是用pfile启动的)
阶段二:mount阶段,1.使数据库和之前启动的实例关联;2.定位并打开参数文件中指定的控制文件。3.读取控制文件获取数据文件和重做日志文件的名称和状态;4.但是此时不进行数据文件和联机重做日志文件是否存在的检查;【mount阶段,可以对数据库的物理结构进行操作。即alter database指令】
阶段三:open阶段,1.验证所有数据文件和联机重做日志文件是否可以打开,并检查数据库的一致性;2.如果需要,系统监视器(smon)启动实例恢复;3.实例恢复:前滚以恢复已经记录在练级重做日志文件但尚未记录在数据文件中的数据。回退尚未提交的操作。4. 未回复数据锁定的数据立即可用;5.在smon和各个服务器进程访问锁定的数据时回退它们未提交的事务。【本阶段数据库使用数据文件,日志文件,物理文件的关系,验证一致性】
4.判断数据库的状态:1.select open_mode from v$database; 2.select status,instance_name from v$instance;
5.启动过程中密切关注alert日志:1.oracle11g的位置:$ORACLE_BASE/dialog/rdbms/数据库名/实例名/trace/alert_实例名.log
2.可通过>show parameter user_dump;查看告警日志位置。