一、概述:

Oracle数据库的启动分为启动数据库实例、装载数据库和打开数据库3个过程,对应数据库的3种模式。

启动数据库实例:根据数据库初始化参数文件中参数设置,在内存中为数据库分配SGA、PGA等内存结构,在内存中为数据库分配SGA、PGA等内存结构,同时启动数据库的后台进程。在

此阶段不检查数据库(物理文件)是否存在。

装载数据库:根据初始化参数文件中的control_files参数的设置,将数据库的控制文件调入内存并打开,从中获取数据库所有数据库文件盒重做日志文件的位置、名称、

状态灯数据库结构信息,为打开数据库做准备。

打开数据库:根据控制文件中的信息,将数据库中所有处于联机状态的数据文件、重做日志文件调入内存中并打开。

数据库关闭的过程与数据库启动的过程是相反的

二、启动Oracle

1.启动数据库前的准备

(1)启动监听服务与数据库服务

在启动数据库之前应该先启动数据库服务器的监听服务以及数据库服务。如果监听服务没有启动,那么客户端无法连接到数据库服务器:如果数据库服务没启动,那么客户端就无法连接到数据库。

在windows下

启动监听服务:lsntctl start

打开数据库服务:Oracle orcl

(2)启动SQL*plus

设置环境变量oracle_sid

启动sql*plus

以sysdba登入

oracle 数据库启动模式数据库,对应数据库启动的第二个过程

open        启动实例、装载并打开数据库

open recover 启动数据库实例进行完全介质恢复操作

force        当数据库启动或关闭过程中出现故障时强制重启数据库

restrict      只有具有restrict session权限的用户可以连接到数据库

(1)startup nomount :根据数据库初始化参数文件中参数设置,在内存中为数据库分配SGA、PGA等内存结构,在内存中为数据库分配SGA、PGA等内存结构,同时启动数据库的后台进程

如果DBA要执行以下的操作,必须将数据库启动到nomount模式下进行

创建一个新的数据库

重建数据库的控制文件

(2)startup mount:根据初始化参数文件中的control_files参数找到数据库的控制文件,读取控制文件获取数据库的物理结构信息,包括数据库文件、重做日志文件等,实现数据库的装载。

如果DBA要执行以下的操作,必须将数据库启动到mount模式下进行

改变数据库的归档模式

执行数据库完全恢复操作

(3)startup open

(4)startup open recover:如果数据库处于归档模式,需要进行完全的介质恢复,可以采用这种启动模式。

(5)startup force:

(6 )start restrict:只有具有restrict session权限的用户可以连接到数据库

通常要执行下列操作时,可以采用startup restrict方式启动数据库

执行数据的导出或导入操作

执行数据装载操作

暂时阻止普通用户连接数据库

进行数据库移植或升级操作

改变数据库的状态

1.改变数据库的启动模式:

alter database open

2.数据库读写状态转换

alter database open read write;

3.数据库的受限与非受限状态转换

alter system enable restricted session;

alter system disable restricted session;

关闭数据库:

1.正常关闭数据库

shutdown normal;

oracle会执行以下操作

阻止任何用户建立新的数据库连接

等待当前所有正在连接数据库的用户主动断开连接

一旦所有用户断开连接,则关闭数据库

数据库下次启动时不需要恢复实例

2.事务关闭数据

shutdown transaction;

组织所有用户建立新的数据库连接,也不允许当前连接用户启动任何新的事务

等待用户回滚或提交任何当前未提交的事务,然后立即断开用户连接

所有用户连接都被断开后,关闭数据库

数据库下一次启动时不需要实例恢复

3.立即关闭数据库

shutdown immediate;

组织所有用户建立新的数据库连接,也不允许当前连接用户启动任何新的事务

回滚数据库中所有当前未提交的事务

终止当前数据库的所有的用户连接,直接关闭数据库

数据库下一次启动时不需要实例恢复

数据库的静默与挂起

1.数据库静默的概念

数据库静默只允许dba用户在数据库中执行查询、更新等事务操作,以及运行pl/sql程序,而其他用户都不能在数据库中执行任何操作。

2.进入静默状态: alter system quiesce restricted;

3.退出静默状态:alter system unquiesce;

数据库的挂起

Oracle数据库还有一个特殊的状态,称为挂起状态。当数据库处于挂起状态时,对数据库的数据文件和控制文件的I/O操作都被暂停。这样就可以保证在没有I/O冲突的状态下进行数据的备份操作。当数据库进入挂起挂起状态时,当前所有的

I/O操作可以继续完成,但是新的操作不会被执行,而是被放到等待队列中。只是暂时停止所有用户的I/O操作。

1.进入挂起状态

alter system suspend;

2.退出挂起状态

alter system resume;

