DBA_Oracle Startup / Shutdown启动和关闭过程详解(概念)(对数据库进行各种维护操作)_oracle

一、摘要

Oracle数据库的完整启动过程是分步骤完成的,包含以下3个步骤:

启动实例-->加载数据库-->打开数据库

因为Oracle数据库启动过程中不同的阶段可以对数据库进行不同的维护操作,对应我们不同的需求,所以就需不同的模式启动数据库。

1. Oracle启动需要经历四个状态:SHUTDOWN 、NOMOUNT 、MOUNT 、OPEN

2. Oracle关闭的四种方式:Normal, Immediate, Transactional, Abort

3. 启动和关闭过程详解


 
二、数据库启动过程

1.NoMount 模式(启动实例不加载数据库)

(1). 命令:startup nomount

(2). 讲解:这种启动模式只会创建实例,并不加载数据库,Oracle仅为实例创建各种内存结构和服务进程,不会打开任何数据文件。

               在NoMount模式下,只能访问那些与SGA区相关的数据字典视图,包括VPARAMETER、VSGA、VPROCESS和VSESSION等,这些视图中的信息都是从SGA区中获取的,与数据库无关。

(3). 模式用途:

创建新数据库;
重建控制文件;
2.Mount模式(加载数据库但不打开数据库)

(1). 命令:startup mount

(2). 讲解:这种启动模式将为实例加载数据库,但保持数据库为关闭状态。因为加载数据库时需要打开数据库控制文件,但数据文件和重做日志文件都都无法进行读写,所以用户还无法对数据库进行操作。

                在Mount模式下,只能访问那些与控制文件相关的数据字典视图,包括VTHREAD、VCONTROLFILE、VDATABASE、VDATAFILE 和 V$LOGFILE等,这些视图都是从控制文件中获取的。

(3). 模式用途:

重命名数据文件;
添加、删除或重命名重做日志文件;
执行数据库完全恢复操作;
改变数据库的归档模式;
3.Open模式(正常打开数据库)

(1). 命令:startup [open]

(2). 讲解:正常按3个步骤启动数据库。

(3). 模式用途:

平时不对数据库做什么维护,像只做应用开发,用这个模式就好了;
4.强制启动模式

(1). 命令:startup force

(2). 用途&讲解:

在某些情况下,使用前面的各种模式都无法成功启动数据库时,可以尝试强制启动模式。
5. 其他

使用Alter Database语句,还可以在各启动模式间切换。并且,还可以对数据库设置不同的状态用于不同的操作,如受/非受限抽状态、只读。

三、数据库关闭过程

1. Nomal(正常关闭方式)

(1). 命令:shutdown nomal

(2). 讲解:正常方式关闭数据时,Oracle执行如下操作:

阻止任何用户建立新的连接。
等待当前所有正在连接的用户主动断开连接(此方式下Oracle不会立即断掉当前用户的连接,这些用户仍然操作相关的操作)
一旦所有的用户都断开连接,则立即关闭、卸载数据库,并终止实例。(所以,一般以正常方式关闭数据库时,应该通知所有在线的用户尽快断开连接)
2. Immediate(立即关闭方式)

(1). 命令:shutdown immediate

(2). 讲解:

阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事务。
Oracle不等待在线用户主动断开连接,强制终止用户的当前事务,将任何未提交的事务回退。(如果存在太多未提交的事务,此方式将会耗费很长时间终止和回退事务)
直接关闭、卸载数据库,并终止实例。
3. Transactional(事务关闭方式)

(1). 命令:shutdown transactional

(2). 讲解:这种方式介于正常关闭方式跟立即关闭方式之间,响应时间会比较快,处理也将比较得当。执行过程如下:

阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事务。
等待所有未提交的活动事务提交完毕,然后立即断开用户的连接。
直接关闭、卸载数据库,并终止实例。
4. Abort(终止关闭方式)

(1). 命令:shutdown abort

