关于数据库的各种启动和关闭命令一直感觉有些混乱,现整理一下。
一、数据库的启动 :
Oracle 的启动分为三个步骤:分别是启动实例、加载数据库 、打开数据库。可以根据自己的实际需要来开启数据库
语法是startup
1、nomount 模式
SQL> startup nomount
ORACLE instance started.
Total System Global Area 830930944 bytes
Fixed Size 2257800 bytes
Variable Size 536874104 bytes
Database Buffers 285212672 bytes
Redo Buffers 6586368 bytes
这种启动方式只创建实例
(即创建Oracle实例的各种内存结构和服务进程),并不加载数据库也不会打开数据文件。
这种模式一般适用于在创建数据库和控制文件。
2、mount 模式
SQL> startup mount
ORACLE instance started.
Total System Global Area 830930944 bytes
Fixed Size 2257800 bytes
Variable Size 536874104 bytes
Database Buffers 285212672 bytes
Redo Buffers 6586368 bytes
Database mounted.
这种模式将启动实例
,加载数据库并保存数据库的关闭模式
一般用于数据库维护时,比如:执行数据库完全恢复操作,更改数据库的归档模式等
3、open 模式
SQL> startup
ORACLE instance started.
Total System Global Area 830930944 bytes
Fixed Size 2257800 bytes
Variable Size 536874104 bytes
Database Buffers 285212672 bytes
Redo Buffers 6586368 bytes
Database mounted.
Database opened.
这种模式就是将启动实例,加载并打开数据库
。 这是常规的打开数据库的方式,只要用户想要对数据库进行多种操作,必须采取这种方式打开,(用open模式打开数据库)startup后面不需要加参数的。
4、force 模式
SQL> startup force
ORACLE instance started.
Total System Global Area 830930944 bytes
Fixed Size 2257800 bytes
Variable Size 536874104 bytes
Database Buffers 285212672 bytes
Redo Buffers 6586368 bytes
Database mounted.
Database opened.
这种模式将终止实例并重新启动数据库(open)
,这种模式具有一定的强制性(比如在其他启动模式失效的时候可以尝试这种模式)
二 、数据库的关闭:
关闭也分为三步,包括:关闭数据库、卸载数据库、关闭Oracle实例
语法是shutdown
1、normal
SQL> shutdown normal
Database closed.
Database dismounted.
ORACLE instance shut down.
这种属于正常关闭模式
(前提没有时间限制、通常会选择这种方式来关闭数据库)
2、immediate
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
这种方式成为立即关闭数据库
,尽可能在最短的时间里关闭数据库。
在这种关闭方式下,Oracle不但会立即中断当前用户的连接,而且会强行终止用户的当前活动事物,将未完成的事物回退,以立即关闭方式关闭数据库。
3、transactional
SQL> shutdown transactional
Database closed.
Database dismounted.
ORACLE instance shut down.
这种方式称作为事物关闭方式
,它的首要任务是要能保证当前所有的活动事物都可以被提交并在最短的时间内关闭数据库。
4、abort
SQL> shutdown abort
ORACLE instance shut down.
慎重!慎重!慎重!(重要的事情说三遍)
这种方式被称为终极关闭
方式,终极关闭方式具有一定的强制性和破坏性,使用这种方式会强制中断任何数据库操作,这样可能会丢失一部分数据信息,影响到数据库的完整性。
(如果其他三种方法无法关闭时再使用此方法。 谨慎使用!)