Linux/Unix平台如何查看OS上存在有哪些数据库或实例

其实这是一个不难的问题,由于有同事问到这个问题,我就把这个问题的方法写下来好了,必竟有一个人来问,说不定还有第二个人不会,希望对还不会的或是刚入行的朋友有所帮助吧。

linux/unix平台如何查看OS上存在多少个数据库,查询方法主要有三种,下面分别进行介绍 

1、 通过lsnrctl status命令查看

通过该方法,可以查看已经注册到listener中的数据库实例,在一定程度可以说明OS上存在有命令结果中所列出来的数据库实例,当然未启动的和未注册进来的除外

命令:#su – Oracle

$lsnrctl status

[oracle@oraclelinux ~]$ lsnrctl status

 

LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 04-AUG-2013 06:03:29

Copyright (c) 1991, 2011, Oracle. All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.171.100)(PORT=1521)))

STATUS of the LISTENER

------------------------

Alias LISTENER

Version TNSLSNR for Linux: Version 11.2.0.3.0 - Production

Start Date 04-AUG-2013 05:57:12

Uptime 0 days 0 hr. 6 min. 17 sec

Trace Level off

Security ON: Local OS Authentication

SNMP OFF

Listener Parameter File /dba/oracle/product/11.2.0/db_1/network/admin/listener.ora

Listener Log File /dba/oracle/diag/tnslsnr/oraclelinux/listener/alert/log.xml

Listening Endpoints Summary...

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.171.100)(PORT=1521)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

Services Summary...

Service "litest" has 1 instance(s).

Instance "litest", status READY, has 1 handler(s) for this service...

Service "litestXDB" has 1 instance(s).

Instance "litest", status READY, has 1 handler(s) for this service...

The command completed successfully

从上面表格结果集中,可以看到有一个 “litest”的数据库实例注册到了listener中来了,说明该OS上最少有一个名叫litest的数据库实例存在 

2、通过cat /etc/oratab方式查看

创建数据库或实例时,会在/etc/oratab文件中增加一行记录,哪怕是数据库实例没有启动,用此方法也可以查看得到。如下所示:

命令:#cat /etc/oratab

[root@oraclelinux ~]# cat /etc/oratab

# This file is used by ORACLE utilities. It is created by root.sh

# and updated by either Database Configuration Assistant while creating

# a database or ASM Configuration Assistant while creating ASM instance.

# A colon, ':', is used as the field terminator. A new line terminates

# the entry. Lines beginning with a pound sign, '#', are comments.

#

# Entries are of the form:

# $ORACLE_SID:$ORACLE_HOME:<N|Y>:

#

# The first and second fields are the system identifier and home

# directory of the database respectively. The third filed indicates

# to the dbstart utility that the database should , "Y", or should not,

# "N", be brought up at system boot time.

# Multiple entries with the same $ORACLE_SID are not allowed.

#

litest:/dba/oracle/product/11.2.0/db_1:N

从上面表格中最后一行结果中,可以看出该OS上存在有一个叫litest的数据库(包括实例) 

3、通过ps –ef |grep ora_pmon方式查看

如果数据库或实例已经启动至nomount模式,就会产生pmon进程,所以我们可以通过查看OS是否存在pmon进程的方式来查看有几个数据库实例存在,每一个实例都会有一个pmon进程,如果查到存在有多个pmon进程,就意味着OS上存在着多个数据库实例

命令:# ps -ef |grep pmon

[root@oraclelinux ~]# ps -ef |grep pmon

oracle 3491 1 0 06:10 ? 00:00:00 ora_pmon_litest

root 3528 3459 0 06:11 pts/1 00:00:00 grep pmon

从上面表格中的结果中可以看到,OS上运行着一个名叫“litest”的数据库实例

相关推荐