(2). 讲解:这是比较粗暴的一种关闭方式,当前面3种方式都无法关闭时,可以尝试使用终止方式来关闭数据库。但是以这种方式关闭数据库将会丢失一部份数据信息,当重新启动实例并打开数据库时,后台进程SMON会执行实例恢复操作。一般情况下,应当尽量避免使用这种方式来关闭数据库。执行过程如下:

阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事务。
立即终止当前正在执行的SQL语句。
任何未提交的事务均不被退名。
直接断开所有用户的连接,关闭、卸载数据库,并终止实例。
 
四、案例数据库启动全过程

Step1. SQLPLUS /'as sysdba'

SQL*Plus: Release 10.2.0.1.0 - Production on Sat Mar 3 22:48:27 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to an idle instance.

Step2. Startup nomount

ORACLE instance started.

-->
Total System Global Area 167772160 bytes
Fixed Size         1218316 bytes
Variable Size       104859892 bytes
Database Buffers      58720256 bytes
Redo Buffers        2973696 bytes

oracle@db1:~> ps -ef | grep ora_
oracle 3626 1 0 22:48 ? 00:00:00 ora_pmon_orcl1
oracle 3628 1 0 22:48 ? 00:00:00 ora_psp0_orcl1
oracle 3630 1 0 22:48 ? 00:00:00 ora_mman_orcl1
oracle 3632 1 0 22:48 ? 00:00:00 ora_dbw0_orcl1
oracle 3634 1 0 22:48 ? 00:00:00 ora_lgwr_orcl1
oracle 3636 1 0 22:48 ? 00:00:00 ora_ckpt_orcl1
oracle 3638 1 0 22:48 ? 00:00:00 ora_smon_orcl1
oracle 3640 1 0 22:48 ? 00:00:00 ora_reco_orcl1
oracle 3642 1 0 22:48 ? 00:00:00 ora_cjq0_orcl1
oracle 3644 1 0 22:48 ? 00:00:00 ora_mmon_orcl1
oracle 3646 1 0 22:48 ? 00:00:00 ora_mmnl_orcl1
oracle 3648 1 0 22:48 ? 00:00:00 ora_d000_orcl1
oracle 3650 1 0 22:48 ? 00:00:00 ora_s000_orcl1

Step3. Startup mount

Oracle instance started.
-->
Total System Global Area 167772160 bytes
Fixed Size 1218316 bytes
Variable Size 104859892 bytes
Database Buffers 58720256 bytes
Redo Buffers 2973696 bytes
Database mounted.

Step4. Startup

ORACLE instance started.

-->
Total System Global Area 167772160 bytes
Fixed Size 1218316 bytes
Variable Size 104859892 bytes
Database Buffers 58720256 bytes
Redo Buffers 2973696 bytes
Database mounted.
Database opened.

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索oracle
, shutdown
startup
startup and shutdown、oracle数据库shutdown、数据库shutdown、oracle数据库startup、shutdown命令详解,以便于您获取更多的相关知识。

时间: 2024-09-17 04:43:47

DBA_Oracle Startup / Shutdown启动和关闭过程详解(概念)(对数据库进行各种维护操作)_oracle的相关文章

MySQL关闭过程详解和安全关闭MySQL的方法_Mysql

本文分析了mysqld进程关闭的过程,以及如何安全.缓和地关闭MySQL实例,对这个过程不甚清楚的同学可以参考下. 关闭过程: 1.发起shutdown,发出SIGTERM信号 2.有必要的话,新建一个关闭线程(shutdown thread)    如果是客户端发起的关闭,则会新建一个专用的关闭线程    如果是直接收到 SIGTERM 信号进行关闭的话,专门负责信号处理的线程就会负责关闭工作,或者新建一个独立的线程负责这个事    当无法创建独立的关闭线程时(例如内存不足),MySQL Se

《嵌入式 Linux应用程序开发标准教程(第2版)》——2.2 Linux启动过程详解

2.2 Linux启动过程详解 嵌入式 Linux应用程序开发标准教程(第2版) 在了解了Linux的常见命令之后,下面详细讲解Linux的启动过程.Linux的启动过程包含了Linux工作原理的精髓,而且在嵌入式开发过程中非常需要这方面的知识. 2.2.1 概述 用户开机启动Linux过程如下: (1)当用户打开PC(intel CPU)的电源时,CPU将自动进入实模式,并从地址0xFFFF0000开始自动执行程序代码,这个地址通常是ROM-BIOS中的地址.这时BIOS进行开机自检,并按BI

