Oracle数据库的启动与关闭

一、概述:

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; 

原文地址:https://www.cnblogs.com/evencao/p/3208821.html