oracle启动过程
Oracle 的启动需要经历四个状态,SHUTDOWN 、NOMOUNT 、MOUNT 、OPEN、

SHUTDOWN状态
第一状态没什么好解释的,oracle的所有文件都静静的躺在磁盘里,一切都还未开始,属于关机状态
NOMOUNT状态
Starting the instance (nomount)
* Reading the initialization file from $ORACLE_HOME/dbs in the following order:
-first spfileSID.ora
-if not found then, spfile.ora
-if not found then, initSID.ora
Specifying the PFILE parameter with STARTUP overrides the default behavior.
* Allocating the SGA
* Starting the background processes
* Opening the alertSID.log file and the trace files
The database must be named with the DB_NAME parameter either in the initialization
Parameter file or in the STARTUP command.
-----------------------------------------------------------------------
* 读取环境变量下dbs目录下的参数文件(spfile/pfile)
[ora10@localhost dbs]$ pwd
/ora10/product/10.2.0/db_1/dbs
[ora10@localhost dbs]$ ll
-rw-r----- 1 ora10 dba 3584 07-19 22:07 spfilechongshi.ora
-rw-r----- 1 ora10 dba 3584 07-23 22:00 spfile.ora
-rw-r--r-- 1 ora10 dba 1106 07-19 21:47 initchongshi.ora
查找参数文件的顺序如上面列表的,读取优先级
spfilechongshi.ora > spfile.ora>initchongshi.ora
如果三个文件都找不到的话,那么将启动失败。
* 启动算法,分配内存
* 启动后台进程
* 开放alertSID.log文件和跟踪文件

[ora10@localhost dbs]$ sqlplus SQL*Plus: Release 10.2.0.1.0 - Production on Tue Jul 24 22:33:54 2012 Copyright (c) 1982, 2005, Oracle. All rights reserved. Enter user-name: /as sysdba Connected to an idle instance. SQL> startup nomount; ORACLE instance started. Total System Global Area 205520896 bytes Fixed Size 1218532 bytes Variable Size 79693852 bytes Database Buffers 121634816 bytes Redo Buffers 2973696 bytes

现在就处在一个nomount状态。
mount状态
Mounting a database includes the following tasks:
* Associating a database with a previously started instance
* Locating and opening the control files specified in the parameter file
* Reading the control files to obtain the names and status of the data files and online redo log files.However,no checks are performed to verify the existence of the data files and online redo log files at this time.
---------------------------------------------------------------------------------
* 把一个数据库和启动的实例关联起来
* 在参数文件(spfile/pfile)中找到控制文件进行读取
查看参数文件:
[ora10@localhost dbs]$ strings spfileora10.ora | more
......
*.control_files='/ora10/product/oradata/ora10/control01.ctl','/ora10/product/ora
data/ora10/control02.ctl','/ora10/product/oradata/ora10/control03.ctl'
.......
控制文件:
[ora10@localhost ~]$ cd /ora10/product/oradata/ora10/
[ora10@localhost ora10]$ ll
总计 954196
-rw-r----- 1 ora10 dba 7061504 07-23 23:01 control01.ctl
-rw-r----- 1 ora10 dba 7061504 07-23 23:01 control02.ctl
-rw-r----- 1 ora10 dba 7061504 07-23 23:01 control03.ctl
* 读取控制文件,获得的数据文件和联机重做日志文件,然而,在这个时候没有进行检查以验证存在的数据文件和联机重做日志文件

[ora10@localhost dbs]$ sqlplus SQL*Plus: Release 10.2.0.1.0 - Production on Tue Jul 24 23:02:28 2012 Copyright (c) 1982, 2005, Oracle. All rights reserved. Enter user-name: /as sysdba Connected to an idle instance. SQL> startup mount; ORACLE instance started. Total System Global Area 205520896 bytes Fixed Size 1218532 bytes Variable Size 79693852 bytes Database Buffers 121634816 bytes Redo Buffers 2973696 bytes Database mounted.

现在进入了数据库的mount状态,我们通过mount启动的时候,下面会多一句提示“Database mounted.” 数据库准备就绪。
open状态
opening the database includes the following tasks
opening the online data log files
opening the onling redo log files
If any of the datafiles or noline redo log files are not present when you attempt to open the database ,the oracle server returns an error.
During this final stage,the oracle server verfies that all the data files and online redo log files can be opened and checks the consistency of the database . If necessary , the SMON background process initiates instance recovery.
-----------------------------------------------------------------------------------------
打开数据库包括下列任务:
打开在线数据日志文件
打开联机重做日志文件
如果任何数据文件或非线性重做日志文件不存在,当您试图打开的数据库,服务器返回错误。
在这最后阶段,该服务器验证所有数据文件和联机重做日志文件可以打开并检查数据库的一致性。如果需要,该系统监控进程开始实例恢复。

[ora10@localhost dbs]$ sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Wed Jul 25 21:50:55 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> conn /as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 205520896 bytes
Fixed Size 1218532 bytes
Variable Size 79693852 bytes
Database Buffers 121634816 bytes
Redo Buffers 2973696 bytes
Database mounted.
Database opened.

