Oracle的启动与停止(三个启动阶段和四种停库模式)

大家都知道Oracle数据库支持各种平台,比较常用的平台是windows8和Linux的centos,redhat平台以及mac平台等等各类平台都支持,因为平台的不同,那么,Oracle的运行方式也有着很大的差异,本文着重就windows平台和Linux的centos,redhat平台说明一下Oracle的启动和停止阶段Oracle所做的一些工作的细节。

windows的Oracle启动和停止:

windows平台下的Oracle相对Linux来说是比较简单的,因为在安装的时候已经将Oracle数据库做成了几个服务,其中比较重要的服务是Oracle的监听服务和Oracle的实例启停服务。

启动Oracle数据库:先启动实例,上图我的实例是 OracleServerTEST这个服务,然后启动监听 TNSListener 这个服务。关闭Oracle数据库:先关闭监听服务,然后关闭实例服务。

Linux的Oracle启动和停止 :

Linux下的Oracle启动一般分为三个阶段,nomount,mount,open。在这三个阶段能做的事是不同的,因此如果数据库有问题需要调试查找,有可能需要启动数据库到不同的阶段,以迅速定位到问题产生的地方。

第一阶段,这一阶段是启动Oracle数据库实例的第一步,所做的工作是标明实例状态,分配内存,以支持后续读取配置文件,Oracle的控制文件这些后续步骤,并写审计文件和警报日志(下面表示启动实例的第一阶段,并查询实例状态),在此阶段,我们可以修改参数,查看内存和后台进程信息,或者创建新的数据库,或者重建控制文件

在这种状态下,可以查询后台进程和实例信息。如:

select * from v$bgporcess;

select * from v$instance;

v$parameter、v$sga、v$process、v$session、v$instance等等

SQL> startup nomount
ORACLE instance started.Total System Global Area 1653518336 bytes
Fixed Size          2213896 bytes
Variable Size         973080568 bytes
Database Buffers      671088640 bytes
Redo Buffers            7135232 bytes
SQL> select status from v$instance;STATUS
------------
STARTED
[root@centos55 dbs]# ps -ef | grep oracle
oracle   21881     1  0 21:34 ?        00:00:00 /home/oracle/app/oracle/product/11.2.0/dbhome_1//bin/tnslsnr LISTENER -inherit
root     24768  2066  0 22:20 pts/0    00:00:00 su - oracle
oracle   24769 24768  0 22:20 pts/0    00:00:00 -bash
oracle   25987     1  0 22:35 ?        00:00:00 ora_pmon_orcl
oracle   25989     1  0 22:35 ?        00:00:00 ora_vktm_orcl
oracle   25993     1  0 22:35 ?        00:00:00 ora_gen0_orcl
oracle   25995     1  0 22:35 ?        00:00:00 ora_diag_orcl
oracle   25997     1  0 22:35 ?        00:00:00 ora_dbrm_orcl
oracle   25999     1  0 22:35 ?        00:00:00 ora_psp0_orcl
oracle   26001     1  0 22:35 ?        00:00:00 ora_dia0_orcl
oracle   26003     1  0 22:35 ?        00:00:00 ora_mman_orcl
oracle   26005     1  0 22:35 ?        00:00:00 ora_dbw0_orcl
oracle   26007     1  0 22:35 ?        00:00:00 ora_lgwr_orcl
oracle   26009     1  0 22:35 ?        00:00:00 ora_ckpt_orcl

第二阶段,进入这一阶段,我们可以 备份,还原,恢复数据库,移动数据库文件,打开或者关闭数据库闪回功能,打开或者关闭归档模式 ,删除数据库,这一阶段所做工作为 加载控制文件到内存

在此状态下:可以执行的命令有:

select * from v$tablespace;命名空间

select * from v$datafile;数据文件

select * from v$database;数据库信息

v$controlfile、v$database、v$datafile、v$logfile

