Oracle下启动与关闭详解

[oracle@localhost ~]$ sqlplus / as sysdba

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

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

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

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.

猜你喜欢

转载自www.linuxidc.com/Linux/2017-12/149917.htm