一、概述:

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. 各种排序算法C++

    各种排序算法 插入排序 直接插入排序 void InsertSort(int arr[], int len) { int i, j; int temp; for (i = 1; i < len; ...

  2. Mybatis结果生成键值对

    在实际应用中我们经常会遇到这样的情况,需要给下拉框赋值,这个时候就需要键值对了,具体使用方法如下 1,在maper.xml文件中定义结果类型(resultType)定义为hashmap,如下所示 &l ...

  3. Ubuntu下创建JerBrains系列软件的快捷方式

    以pycharm为例: 终端输入:sudo gedit /usr/share/applications/Pycharm.desktop模板: [Desktop Entry]Type=Applicati ...

  4. OpenCV中Camshitf算法学习(补充)

    结合OpenCV中Camshitf算法学习,做一些简单的补充,包括: 实现全自动跟随的一种方法 参考opencv中的相关demo,可以截取目标物体的图片,由此预先计算出其色彩投影图,用于实际的目标跟随 ...

  5. 通信协议之广播---recvfrom 放回客户端的ip地址第一次全为0.0.0.0

    遇到一个很恶心的问题. while(1) { recvfrom(sockfd, readbuff, UDP_CMD_BUFF_LENGTH - 1, 0, (struct sockaddr *)&am ...

  6. 【转发】linux开发人员常用命令

    每个开发人员到了他们职业人生的某个阶段的时候,将会发现自己要寻找有关Linux的信息.我并不是这方面的专家.但是掌握了以下8个命令,我几乎可以得到我任何需要的东西. 注意:以下的命令都有很多扩展的文档 ...

  7. Android错误——基础篇

    1. Android工程在真机上运行调试: 花了二个小时的时间来把App热部署到小米机上,简直让我寒透了心, 原本是按照网上提供的步骤一步步的做着,没想到小米神机居然出的是什么内测小米助手,两个窗口来 ...

  8. C# 如何判断系统是32位还是64位

    摘自:http://www.cnblogs.com/tom-tong/archive/2012/03/12/2392173.html public static int GetOSBit() { tr ...

  9. Sass mixin 使用css border属性画三角形

    To be finished. //triangle@mixin css-triangle ($direction: "down", $size: 20px, $color: #0 ...

  10. 【转】Gacutil.exe(全局程序集缓存工具)

    全局程序集缓存工具使您可以查看和操作全局程序集缓存和下载缓存的内容. 安装 Visual Studio 和 Windows SDK 时会自动安装此工具. 要运行工具,我们建议您使用 Visual St ...