阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Oracle下启动与关闭详解

236次阅读
没有评论

共计 3867 个字符,预计需要花费 10 分钟才能阅读完成。

  在 Oracle 下启动与关闭大致都是由 3 个步骤完成,在启动时分别是:启动实例、加载数据库、打开数据库;关闭时分别是:关闭数据库、卸载数据库、关闭 Oracle 实例。所以在 Oracle 因为这种严谨的风格下,使得在平时可以根据不同的情况根据需要,以不同的模式启动和关闭数据库。在这里就简要的说一说 Oracle 下的启动与关闭,在 Oracle 下启动与关闭部分需要使用 sysdba 的身份来执行,最好是服务器上通过系统身份验证的方式操作,如下 Unix 环境中:

[oracle@localhost ~]$ sqlplus / as sysdba

  首先,先来说一下 Oracle 中的启动,启动时所使用的参数如下:

STARTUP [nomount|mount|open|force|resetrict] [prife=filename]

Oracle 在默认是会读取运行用户的家目录下的初始化文件,所以如果使用 prfile 参数就是指定 Oracle 默认读取的初始化文件,这个在以前有提过,在这里就不做过多的说明,需要可以参看:http://www.linuxidc.com/Linux/2017-12/149916.htm

在启动中有以下几种模式启动:

NOMOUNT 模式:表示启动实例并不加载数据库。在这种模式下表示启动 Oracle 的内存结构和服务进程,期间并不加载数据库也不打开数据文件,注意该模式需要有 sysdba 身份权限,该模式通常用于创建新数据库或重建控制文件时使用

SQL> startup nomount
ORACLE instance started.
 
Total System Global Area 4275781632 bytes
Fixed Size                  2260088 bytes
Variable Size             905970568 bytes
Database Buffers         3355443200 bytes
Redo Buffers               12107776 bytes

MOUNT 模式:表示启动实例、加载数据库并保持数据库的关闭状态。在这种模式常常在进行数据维护时使用,如数据的恢复、更改数据库的归档、数据库的系统配置修改等等

SQL> startup mount
ORACLE instance started.
 
Total System Global Area 4275781632 bytes
Fixed Size                  2260088 bytes
Variable Size             905970568 bytes
Database Buffers         3355443200 bytes
Redo Buffers               12107776 bytes
Database mounted.

OPEN 模式:启动实例、加载并打开数据库。平时最常用的模式,要让 Oracle 所有用户正常使用而必须使用的模式,缺省使用 startup 不带任何参数就是使用该模式,也可以使用 open 在其他模式下启动相应的功能

SQL> startup
ORACLE instance started.
 
Total System Global Area 4275781632 bytes
Fixed Size                  2260088 bytes
Variable Size             905970568 bytes
Database Buffers         3355443200 bytes
Redo Buffers               12107776 bytes
Database mounted.
Database opened.

FORCE 模式:表示强制重启数据库,改模式具有一定的强制性,一般在其他模式已失效的情况下启动

SQL> startup
ORACLE instance started.
 
Total System Global Area 4275781632 bytes
Fixed Size                  2260088 bytes
Variable Size             905970568 bytes
Database Buffers         3355443200 bytes
Redo Buffers               12107776 bytes
Database mounted.
Database opened.
SQL> startup force
ORACLE instance started.
 
Total System Global Area 4275781632 bytes
Fixed Size                  2260088 bytes
Variable Size             905970568 bytes
Database Buffers         3355443200 bytes
Redo Buffers               12107776 bytes
Database mounted.
Database opened.

RESETRICT 模式:表示启动数据库实例到限制模式,此时只有管理员和具有 restricted session 权限的用户可以登录数据库,一般用于普通户内部数据维护时使用

SQL> startup restrict
ORACLE instance started.
 
Total System Global Area 4275781632 bytes
Fixed Size                  2260088 bytes
Variable Size             905970568 bytes
Database Buffers         3355443200 bytes
Redo Buffers               12107776 bytes
Database mounted.
Database opened.

  在 Oracle 中有启动就用关闭,下面就来说一说 Oracle 中的关闭,关闭时所使用的参数如下:

SHUTDOWN [normal|transactional|immediate|abort]

NORMAL 方式:正常的关闭方式,期间阻止任何新的连接、等待当前所有用户的 session 主动断开,等所有用户的 session 断开后关闭数据库,做一个检查点并关闭数据文件,重新启动时不需要实例恢复

SQL> shutdown normal
Database closed.
Database dismounted.
ORACLE instance shut down.

TRANSACTIONAL 方式:事务关闭方式,期间阻止任何新的连接、不等待所有用户的 session 断开,等所有用户的事务提交结束后,做一个检查点并关闭数据文件,重新启动时不需要实例恢复

SQL> shutdown transactional
Database closed.
Database dismounted.
ORACLE instance shut down.

IMMEDIATE 方式:顾名思义立即关闭,这种方式下能尽可能短的关闭数据库,期间阻止任何新的连接、不等待所有用户的 session 断开,不等所有用户的事务提交结束,未结束的事务 rollback 回滚,做一个检查点并关闭数据文件,重新启动时不需要实例恢复

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

ABORT 方式:终止关闭方式,期间阻止任何新的连接、不等待所有用户的 session 断开,不等所有用户的事务提交结束,不做检查点且没有关闭数据文件,启动时自动进行实例恢复, 该方式具有一定的破坏性,有可能会丢失部分数据,在平时应该尽量避免使用

SQL> shutdown abort
ORACLE instance shut down.

在这里需要注意的是如果是使用 ABORT 方式关闭数据库时,虽然说下一次重启时会自动进行实例恢复,但是不能保障在重启的期间出现其他问题所以如果使用 ABORT 方式关闭数据库后建议再用 MOUNT 模式启动后再用 IMMEDIATE 方式关闭数据库用来修复数据库,如下

SQL> shutdown abort
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.
 
Total System Global Area 4275781632 bytes
Fixed Size                  2260088 bytes
Variable Size             905970568 bytes
Database Buffers         3355443200 bytes
Redo Buffers               12107776 bytes
Database mounted.
SQL> shutdown immediate
ORA-01109: database not open
 
 
Database dismounted.
ORACLE instance shut down.

更多 Oracle 相关信息见 Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-12/149917.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计3867字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中