【DB笔试面试849】在Oracle中,在没有配置ORACLE_HOME环境变量的情况下,如何获取ORACLE_HOME目录?

时间:2022-07-22
本文章向大家介绍【DB笔试面试849】在Oracle中,在没有配置ORACLE_HOME环境变量的情况下,如何获取ORACLE_HOME目录?,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

问题

在Oracle中,在没有配置ORACLE_HOME环境变量的情况下,如何快速获取数据库软件的ORACLE_HOME目录?

答案

若配置了ORACLE_HOME环境变量,则可以通过“echo $ORACLE_HOME”来直接获取,如下所示:

[oracle@edsir4p1-PROD2 ~]$ echo $ORACLE_HOME
/u01/app/oracle/product/11.2.0/dbhome_1
[oracle@edsir4p1-PROD2 ~]$ sqlplus -v
SQL*Plus: Release 11.2.0.1.0 Production

若没有配置ORACLE_HOME环境变量,则可以通过“more /etc/oratab”来直接获取,如下所示:

[oracle@edsir4p1-PROD2 ~]$ more /etc/oratab 
PROD1:/u01/app/oracle/product/11.2.0/dbhome_1:N
PROD2:/u01/app/oracle/product/11.2.0/dbhome_1:N

若数据库已启动监听程序,则可以通过“ps -ef|grep tns”来直接获取,如下所示:

[oracle@edsir4p1-PROD2 ~]$ ps -ef|grep tns
oracle    5683     1  0 05:30 ?        00:00:00 /u01/app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr LISTENER -inherit
oracle    6344  5357  0 05:48 pts/2    00:00:00 grep tns

另外,若在同一个主机上,安装了不同版本的数据库软件,则可以通过pmap命令来查看ORACLE_HOME的路径,pmap提供了进程的内存映射,用于显示一个或多个进程的内存状态。如下所示:

[root@rhel6lhr ~]# ps -ef|grep pmon
grid      3760     1  0 07:18 ?        00:00:02 asm_pmon_+ASM
oracle   40923     1  0 09:51 ?        00:00:02 ora_pmon_orclasm
oracle   52933     1  0 15:53 ?        00:00:00 ora_pmon_ora10g
root     59716 51804  0 16:15 pts/0    00:00:00 grep pmon
[root@rhel6lhr ~]# pmap 40923 | grep dat
00007f2ab564b000      4K rwxs-  /u01/app/oracle/product/11.2.0/dbhome_1/dbs/hc_orclasm.dat
[root@rhel6lhr ~]# pmap 52933 | grep dat 
00007f1fab8da000      4K rwxs-  /u02/app/oracle/product/10.2.0/dbhome_1/dbs/hc_ora10g.dat

本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗

DB宝分享的IT资料:https://mp.weixin.qq.com/s/Iwsy-zkzwgs8nYkcMz29ag

● 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用

● 作者博客地址:http://blog.itpub.net/26736162/abstract/1/

● 本系列题目来源于作者的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

● 版权所有,欢迎分享本文,转载请保留出处