在上面的命令中,startup后面不加其它信息的话,系统会为我们直接启动到第4个状态。
数据库关闭的三种方式
1、shutdown normal 正常方式关闭数据库。
2、shutdown immediate 立即方式关闭数据库。
在SVRMGRL中执行shutdown immediate,数据库并不立即关闭,
而是在Oracle执行某些清除工作后才关闭(终止会话、释放会话资源),
当使用shutdown不能关闭数据库时,shutdown immediate可以完成数据库关闭的操作。
3、shutdown abort 直接关闭数据库,正在访问数据库的会话会被突然终止,
如果数据库中有大量操作正在执行,这时执行shutdown abort后,重新启动数据库需要很长时间。
oracle启动过程的更多相关文章
- Oracle学习笔记--Oracle启动过程归纳整理
Oracle 启动过程分为nomount状态mount状态open状态 每个状态下Oracle都会进行不同的操作:1.nomount状态 在$ORACLE_HOME/dbs目录下寻找参数文件 参数文件 ...
- 转载:oracle 启动过程--oracle深入研究
Oracle数据库的启动-nomount状态深入解析 通常所说的Oracle Server主要由两个部分组成:Instance和Database.Instance是指一组后台进程(在Windows上是 ...
- oracle启动过程2
5个目标点(知识点)环境说明,连接实例,hash运算dbs目录文件解释参数文件解释启动过程三阶段实战演练 本次课程目标是讲解oracle实例的启动过程首先了解一下本次实验环境 之前已经创建好了一 ...
- ORACLE 启动过程
1 STARTUP NOMOUNT 1.读取环境变量下dbs目录下的参数文件(spfile/pfile) 查找参数文件的顺序如上面列表的,读取优先级: spfilechongshi.ora > ...
- Oracle 数据库启动过程
一 启动数据库 Oracle启动过程涉及几种模式,这些模式涉及不同的文件,每个状态下数据库做不同的事情,同时这些模式适用于不同的维护需求,主要的模式有三种:NOMOUNT.MOUNT.OPEN. 1 ...
- ORA-01262,oracle启动报错,及Oracle启动原理
错误状态: SQL> startup ORA-01261: Parameter db_recovery_file_dest destination string cannot be transl ...
- Oracle数据库体系结构、启动过程、关闭过程
一.Oracle数据库体系结构体系结构由下面组件组成:1.Oracle服务器(Server):由数据库实例和数据库文件组成,另外在用户建立与服务器的连接时启动服务器进程并分配PGA(程序全局区) (1 ...
- oracle的启动过程(不分模式启动)
Oracle数据库的完整启动过程包含以下3个步骤: 简单地说,就是:启动实例-->加载数据库-->打开数据库. -------------------------------------- ...
- oracle参数文件与启动过程
oracle随系统启动而启动 cs65-64桌面版orcle-11.2.0.4 启动监听器,后台进程,OEM. 注意: 如果只做一和三,只能启动后台进程,监听器不启动,如果只做二和三,只能启动监听器, ...
随机推荐
- nginx location正则写法(转载)
nginx location正则写法 一个示例: location = / { # 精确匹配 / ,主机名后面不能带任何字符串 [ configuration A ] } location / { # ...
- django model 插入数据方法
需要插入的数据表结构如下: class UserInfo(models.Model): user_id =models.AutoField(primary_key=True) user_name=mo ...
- Joyoi花店橱窗(原tyvj1124)
题目:http://www.joyoi.cn/problem/tyvj-1124 两点注意!!! 1.滚动数组的初始化: 2.字典序操作! 感到很有趣!!! #include<iostream& ...
- Ionic 3 自定义组件的使用
1. 创建组件 ionic g component myComponent myComponent为组件名称 创建好后,生成的文件如下图 2. 在Page 中使用 使用的是home 在home.htm ...
- ionic使用常见问题(八)——PHP无法获取$http的post数据
一个简单的post请求 $http.post('do-submit.php',myData) .success(function(){ // some code }); 可是,用angularjs ...
- MySQL5.5.19安装
本文详细介绍了Windows下安装MySQL5.5.19的全过程,希望对初学者有帮助. http://dl.pconline.com.cn/html_2/1/79/id=465&pn=0.h ...
- 两个DataTable关联查询(inner join、left join)C#代码
using System; using System.Collections.Generic; using System.Text; using System.Data; namespace Cons ...
- 设置多个ip ,实现ip欺骗
网关和DNS填写: 使用IP欺骗功能必须得本地有多个可用IP,通常普通的PC机只有一个物理网卡,这就需要我们手工设置多IP绑定同一网卡: a.开始菜单 -> 控制面板 -> ...
- InfluxDB 备份和恢复
InfluxDB操作 . 显示数据库 > show databases > create database test > drop database test . 显示说有表 > ...
- python&pandas 与mysql 连接
1. python 与mysql 连接及操作,直接上代码,简单直接高效: import MySQLdb try: conn = MySQLdb.connect(host='localhost',use ...