Oracle数据库有MOUNT状态,那么怎么能够形象地理解它呢,能不能打个比喻?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle数据库有MOUNT状态,那么怎么能够形象地理解它呢,能不能打个比喻?相关的知识,希望对你有一定的参考价值。

子弹上膛, 火箭上发射架(mount), 就等其他工序完毕,按按钮发射启动了。
--------------------------------------------------------------------------------------------------------
数据库启动的3个阶段
1. startup
非mount阶段 -->读取init.ora初始化的参数, (按照参数)给进程分配内存

2. mount
读control file控制文件 和找datafile 数据文件的位置(并不打开)
作用: 有些数据恢复是需要这个阶段的, 比如对control file的恢复。
有的recovery 是需要在mount阶段进行的。

3. open
打开数据库。 读取datafile 数据文件。
参考技术A 简单说MOUNT阶段ORACLE加载了控制文件,知道OPEN数据库所需要的数据文件、日志文件等的存放位置。 参考技术B 加载的火箭发射架(安装),对其它过程完成后,按下按钮,启动开始。
---------------------------------------------- -------------------------------------------------- --------

数据库推出的三个阶段

启动

安装阶段 - >在init.ora初始化参数,(根据参数)分配给进程的内存

安装

读取控制文件控制文件和数据文件中的数据文件的位置的(不公开)

作用:一些数据恢复需要在这个阶段,如控制文件恢复。

恢复需要安装阶段。

3。打开
打开数据库。读取数据文件的数据文件。

如何查看ORACLE数据库是不是正常

select
status
from
v$instance;
如果报错不能执行(用dba用户,或者有查看$视图权限的用户),那么就是没启动。
如果结果为nomount,那么就是仅仅搭载了初始文件,分配了内存,但是还没有加载控制文件。
mount就是加载了控制文件。
open就是完全启动了。
除了open意外,其他状态都不算完全启动数据库。
参考技术A 在实际的工作中,数据库管理员(DBA)需要经常要定时对数据库的连接情况进行检查,查看与数据库建立的会话数目是不是正常,假如建立了过多的连接,会消耗许多数据库的资源。与此同时,针对一些“挂死”的连接,可能会需要DBA自行手工进行清理。
下面的SQL语句列出当前数据库建立的会话情况:
select
sid,serial#,username,program,machine,status
from
v$session;
输出的结果:
SID
SERIAL#
USERNAME
PROGRAM
MACHINE
STATUS
----
-------
----------
-----------
---------------
--------
1
1
ORACLE.EXE
WORK3
ACTIVE
2
1
ORACLE.EXE
WORK3
ACTIVE
3
1
ORACLE.EXE
WORK3
ACTIVE
4
1
ORACLE.EXE
WORK3
ACTIVE
5
3
ORACLE.EXE
WORK3
ACTIVE
6
1
ORACLE.EXE
WORK3
ACTIVE
7
1
ORACLE.EXE
WORK3
ACTIVE
8
27
SYS
SQLPLUS.EXE
WORKGROUP\WORK3
ACTIVE
11
5
DBSNMP
dbsnmp.exe
WORKGROUP\WORK3
INACTIVE
其中SID
会话(session)的ID号;
SERIAL#
会话的序列号,和SID一起用来唯一标识一个会话;
USERNAME
建立该会话的用户名;
STATUS
当前这个会话的状态,ACTIVE表示会话正在执行某些任务,INACTIVE表示当前会话没有执行任何操作;
假如要手工断开某个会话,则执行:
alter
system
kill
session
'SID,SERIAL#';注意:在上面的示例中,SID为1到7(USERNAME列为空)的会话,它是Oracle数据库的后台进程,请大家不要对这些会话进行任何操作。

以上是关于Oracle数据库有MOUNT状态,那么怎么能够形象地理解它呢,能不能打个比喻?的主要内容,如果未能解决你的问题,请参考以下文章

如何查看ORACLE数据库是不是正常

oracle:数据库mount状态是啥意思啊?

怎么检查oracle数据库服务有没有启动?

oracle中我只需要对其中某一个字段groupby,其它字段的数据我也要只是不需要groupby

Oracle 日志组迁移

Oracle 本地验证和密码文件