SQL> alter database mount;Database altered.SQL> show parameter nameNAME                     TYPE    VALUE
------------------------------------ ----------- ------------------------------
db_file_name_convert             string
db_name                  string  orcl
db_unique_name               string  orcl
global_names                 boolean     FALSE
instance_name                string  orcl
lock_name_space              string
log_file_name_convert            string
service_names                string  orcl
SQL> select status from v$instance;STATUS
------------
MOUNTED

第三阶段,在mount的基础上根据控制文件的记录打开所有的数据文件和重做日志。可以进行权限范围内的所有操作。

SQL> alter database open;Database altered.SQL> select status from v$instance;STATUS
------------
OPEN

打开数据库还有一种是只读模式,也就是数据库只能查询不可更改,第三阶段的一种变化。物理备份库只能以这种方式打开,主库可以任意方式打开。

SQL> alter database open read only;Database altered.SQL> select status from v$instance;STATUS
------------
OPEN

三个阶段是依次启动,不可跳过任何一个阶段。 startup normal 等于 startup  ,是三个阶段全部一次完成。下面是关闭数据库后 starup一次到位,三个阶段全部完成。可以看到关闭数据库就是三个阶段的反向操作。

SQL> shutdown
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.Total System Global Area 1653518336 bytes
Fixed Size          2213896 bytes
Variable Size         973080568 bytes
Database Buffers      671088640 bytes
Redo Buffers            7135232 bytes
Database mounted.
Database opened.



Oracle数据库的四个停库模式(四个都是在sqlplus这个工具下运行的命令):

1,shutdown normal 等于 shutdown:

不允许新的连接、等待会话结束、等待事务结束、做一个检查点并关闭数据文件。启动时不需要实例恢复。

2,shutdown transactional,这个模式也叫做事物停库模式:

不允许新的连接、不等待会话结束、等待事务结束、做一个检查点并关闭数据文件。启动时不需要实例恢复。

3,shutdown immediate,最常用的停库方式。:

不允许新的连接、不等待会话结束、不等待事务结束、做一个检查点并关闭数据文件。没有结束的事务是自动rollback的。启动时不需要实例恢复。

4,shutdown abort ,等同于主机拔电源操作,会产生脏库,这个操作一般是不使用的,除非特别紧急的情况。:

不允许新的连接、不等待会话结束、不等待事务结束、不做检查点且没有关闭数据文件。启动时自动进行实例恢复。

shutdown force =shutdown abort +startup #关闭后在启动进入的阶段

shutdown force  nomount=shutdown abort +startup nomount#关闭后在启动进入的阶段

shutdown force  mount =shutdown abort +startup mount#关闭后在启动进入的阶段

总结:

所有命令都是在 sqlplus下执行。

启动数据库: 三个阶段命令 依次为: startup nomount  ,alter database mount; alter database open; 以及一个只读打开方式   alter database open read only;

正常的启动方式为 startup  等同于startup normal ,三个阶段一次完成。

关闭数据库:最为常用的关闭命令为,shutdown immediate,其次为shutdown 也就是等同于 shutdown normal,再次为shutdown transactional, 极度不推荐使用 shutdown abort,该命令为危险命令,很有可能数据库损害。特别紧急情况下可尝试使用,包括三个  shutdown force。

