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