Oracle启动的整个过程

时间:2021-06-30 16:19:35

Oracle启动的整个过程

1.启动选项

在发出startup命令启动数据库时,oracle将在默认位置$ORACLE_HOME/dbs(UNIX/Linux)中查找初始化参数文件。Oracle将以下面的顺序在其中寻找合适的初始化文件:

Spfile$ORACLE_SID.ora

Spfile.ora

Init$ORACLE_SID.ora

可以用几种方式启动oracle数据库。不同方式启动将影响启动数据库的程度。启动状态由nomount(数据库未装载)——>mount(数据库完成装载)——>open(数据库打开)

1.1 STARTUP NOMOUNT命令

SQL> startup nomount;
ORACLE instance started. Total System Global Area 167387136 bytes
Fixed Size 1343668 bytes
Variable Size 150998860 bytes
Database Buffers 12582912 bytes
Redo Buffers 2461696 bytes

--Oracle读参数文件(里面有控制文件目录),打开实例,启动Oracle后台进程,给Oracle分配SGA。此时数据库状态为未装载。

可以在SQL*Plus会话中使用STARTUP NOMOUNT命令启动实例,这样启动仅有实例运行。如果以这种方式启动,将不读控制文件,而且数据文件也不打开。操作系统启动Oracle后台进程,并且给oracle分配SGA。事实上,只有实例本身在运行。

1.2 STARTUP MOUNT命令

SQL> startup mount;
ORACLE instance started. Total System Global Area 167387136 bytes
Fixed Size 1343668 bytes
Variable Size 150998860 bytes
Database Buffers 12582912 bytes
Redo Buffers 2461696 bytes
Database mounted.

--Oracle 打开并读取控制文件(里面有数据文件和日志文件的目录),获取数据文件和重做日志文件的名称和位置。此时数据库完成装载。

在启动过程中,oracle把实例与数据库关联。Oracle打开并读取控制文件,获取数据文件和重做日志文件的名称和位置。在进行诸如全数据库恢复、更改数据库的归档日志模式或重命名数据文件这一类的活动时,通常需要以安装模式启动数据库。请注意,这三种操作都要求oracle访问数据文件,但不提供对文件的用户操作。

1.3 STARTUP [OPEN]命令

SQL> startup open
ORACLE instance started. Total System Global Area 167387136 bytes
Fixed Size 1343668 bytes
Variable Size 150998860 bytes
Database Buffers 12582912 bytes
Redo Buffers 2461696 bytes
Database mounted.
Database opened.

--Oracle打开数据文件和重做日志文件,才能对外(所有有效用户)提供数据库服务。

启动过程的最后一步是打开数据库。当数据库以打开模式启动时,所有有效用户可以连接到数据库,执行数据库操作。在此步骤之前,一般用户根本就不能连接到数据库。通过发布下面的命令让数据库出于打开模式。