Oracle的启动和关闭

        数据库的启动和关闭是最容易出现故障的地方。

一、系统权限

        sysdba、sysoper是数据库中的两个超级权限,启动和关闭数据库需要这两个权限,sysdba权限包括:

1.启动、关闭数据库;

2.修改数据库,包括打开、装载、备份、修改字符集等;

3.创建数据库;

4.删除数据库;

等等。

二、数据库启动过程

        oracle数据库启动经历3个阶段:启动实例(start an instance)、装载数据库(mount the database)、打开数据库(open the database)。

1.启动实例(start an instance)

        Oracle会读取一个参数文件(或者是PFILE、或者是SPFILE),Oracle根据参数文件中的参数,分配一片内存区域(SGA),然后启动一系列的后台进程(数据库写入进程、日志写入进程、检查点进程、系统监控进程、进程监控进程、归档进程等),内存和进程就组成了所谓的实例。每一个进程都有自己的名字(SID)。实例启动完毕,数据库还没有跟实例关联,数据库处于NOMOUNT状态,数据库还不可访问。

         PFILE是文本文件,SPFILE是二进制文件。它们的内容相同,只是格式不一样。oracle推荐使用SPFILE。

        SPFILE存放在:%oracle_home%\database路径下,默认名字是spfile$oracle_sid.ora。

        Oracle的启动和关闭_第1张图片

2.装载数据库(mount the database)

        Oracle根据参数文件的参数找到控制文件(Control File),从控制文件中获得数据文件(datafile)和重做日志文件(redo log file)的名字及位置。此时,实例与数据库已经关联起来,数据库处于mount阶段,但是,普通用户还是访问不了数据库。这个阶段主要是用于数据库的维护(如恢复数据库等)

3.打开数据库(open the database)

         Oracle打开数据文件和重做日志文件,这个时候数据库可以使用,普通用户可以登录数据库。

以上三个步骤可以逐步打开,即

1.启动到nomount状态
--startup nomount;

2.启动到mount状态
--startup mount;

3.打开数据库
--alter database open;

 

三、数据库关闭

        oracle数据库关闭的四种方式有abort、immediate、normal、transactional。

1.IMMEDIATE方式使用频率最高的方式,最安全的方式。

2.ABORT方式是最快的方式,也是最不安全的方式。

3.NORMAL方式不是很常用,也是最慢的方式,可能一直都关闭不了。

4.TRANSACTIONAL方式不会使得客户端的数据丢失。关闭过程比较慢。

 

你可能感兴趣的:(ORACLE)