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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何查看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数据库是不是正常的主要内容,如果未能解决你的问题,请参考以下文章

oracle连接数过多 如何释放

请教oracle如何限制这个用户的连接数

如何查看oracle当前连接数,会话数

windows下如何监控oracle服务是不是正常,监听是不是正常,log有无报错?

如何查询oracle某个时间的连接数

如何查看oracle数据库某一张表的最大连接数