欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

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

程序员文章站 2024-02-05 11:53:04
...

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::

#

# 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”的数据库实例