linux - 在linux(CENTOS)上为多个ORACLE HOME配置.bash_profile

标签 linux oracle oracle12c centos5

我正在使用带有 CENTOS 5.11 的服务器,并且针对不同的情况我需要使用两个版本的 Oracle。我已经成功安装了 Oracle 10g,但是我想安装 12c,部分原因是为了迁移我的数据库。

问题是我不知道如何配置 .bash_profile,它是按以下方式配置 ORACLE_HOME 的地方:

    ## Oracle Env Settings 
    export TMP=/tmp
    export TMPDIR=$TMP
    export ORACLE_HOSTNAME=oracle.localdomain
    export ORACLE_UNQNAME=MYDB  
    export ORACLE_BASE=/u01/app/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/VERSION/db_1
    export ORACLE_SID=MYDB
    export PATH=/usr/sbin:$PATH          
    export PATH=$ORACLE_HOME/bin:$PATH
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
    export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

我查了一下,在Oracle的文档中只提到安装其他版本只需要安装在另一个ORACLE_HOME中即可。所以,我的问题是,如何在 .bash_profile 中添加新的 ORACLE_HOME? 同样,我是否可以为新安装使用相同的用户和组。

最佳答案

一个很好的问题! 我偶然发现了以下内容:

  1. Ask Tom's solution :

简而言之 - 使用 DBCA 配置第二个安装(它将为您处理这些细节,不用担心监听器)。这意味着当您安装第二个数据库时,只需使用通用安装程序存储文件,然后使用 DBCA 对其进行配置。 .

  1. solution over here .

简而言之 - 为 ORACLE_SIDORACLE_HOME 使用软链接(soft link)。教程真的很长,所以贴在这里没有意义。

  1. 我个人最喜欢的 - 查看 Point1 :-)。

现在说真的 - 如果你只需要通过 .bash_profile 来制作它,只需在其中添加一些 if 语句或为不同的数据库创建一些外部脚本并只获取它们,或者制作 .bash_profile采购时给他们打电话。

总而言之 - 始终通过仅存储文件来“安装”数据库,不要相信安装程序。部署后,运行 DBCA 来配置安装。在所有情况下,它都应该为您处理这些配置。在某些情况下,如果不是全部,DBCA 实际上会为两者设置相同的 ORACLE_HOMEORACLE_SID,但它们会有不同的唯一名称,这您将使用与 sqlplus 的连接来启动/停止它们。 据我所知 - 所有解决方案都围绕着我刚刚在上一段中提到的同一件事。

干杯

关于linux - 在linux(CENTOS)上为多个ORACLE HOME配置.bash_profile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43130268/

相关文章:

sql - Oracle中如何处理1层深度嵌套限制?

sql - 汇总重叠段以测量有效长度

oracle - 不理解 "end of line"字符

java - 如何从java代码运行linux命令?

linux - 如何向平面文件添加日期列

c - C中printk的atomic_long_t的打印格式是什么

linux - ELF标签地址

SQL错误: ORA-01861: literal does not match format string 01861

oracle - 使用没有钱包的 sqlplus 连接到 Oracle 自治数据库

java - 使用hikari连接池时如何解决 "Socket read timed out"