Oracle数据库的启动与关闭的更多相关文章

  1. Oracle数据库的启动和关闭

    深刻理解Oracle数据库的启动和关闭 Oracle数据库提供了几种不同的数据库启动和关闭方式,本文将详细介绍这些启动和关闭方式之间的区别以及它们各自不同的功能. 一.启动和关闭Oracle数据库 对 ...

  2. 深刻理解Oracle数据库的启动和关闭 .

    Oracle数据库提供了几种不同的数据库启动和关闭方式,本文将详细介绍这些启动和关闭方式之间的区别以及它们各自不同的功能. 一.启动和关闭Oracle数据库 对于大多数Oracle DBA来说,启动和 ...

  3. Oracle数据库的启动和关闭实例

    在开始了解oracle数据库的命令之前,先来看一个东西:SQL*PLUS(sqlplus) Oracle的sql*plus是与oracle进行交互的客户端工具.在sql*plus中,可以运行sql*p ...

  4. oracle数据库实例启动与关闭

    区分数据库与实例:实例是指各种内存结构和服务进程,数据库是指基于磁盘存储的数据文件.控制文件.参数文件.日志文件和归档日志文件组成的物里文件集合. 数据库实例启动: startup [nomount ...

  5. oracle数据库的启动、关闭、连接

    登陆数据库 方法一: $ sqlplus / as sysdba [oracle@dev /]$ sqlplus / as sysdba SQL*Plus: Release Production on ...

  6. Linux——oracle数据库实例启动关闭(转)

    -->Oracle 数据库实例启动关闭过程 --================================ [root@robinson ~]# su - oracle --查看未启动实例 ...

  7. Oracle日常运维操作总结-数据库的启动和关闭

    下面是工作中对Oracle日常管理操作的一些总结,都是一些基本的oracle操作和SQL语句写法,在此梳理成手册,希望能帮助到初学者(如有梳理不准确之处,希望指出). 一.数据库的启动和关闭 1.1 ...

  8. Oracle常用命令13(数据库的启动、关闭)

    数据库的启动.关闭 数据库的启动:安装启动.非安装启动.共享启动.独占启动.约束启动.强制启动 --不登陆的方式进入 Sqlplus /nolog 安装启动: Startup {pfile=<f ...

  9. Oracle数据库的启动与停止

    oracle linux下开启与关闭 .启动ORACLE监听 首先要登录用户oracle:su - oracle oracle@localhost bin]$ lsnrctl --启动oracle监听 ...

随机推荐

  1. 一个简单的servlet容器

    [0]README 0.1)本文部分文字转自 “深入剖析Tomcat”,旨在学习  一个简单的servlet容器  的基础知识: 0.2)for complete source code, pleas ...

  2. 冒泡排序-python

    题目: 如果一个list是一组打乱的数字 list1=[3,2,1,9,10,78,6] 如何用python将这组打乱的数字进行冒泡排序? 题解: def sort(nums): for i in r ...

  3. 扩展mysql - 手把手教你写udf

    1 MySQL简介 MySQL是最流行的开放源码SQL数据库管理系统,相对于Oracle,DB2等大型数据库系统,MySQL由于其开源性.易用性.稳定性等特点,受到个人使用者.中小型企业甚至一些大型企 ...

  4. MPEG 编解码相关资料收集

    以下是我搜集的关于MPEG1/2的编解码相关的资料: (注:mpge帧内编码是基于jpeg编码的,所以请务必先理解jpeg的编解码原理.) 1:Introduction to MPEG 2 Video ...

  5. linux命令小结

    查看IP  ip a 测试ip   ping 10.0.0.128 测试端口   telnet 10.0.0.128  22  # telnet + ip + 端口 Linux - CentOS 7. ...

  6. Java_cpu飙升排查

    1.现象 top 2.根据上图找到进程ID=28790 3.查找28790下线占用cpu高的线程ID -o THREAD,tid,time 4.根据上图发现线程ID=29161,换算成16进制 pri ...

  7. 初探webpack之环境配置

    先感叹一句,前端的发展真是太快了,ng和bb还没怎么学好就要过时了.现在感觉react当是未来的一个大方向. 以前一直用的grunt,不过前段时间作者已经停止更新了.正好webpack风头正盛,咱也不 ...

  8. text files and binary files

    https://en.wikipedia.org/wiki/Text_file https://zh.wikipedia.org/wiki/文本文件

  9. $(document).ready() $(window).load 及js的window.onload

    1.$(document).ready()  简写为$(function(){}) DOM结构绘制完成执行,而无需等到图片或其他媒体下载完毕. 2.$(window).load  在有时候确实我们有需 ...

  10. Hash表的C++实现(转)

    原文:Hash表(C++实现) 哈希表的几个概念: 映像:由哈希函数得到的哈希表是一个映像. 冲突:如果两个关键字的哈希函数值相等,这种现象称为冲突. 处理冲突的几个方法: 1.开放地址法:用开放地址 ...