找出正在运行的Oracle实例的主目录

找出正在运行的Oracle实例的主目录

我们的系统中有两个oracle目录:

  • 甲骨文
  • 甲骨文

如何找出正在运行的 Oracle 实例使用了其中哪一个?

答案1

有几种方法可以找到它。他们中有一些:

1)最简单的方法是找出数据库进程正在以哪个用户身份运行,然后观察该用户是否设置了某些环境变量:

$ ps aux | grep ora_pmon
orauser    2653  (...)  ora_pmon_DB

$ su - orauser -c "echo \$ORACLE_HOME"
/u21/oracle/product

2) 您可能还有一个/etc/oratab.如果数据库在启动时自动启动,则此文件可能包含$ORACLE_HOME.

3)您可以选择一个oracle进程并找出它的环境:

$ ps aux | grep ora_pmon
orauser    2653  (...)  ora_pmon_DB

$ strings /proc/2653/environ | grep ORACLE_HOME
/u21/oracle/product

请注意,/proc/2653/environ有一个特定的分隔符(显示为^@

4)如果您可以使用数据库访问权限sqlplus,则可以尝试以下技巧:

SQL> @?/foobar.foo

小心!foobar.foo 不应该存在,所以你会收到类似的错误消息/u21/oracle/product/foobar.sql doesn't exist

相关内容