一、概述:

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. 华为终端开放实验室Android Beta 4测试能力上线

    ​​​7月26日,Android P Beta 4发布(即Android P DP5),此版本为开发者最后一个预览版本,也预示着Android P正式版即将与大家见面. 为保证开发者在正式版本来临前做 ...

  2. \sum的写法

    \sum默认上下标是写在右上角和右下角的.在独立公式中,则是写在上面和下面的.对于行内公式,我们也可以强制用\limits让其上下表标出现在上面和下面.Note:\sum\nolimits的作用相当于 ...

  3. Redis的Aof被阻塞原因调查

    背景 Redis是单进程的,为了发挥多核的优势,我们redis集群采用在单台机器上部署多个redis实例,同时对持久化方式做了改进,采用rdb和增量的aof相结合的方式,appendfsync配置为n ...

  4. C++标准库之condition_variable

    conditon_variable(条件变量)用于线程间同步 condition_variable有5个函数,函数名及对应的功能如下: wait阻塞自己,等待唤醒 wait_for阻塞自己,等待唤醒, ...

  5. 操作XML-dom4j

    首先是到dom4j的官网dom4j文件包,下载之后解压如下所示. 在根目录中,找到dom4j-1.6.1jar包,加入到eclipse中的lib文件下,最后build path一下,即可使用相关的方法 ...

  6. ios - 高效,准确的网络检测

    //网络检测 // 1.创建网络监听者管理者对象 AFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager share ...

  7. Laravel 5.1 Blade模板引擎

    为什么要使用blade 它是干什么用的? blade模板引擎使我们写HTML页面的地方,使用它是因为它能给我们提供很多的遍历,减少代码的重复率 提高开发效率.我们写blade的路径是 resource ...

  8. aspx.cs方法设置webmenthod特性接收ajax请求

    cs代码: public partial class TelerikWebMethod : BasePage//System.Web.UI.Page { protected void Page_Loa ...

  9. 使用yum 出现 Loaded plugins: fastestmirror

    使用yum 安装是出现 : Loaded plugins: fastestmirror [root@localhost yum.repos.d]# yum –y install httpd  http ...

  10. csu1326(The contest)

    题目链接:传送门 题目思路:并查集加分组背包 #include <iostream> #include <cstdio> #include <cstdlib> #i ...