Oracle下启动与关闭

前端之家收集整理的这篇文章主要介绍了Oracle下启动与关闭前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

[oracle@localhost~]$sqlplus/assysdba

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

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

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

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

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

sql>startupnomount
ORACLEinstancestarted.

TotalSystemGlobalArea4275781632bytes
FixedSize2260088bytes
VariableSize905970568bytes
DatabaseBuffers3355443200bytes
RedoBuffers12107776bytes

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

sql>startupmount
ORACLEinstancestarted.

TotalSystemGlobalArea4275781632bytes
FixedSize2260088bytes
VariableSize905970568bytes
DatabaseBuffers3355443200bytes
RedoBuffers12107776bytes
Databasemounted.

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

sql>startup
ORACLEinstancestarted.

TotalSystemGlobalArea4275781632bytes
FixedSize2260088bytes
VariableSize905970568bytes
DatabaseBuffers3355443200bytes
RedoBuffers12107776bytes
Databasemounted.
DatabaSEOpened.

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

sql>startup
ORACLEinstancestarted.

TotalSystemGlobalArea4275781632bytes
FixedSize2260088bytes
VariableSize905970568bytes
DatabaseBuffers3355443200bytes
RedoBuffers12107776bytes
Databasemounted.
DatabaSEOpened.
sql>startupforce
ORACLEinstancestarted.

TotalSystemGlobalArea4275781632bytes
FixedSize2260088bytes
VariableSize905970568bytes
DatabaseBuffers3355443200bytes
RedoBuffers12107776bytes
Databasemounted.
DatabaSEOpened.

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

sql>startuprestrict
ORACLEinstancestarted.

TotalSystemGlobalArea4275781632bytes
FixedSize2260088bytes
VariableSize905970568bytes
DatabaseBuffers3355443200bytes
RedoBuffers12107776bytes
Databasemounted.
DatabaSEOpened.

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

SHUTDOWN[normal|transactional|immediate|abort]

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

sql>shutdownnormal
Databaseclosed.
Databasedismounted.
ORACLEinstanceshutdown.

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

sql>shutdowntransactional
Databaseclosed.
Databasedismounted.
ORACLEinstanceshutdown.

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

sql>shutdownimmediate
Databaseclosed.
Databasedismounted.
ORACLEinstanceshutdown.

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

sql>shutdownabort
ORACLEinstanceshutdown.

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

sql>shutdownabort
ORACLEinstanceshutdown.
sql>startupmount
ORACLEinstancestarted.

TotalSystemGlobalArea4275781632bytes
FixedSize2260088bytes
VariableSize905970568bytes
DatabaseBuffers3355443200bytes
RedoBuffers12107776bytes
Databasemounted.
sql>shutdownimmediate
ORA-01109:databasenotopen


Databasedismounted.
ORACLEinstanceshutdown.

猜你在找的Oracle相关文章