在linux(CENTOS)上为多个ORACLE家庭配置.bash_配置文件
我正在使用CENTOS 5.11的服务器,在不同的情况下,我需要使用两个版本的Oracle。我已经成功安装了Oracle 10g,但是我想安装12c,部分是为了迁移我的数据库 问题是我不知道如何配置.bash_配置文件,ORACLE_HOME就是通过以下方式配置的:在linux(CENTOS)上为多个ORACLE家庭配置.bash_配置文件,linux,oracle,oracle12c,centos5,Linux,Oracle,Oracle12c,Centos5,我正在使用CENTOS 5.11的服务器,在不同的情况下,我需要使用两个版本的Oracle。我已经成功安装了Oracle 10g,但是我想安装12c,部分是为了迁移我的数据库 问题是我不知道如何配置.bash_配置文件,ORACLE_HOME就是通过以下方式配置的: ## Oracle Env Settings export TMP=/tmp export TMPDIR=$TMP export ORACLE_HOSTNAME=oracle.localdomain
## 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_主页中安装它。因此,我的问题是,如何在.bash\u配置文件中添加新的ORACLE\u HOME?以及是否可以在新安装中使用相同的用户和组。这是一个很好的问题!
我偶然发现了以下几点:
DBCA
配置第二次安装(它将为您处理这些细节,而不必担心侦听器)。这意味着,在安装第二个DB时,只需将文件存储在Universal Installer中,然后使用配置即可
ORACLE\u SID
和ORACLE\u HOME
使用软链接。这真的是一个很长的教程,所以没有意义粘贴在这里
if
语句,或者为不同的数据库创建一些外部脚本,然后直接对它们进行源代码生成,或者在源代码生成时调用.bash_配置文件即可
总而言之,总是通过存储文件来“安装”数据库,不要信任安装程序。部署后,运行DBCA
配置安装。在所有情况下,它都应该为您处理这些配置。在某些情况下,如果不是全部,DBCA
实际上会为两者设置相同的ORACLE\u HOME
和ORACLE\u SID
,但它们将具有不同的唯一名称,您将使用它们与sqlplus连接以启动/停止它们。
就我所见,所有的解决方案都围绕着我在上面一段中提到的同一件事
Cheers编写两个函数以在两个安装之间切换
export SYS_PATH=$PATH
export TMP=/tmp
export TMPDIR=$TMP
## First Oracle Env Settings
ora1 ()
{
export ORACLE_HOSTNAME=oracle1.localdomain
export ORACLE_UNQNAME=MYDB1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/VERSION/db_1
export ORACLE_SID=MYDB1
export PATH=/usr/sbin:$SYS_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
}
## Second Oracle Env Settings
ora2 ()
{
export ORACLE_HOSTNAME=oracle2.localdomain
export ORACLE_UNQNAME=MYDB2
export ORACLE_BASE=/u02/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/VERSION/db_2
export ORACLE_SID=MYDB2
export PATH=/usr/sbin:$SYS_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
}
使用默认设置:
ora1
并切换到另一个:
ora2
并切换回:
ora1
只需将/etc/oratab的最后两行从N改为Y,即可从数据库切换到另一个数据库。。。跑 。命令提示符下的oraenv无需担心。bash_profile
ora1:/u01/app/oracle/product/11.2.0/db_1:Y
ora2:/u01/app/oracle/product/11.2.0/db_1:Y
.oraenv仅导入Oracle Env。是否涉及其他应用程序,需要相应地设置env;与OracleEnv.bash_配置文件一起使用确实很有帮助