oracle之数据库实例的启动和停止过程

本文详细介绍了Oracle数据库的启动和关闭流程,包括监听程序的管理,数据库启动的三种模式:nomount、mount和open,以及四种关闭模式:normal、immediate、transactional和abort。同时,还讲解了每种模式下可以执行的操作和数据库状态。
摘要由CSDN通过智能技术生成
  1. oracle数据库的启动和停止过程

    一、管理监听程序

    只有具备sysdba和sysoper系统权限的用户才能启动和关闭数据库。在启动数据库之前应先启动监听程序,如果监听程序没有启动就不能利用命令方式来管理数据库,包括启动和关闭数据库。

    启动监听  lsnrctl start

    Oracle数据库的启动和停止过程

  2. 2

    关闭监听  lsnrctl stop

    把监听程序关闭,再查看监听状态时提示监听程序没有打开。

    Oracle数据库的启动和停止过程

  3. 3

    查看监听状态  lsnrctl status

    Oracle数据库的启动和停止过程

  4. 4

    二、启动数据库

    启动数据库命令为startup

    完成的启动过程分为三个步骤:

    启动实例----->加载数据库------>打开数据库

    启动数据库分为以下几种模式:

    1.nomount状态    启动实例,但不加载数据库,但会自动创建跟踪文件。

    命令为  startup nomount;

    通过语句查询出数据库当前的状态,

     

    Oracle数据库的启动和停止过程

  5. 5

    数据库在nomount状态下可以做以下事情。

    (1.1)在NoMount模式下,只能访问那些与SGA区相关的数据字典视图,包括V$PARAMETER、V$SGA、V$PROCESS 和V$SESSION等,这些视图中的信息都是从SGA区中获取的,与数据库无关

    (1.2)可以创建新数据库

    (1.3)可以重建控制文件

  6. 6

    2.mount模式    加载数据库却不打开数据库。

    命令为  alter database mount;  从下图中可以看出  数据库已经切换到mount状态。如果在数据库完全没有启动的情况下是可以直接使用startup mount;来把数据库启动到mount状态的。

    Oracle数据库的启动和停止过程

  7. 7

    数据库在mount状态下可以做以下事情。

                    (2.1)在Mount模式下,只能访问那些与控制文件相关的数据字典视图,包括V$THREAD、V$CONTROLFILE、V$DATABASE、V$DATAFILE 和 V$LOGFILE等

    (2.2)重命名数据文件;

    (2.3)添加、删除或重命名重做日志文件;

    (2.4)执行数据库完全备份与恢复操作;

    (2.5)改变数据库的归档模式。

  8. 8

    3.open模式     打开数据库

    命令  alter databse open;如果在数据库完全没有启动的情况下是可以直接使用startup (open);来把数据库直接启动的。

    Oracle数据库的启动和停止过程

  9. 9

    数据库启动到open状态后可以做以下事情。

    (3.1) 创建数据库对象比如  表空间  视图   序列  用户等,并根据权限对所创建的对象进行修改和删除操作

  10. 10

    4.如何修改数据库的默认打开方式

    数据库默认打开后是read write模式。可读可写。但一般情况在有备用数据库的情况下会把数据库的打开模式更改为只读的模式,这样做是为了安全。下图是修改方法

    Oracle数据库的启动和停止过程

  11. 11

    三、关闭数据库与实例

    关闭数据库与实例也分为3步:关闭数据库-->实例卸载数据库--->终止实例

    关闭模式分为以下几种:

    1.Nomal(正常关闭方式)  建议使用这种方式进行数据库的关闭操作。

    命令:shutdown nomal

    正常方式关闭数据时,Oracle执行如下操作:

    (1)阻止任何用户建立新的连接。

    (2)等待当前所有正在连接的用户主动断开连接

    (3)一旦所有的用户都断开连接,则立即关闭、卸载数据库,并终止实例。

  12. 12

    2.Immediate(立即关闭方式)

    命令:shutdown immediate

    立即关闭数据时,Oracle执行如下操作:

    (1)阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事务。

    (2)Oracle不等待在线用户主动断开连接,强制终止用户的当前事务,将任何未提交的事务回退

    (3)直接关闭、卸载数据库,并终止实例。

    Oracle数据库的启动和停止过程

  13. 13

    3.Transactional(事务关闭方式)

    命令:shutdown transactional

    这种方式介于正常关闭方式跟立即关闭方式之间,响应时间会比较快,处理也将比较得当。执行过程如下:

    (1)阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事务。

    (2)等待所有未提交的活动事务提交完毕,然后立即断开用户的连接。

    (3)直接关闭、卸载数据库,并终止实例。

  14. 14

    4.Abort(终止关闭方式)

    命令:shutdown abort

    这是比较粗暴的一种关闭方式,当前面3种方式都无法关闭时,可以尝试使用终止方式来关闭数据库。但是以这种方式关闭数据库将会丢失一部份数据信息,当重新启动实例并打开数据库时,后台进程SMON会执行实例恢复操作。一般情况下,应当尽量避免使用这种方式来关闭数据库。执行过程如下:

    (1)阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事务。

    (2)立即终止当前正在执行的SQL语句。

    (3)任何未提交的事务均不被退名。

    (4)直接断开所有用户的连接,关闭、卸载数据库,并终止实例。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值