安装多个ORACLE导致多个Oracle HOME的情况!

摘要:
如果系统中安装了多个ORACLE产品,则注册表中也可能有多个ORACLEHOMES。哪个ORACLEHOME是默认值?其中SOFTWAREORACLEALL_HOMESDEFAULT_HOME是默认的ORACLEHOME,使用default_HHOME值,可以获得默认的oracle实例名称。在多实例环境中,默认情况下,PLSQL将连接到默认实例的OracleHomeName。如何更改默认ORACLE_HOME,可以在键值中设置HKEY_LOCAL_MACHINESOFTWAREEORACLEALL_HOMESDEFAULT_HOME修改为HOMEX_HOME_NAME中的相应ORACLE

Oracle由于版本的不同,在注册表中产生的注册表信息也有所不同,但主要的键值信息还是一样的,例如Oracle10g比oracle9i在注册表中表现的更为“简洁”,在未知的情况下,获取Oracle10g的相关信息,需要模糊查询一下键值 

SOFTWAREORACLEKey_*

Key_后面跟着是OracleHomeName的信息,默认情况如 KEY_OraDb10g_home1

而9i在注册表中的表现比较直接,可以查询这个

SOFTWAREORACLEALL_HOMESORACLE_COUNTER

这个值比较直观的告诉你 ,当前机器上有多少个Oracle实例,可以通过HOME(X为数字)找到对应的值,HOME0或HOME1或HOME2...中的ORACLE_HOME_NAME找到对应值。

如果系统里安装了多个ORACLE产品,那么在注册表里,有可能也会有多个ORACLE HOME,默认的是哪个ORACLE HOME?

其中在SOFTWAREORACLEALL_HOMESDEFAULT_HOME这个值就是默认的ORACLE HOME,有了DEFAULT_HOME的值,就可以获取默认的oracle实例名。

PLSQL如果在多实例的环境下 会默认连接默认实例的Oracle Home Name。

每获取到一个Oracle Home Name 都能获取到Oracle Home 的安装路径(为下面做伏笔)。

如何想要更改默认的ORACLE_HOME,可以在键值

把HKEY_LOCAL_MACHINESOFTWAREORACLEALL_HOMESDEFAULT_HOME修改成HOMEX里对应的ORACLE_HOME_NAME。

 注:注册表查询的起始位置是HKEY_LOCAL_MACHINE。

另:plsql在连接oracle数据库时 通常都能找到机器上所创建的数据库名,有多少就能查到多少,这是为什么呢,它都还没连接到Oracle上呢。

因为plsql也是先查询了注册表信息后(结合了上面说的查询过程),得到oracle的安装目录,然后读取 NETWORKADMIN 下的tnsnames.ora这个文件,来获取该实例下有多少个数据名的信息。有兴趣的可以打开这个文件看一下,然后在打开plsql,连接之前 数据库下拉框里的信息是否跟这个文件的信息一致呢!

如果你也想读取都数据库名的信息,怎么读?

直接读。。。?

不能这么强硬的,要温柔,可以利用正则表达式,较好的把数据库名的信息(而且仅读数据库名的信息)并显示出来,像plsql一样。

 ======================================================================

好吧,就说这些,完全有可能写的不对,我也是凭印象写,如果错误,请指正!

免责声明:文章转载自《安装多个ORACLE导致多个Oracle HOME的情况!》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇前端动态表单的处理方法ovs bond下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

处理因ASM实例异常导致RAC第一节点实例异常终止故障

遭遇RAC第一节点实例由于ASM实例异常导致数据库实例非正常停止,记录在此。1.故障现象两节点RAC第一节点实例停止,经检查ASM实例亦异常终止。2.故障分析检查数据库实例及ASM实例的的alert寻找处理思路。1)alert日志内容Sun May 8 06:59:06 2011Errors in file /oracle/app/oracle/admin...

Oracle的表空间和数据文件

一、 概念  表空间:是一个或多个数据文件的逻辑集合 表空间逻辑存储对象: 永久段-->如表与索引 临时段-->如临时表数据与排序段 回滚段-->用于事物回滚或闪回内存的撤销数据 表空间分类:系统表空间(system、sysaux),非系统表空间 一个表空间至少包含一个数据文件,一个数据文件只能属于一个表空间。 不可或缺的几个表空间:...

plsql 导出查询结果

  点击青色按钮即可 说明:   会将查询到的所有数据导出到指定文件,并不是只导出下面列表显示的几行数据;   也不用点击"获取最后页"那个按钮。 注意:   当你选择导出为excel文件时,需要注意   默认导出为*.xlsx格式,你可以选择*.xls格式,但是   *.xls格式(office 2003),只能容纳65536行数据,如果你要导出...

oralce 菜鸟总结

1、Oracle 中默认的日期格式:DD-Mon-RR 2、SELECT  (SYSDATE-to_date('2010-01-01','yyyy-mm-dd'))/7 AS WEEKS from dual; 3、如果只是计算两个日期的月份的话为double行结果: select months_between(sysdate,to_date('2010-0...

定时导出Oracle数据表到文本文件的方法

该实例实现了通过windows定时任务来实现了将数据库中指定数据表数据导出为txt文本格式。其思路是通过可执行的bat文件去调用导出数据脚本,然后再在windows定时任务中调用该bat文件来实现。该示例需要能够运行的sqlplus环境,因此需要安装Oracle客户端等可运行环境。     实现了将数据库中日志表数据导出到指定文件夹下的.log文件,且该文...

Oracle进程说明

ORACLE有五大核心进程 1.DBWn进程:用来将buffer cache中的脏数据写入到硬盘中数据文件中,可以有多个该进程,进行同时的并发写入。   当sga中的数据缓冲区的数据块被修改后,该数据块就会被标记为脏块,当数据缓冲区的空间不足时,就会触发该进程把脏块写入到数据文件, 读取脏块时也是有lru规则,并不是将所有脏块一次写入数据文件中,当满足下...