Oracle的启动和停止

Windows中Oracle服务在“服务”中自动创建一个OracleService[SID_NAME]的服务名,我们可以通过对它的启动停止就可以实现对数据库的操作(不推荐).

Linux与Windows均支持手工操作数据库的启停

一、启动

通过sqlplus以SYSDBA的身份连接后,只需使用STARTUP命令就可以启动数据库

(如果数据库以启动则会报错ORA-01081)

STARTUP命令参数,可组合使用满足不同需求

NOMOUNT

只启动数据库实例

MOUNT

启动实例并加载数据文件

OPEN

启动实例,加载数据文件并打开(默认情况下,不加任何参数即是启动到OPEN状态)

OPEN有两个选项:

OPEN READ ONLY:只读模式打开数据库

OPEN READ WRITE:读写模式打开数据库(默认是READ WRITE)

FORCE

启动数据库,与OPEN选项的区别是,用FORCE选项启动,如果当前数据库已经启动并不会报错,而是自动强制关闭数据库(SHUTDOWN ABORT)后,然后再启动,可以理解FORCE参数等同于RESTART参数

RESTRICT

启动数据库,与OPEN选项的区别是,以这种方式启动数据库后,只有拥有RESTRICTED SESSION权限的用户才能登陆数据库

PFILE

指定PFILE初始化参数文件启动数据库

STARTUP等同于STARTUP NOMOUNT + ALTER DATABASE MOUNT; + ALTER DATABASE OPEN;

数据库加载到OPEN状态前,除了拥有SYSDBA/SYSOPER权限的账号和以操作系统认证方式登陆外,其他用户均无法登陆

二、关闭

停止数据库可以使用SHUTDOWN命令来进行操作

SHUTDOWN命令的参数用法

NORMAL(非常被动)

正常方式关闭数据库,在执行SHUTDOWN命令不指定任何参数的情况下默认应用该选项,这种方式会对数据库执行以下操作

1.禁止用户创建新连接

2.等待到正在连接的用户断开连接

3.关闭数据库、卸载数据库、关闭实例

IMMEDIATE(较为常用)

立刻关闭数据库,这种方式会对数据库执行以下操作

1.所有未提交的事物全部回滚

2.不允许创建新连接

3.已经创建的连接,如果有正在执行的SQL语句则等待其完成

4.关闭数据库、卸载数据库、关闭实例

TRANSACTIONAL

以事物为准的关闭方式,介于NORMAL和IMMEDIATE两者之间的方式,这种方式会对数据库执行以下操作

1.不允许创建新连接

2.已经创建的连接,不允许在产生新的事物

3.等待未提交的事物提交,然后断开连接

4.关闭数据库,卸载数据库,关闭实例

ABORT

中止数据库,这种方式会对数据库指定以下操作

1.中止当前所有执行的SQL

2.所有连接全部断开

3.未提交的事物不进行回滚(等到下次启动时,进行实例恢复)

4.关闭数据库,卸载数据库,关闭实例

猜你喜欢

转载自leadercoo.iteye.com/blog/1948809