
在Oracle中,在没有配置ORACLE_HOME环境变量的情况下,如何快速获取数据库软件的ORACLE_HOME目录?
若配置了ORACLE_HOME环境变量,则可以通过“echo $ORACLE_HOME”来直接获取,如下所示:
1[oracle@edsir4p1-PROD2 ~]$ echo $ORACLE_HOME
2/u01/app/oracle/product/11.2.0/dbhome_1
3[oracle@edsir4p1-PROD2 ~]$ sqlplus -v
4SQL*Plus: Release 11.2.0.1.0 Production
若没有配置ORACLE_HOME环境变量,则可以通过“more etc/oratab”来直接获取,如下所示:
1[oracle@edsir4p1-PROD2 ~]$ more /etc/oratab
2PROD1:/u01/app/oracle/product/11.2.0/dbhome_1:N
3PROD2:/u01/app/oracle/product/11.2.0/dbhome_1:N
若数据库已启动监听程序,则可以通过“ps -ef|grep tns”来直接获取,如下所示:
1[oracle@edsir4p1-PROD2 ~]$ ps -ef|grep tns
2oracle 5683 1 0 05:30 ? 00:00:00 /u01/app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr LISTENER -inherit
3oracle 6344 5357 0 05:48 pts/2 00:00:00 grep tns
另外,若在同一个主机上,安装了不同版本的数据库软件,则可以通过pmap命令来查看ORACLE_HOME的路径,pmap提供了进程的内存映射,用于显示一个或多个进程的内存状态。如下所示:
1[root@rhel6lhr ~]# ps -ef|grep pmon
2grid 3760 1 0 07:18 ? 00:00:02 asm_pmon_+ASM
3oracle 40923 1 0 09:51 ? 00:00:02 ora_pmon_orclasm
4oracle 52933 1 0 15:53 ? 00:00:00 ora_pmon_ora10g
5root 59716 51804 0 16:15 pts/0 00:00:00 grep pmon
6[root@rhel6lhr ~]# pmap 40923 | grep dat
700007f2ab564b000 4K rwxs- /u01/app/oracle/product/11.2.0/dbhome_1/dbs/hc_orclasm.dat
8[root@rhel6lhr ~]# pmap 52933 | grep dat
900007f1fab8da000 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/
● 本系列题目来源于作者的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解
● 版权所有,欢迎分享本文,转载请保留出处
● QQ:646634621 QQ群:230161599、618766405
● 微信:lhrbestxh
● 微信公众号:DB宝
● 提供Oracle OCP、OCM、高可用(rac+dg+ogg)和MySQL最实用的技能培训
● 题目解答若有不当之处,还望各位朋友批评指正,共同进步

长按下图识别二维码或微信扫描下图二维码来关注小麦苗的微信公众号:DB宝,学习最实用的数据库技术。



文章转载自DB宝,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