Oracle的启动与停止(三个启动阶段和四种停库模式)相关推荐

  1. oracle如何启动和停止服务,CentOS启动和停止服务详解

    CentOS启动和停止服务详解 服务简介 Linux 系统服务是在Linux启 动时自动加载, 服务的添加.删除.自动运行及状态 CAMS 在安装过程中会自动添加相关的服务,例如: service c ...

  2. windows启动和停止mysql_WIN下启动和停止MYSQL命令

    在Windows XP下安装完MySQL后,它就已经自动启动服务了,并且在开始菜单中有其客户端的快捷方式连接,可以通过Windows的服务管理器查看."开始"-"运行&q ...

  3. CentOS 7使用dnf安装Memcached以及启动、停止、开机启动等设置

    1.安装Memcached dnf install memcached 根据提示完成安装 2.启动Memcached 输入以下命令: service memcached start 输出以下内容: R ...

  4. linux系统下制作启动u盘,制作Linux系统启动盘的四种简便方法

    Linux的启动软盘有boot盘和boot/root盘之分,所谓的boot盘只能用来启动已经安装在硬盘上的Linux系统,而boot/root盘本身就是一个迷你Linux系统.Linux启动软盘是系统 ...

  5. 本地计算机t3服务服务启动后停止,T3服务启动后又停止了

    右击"我的电脑"-"管理"-"服务"-找到"用友通"服务,选"启动"的时候仍然提示错误:" ...

  6. 计算机系统的四种启动方式是,详解电脑为何有四种不同的启动设备教程

    通常我们开机的时候都是按F2进BIOS的boot菜单设置启动优先级,或者说开机按F12在启动菜单选择启动设备,下面小编就为大家讲解有关启动设备的教程. 首先我们知道电脑是由很多部件组成的,什么CPU, ...

  7. Hadoop系列(三)MapReduce Job的几种提交运行模式

    Job执行可以分为本地执行或者集群执行.hadoop集群安装部署在远程centos系统中.使用经典的WordCount代码为例. 1. 本地执行模式(本地为MacOS环境),无需启动远程的hadoop ...

  8. PackageManagerService启动详解(三)之开始初始化阶段流程分析

      PKMS启动详解(三)之BOOT_PROGRESS_PMS_START阶段流程分析 Android PackageManagerService系列博客目录: PKMS启动详解系列博客概要 PKMS ...

  9. 4、Proteus仿真STM32串口通信,发送数据控制LED流水灯的启动和停止

    一.实验说明 本次实验建立在第三个实验基础上,稍加修改,通过串口调试助手发送数据到Proteus来实现对流水灯的启动和停止,所以实验采用2个通信串口,实验原理非常简单,只要熟悉第三次实验的过程,就非常 ...

最新文章

  1. sklearn中的朴素贝叶斯模型及其应用
  2. SpringMVC自动将请求参数和入参对象的属性进行一一绑定;要求请求参数的名字和javaBean入参的对象里面的属性名是一样的||员工的增删改查案例
  3. 组策略 之 文件夹重定向
  4. php制作404,利用thinkphp怎么制作一个404跳转页面
  5. python用xlrd怎么清洗数据_利用Python进行数据清洗
  6. asp.net 路径
  7. 总结一些Android好用的开源库
  8. 湘源里面关于缩放的问题
  9. 如何将多张图片合成一个pdf?
  10. oracle的系统字符集,Oracle操作系统和支持-字符集
  11. 用友U8案例实验实际成本后台配置
  12. JQuery——横纵向菜单设计
  13. 2022年第十三届蓝桥杯省赛C/C++B组个人题解
  14. 自动化测试工程师面试简历参考
  15. 【MVC、Spring MVC介绍、区别、执行流程】
  16. 最简单的基于FFMPEG+SDL的音频播放器 ver2 (采用SDL2.0)
  17. 亲身经历3家1000人互联网公司,分享 25 条潜规则!
  18. 实时操作系统UCOS学习笔记5----UCOSIII移植
  19. 秒辞的95后vs不敢辞的中年人,数据分析告诉你员工离职的真正原因!
  20. Puppet:维护运行环境一致性的利器

热门文章

  1. [BIOS] thinkpad X220 BIOS设置详解
  2. Google宣布收购摩托罗拉移动
  3. 315维权大数据报告:手机爆炸事件仍在发生,国民安全受到严重威胁!
  4. 用户微服务用户注册功能实现
  5. 访问需要排队,奇葩网站有木有?
  6. 04 数学软件与建模---最优化模型
  7. 拆解药师帮上市:仍处于尴尬境地,究竟动了谁的奶酪?
  8. 国产GPU添新玩家,AMD出身,两款业界第一7nm芯片曾由他打造
  9. 计算机无法卸载软件,电脑软件无法卸载怎么解决 电脑卸载顽固软件超有用的三种方法...
  10. 实体逆袭电商?数据昭示这个618已迎来拐点