AIX4.3.3上安装ORACLE9.2过程详解

oracle|过程|详解 (非原创,出自哪里我也不太记得了,共享给大家吧!单纯的安装ORACLE其实非常简单,只要按照下面的步骤,一般都不会有什么问题) AIX 4.3.3 上面安装 oracle 9.2   1. 检查物理内存:(RAM >= 512 MB)  # lsattr -El sys0 -a realmem  realmem 1048576 Amount of usable physical memory in Kbytes False  #  我们的是1G,呵呵,够了  2. 检查

CentOS启动和停止服务详解

  CentOS启动和停止服务详解            服务简介 Linux 系统服务是在Linux启 动时自动加载,并在Linux退出时自动停止的系统任务.在Linux 启动过程中,我们可以看得很多"starting - "提示信息,该信息表示正在启动系统服务;而在Linux 退出时,我们也能够看到相应的"Stopping - "信息,表示系统服务正在停止.Linux自身有许多系统任务,如"network" 服务用于支持网络连接等.CAMS

yum安装CDH5.5 hive、impala的过程详解_Linux

一.安装hive 组件安排如下: 172.16.57.75 bd-ops-test-75 mysql-server 172.16.57.77 bd-ops-test-77 Hiveserver2 HiveMetaStore 1.安装hive 在77上安装hive: # yum install hive hive-metastore hive-server2 hive-jdbc hive-hbase -y 在其他节点上可以安装客户端: # yum install hive hive-server2

Win 2000系统引导过程详解(6)

过程|详解 Boot.ini文件包括[boot loader].[operating systems]两个部分,[boot loader]包括等待时间和默认引导系统两个参数,timeout后边的数字表示等待的秒数,default后边的是默认引导系统的位置.[operating systems]则包括安装的所有系统的ARC(Advanced RISC Computing)引导路径(等于号之前的部分)和他们在菜单上显示出的名字(引号之间的文本),以及启动参数(斜杠后边的部分).下边的表三将详细向您解

Android的init过程详解(一)init的初始化

本文使用的软件版本 Android:4.2.2 Linux内核:3.1.10 本文及后续几篇文章将对Android的初始化(init)过程进行详细地.剥丝抽茧式地分析,并且在其中穿插了大量的知识,希望对读者了解Android的启动过程又所帮助.本章主要介绍了与硬件相关初始化文件名的确定以及属性服务的原理和实现. Android本质上就是一个基于Linux内核的操作系统.与Ubuntu Linux.Fedora Linux类似.只是Android在应用层专门为移动设备添加了一些特有的支持.既然An

Android的init过程详解(一)(转)

  本文使用的软件版本 Android:4.2.2 Linux内核:3.1.10      本文及后续几篇文章将对Android的初始化(init)过程进行详细地.剥丝抽茧式地分析,并且在其中穿插了大量的知识,希望对读者了解Android的启动过程又所帮助.本章主要介绍了与硬件相关初始化文件名的确定以及属性服务的原理和实现.      Android本质上就是一个基于Linux内核的操作系统.与Ubuntu Linux.Fedora Linux类似.只是Android在应用层专门为移动设备添加了

IIS8 使用FastCGI配置PHP环境支持 过程详解

原文:IIS8 使用FastCGI配置PHP环境支持 过程详解   平时帮朋友们配置过一些PHP环境的服务器,但是一直使用的都是Apache HTTP+PHP,今天呢,我吧IIS+PHP配置方式给大家发一下下~呵呵.   在这里,我使用的是FastCGI模块映射的方式配置的,当然还有ISAPI处理程序映射,不过ISAPI的方式在PHP5.5之后就没有了,FastCGI是推荐的方式,效率相对比较高也稳定. 系统我用的是自己的笔记本,Windows 8.1,IIS是8的,当然Windows Serv