查看Oracle版本的Linux命令linux查看oracle版本

我记得有一次我想远程登录公司的服务器并检查我的Oracle数据库的版本。
当时服务器装的是Linux系统,想起之前学过的几条命令来查看Oracle版本。
我打开一个终端,输入 selectfromv$version 并按 Enter。
很快,屏幕上显示的一长串版本信息让我眼花缭乱,从OracleDatabase1 1 gEnterpriseEdition到PL/SQLRelease。
等等,我想我错过了一个命令,但后来我想到,“节目系列中有命令吗?”当我输入 showcon_name 时,数据库名称 BDATA 出现在屏幕上。
这些 Linux 命令似乎是检查 Oracle 版本的好帮手。
但是以下哪个命令更有效?

linux下如何查看oracle上有多少个实例,包括启动了的和未启动的。

说到这些命令行操作,我真是有经验了。
记得当时帮朋友排查Oracle数据库实例的问题时,就用过这个方法。

当时我们是在服务器上操作的。
我打开终端并输入命令 ps -ef | grep smon 该命令的目的是列出所有进程,然后过滤掉包含 smon 字符串的进程。
smon是一个数据库后台进程,所以这个命令可以帮助我们找到所有启动的Oracle实例。

结果出来后,我一看,哇,天哪,居然有十多个例子在运行!当时我有点困惑,因为必然只有一个例子有效。
然后我就开始一一排查,发现有一些实例是之前留下的,所以我手动停止了它们。

对于尚未开始的活动,这可能会很麻烦。
因为我们可以在进程列表中看到启动的实例。
如果没有初始化,我们可以简单的去$ORACLE_HOME/dbs目录下计算init文件。
在这个目录下,每个实例都会有一个对应的init.ora文件。
我当时也统计了一下数字,发现init文件对应的一些实例没有初始化。

有趣的是,如果你有多个$ORACLE_HOME,这可能会让人头疼。
必须一一统计init文件,有点麻烦。
我花了半个多小时才算完。

老实说,虽然这个过程有点繁琐,但是也是解决Oracle实例问题的一个好方法。
不过,现在有了更简单的工具,比如Oracle Enterprise Manager,这种手动操作的情况就不太可能发生了。
不过了解这些基本操作对于维护数据库还是很有帮助的。