在一台机器上有多个实例,如何快速切换到其他实例呢 ? 以前,我们一般是通过export ORACLE_SID=newsid方式来完成,其实,我们安装了oracle数据库后,数据库已经帮我们创建 了一个脚本 oraenv 来快速帮我们做这个,在切换oracle_sid的同时,还帮我们切换了oracle_home 比如我现在要切换到 emrep. [oracle@dbserver ~]$ . oraenv ORACLE_SID = [orcl] ? emrep The Oracle base remains unchanged with value /u01/app/oracle [oracle@dbserver ~]$ echo $ORACLE_SID emrep [oracle@dbserver ~]$ echo $ORACLE_HOME /u01/app/oracle/product/12.1.0/dbhome_1 [oracle@dbserver ~]$ 我要切换回 orcl呢 [oracle@dbserver ~]$ . oraenv ORACLE_SID = [emrep] ? orcl The Oracle base remains unchanged with value /u01/app/oracle [oracle@dbserver ~]$ echo $ORACLE_SID orcl [oracle@dbserver ~]$ echo $ORACLE_HOME /u01/app/oracle/product/12.1.0/dbhome_1 [oracle@dbserver ~]$ 我想切换到没有的新的实例名呢 比如,我准备新建一个auxdb实例 [oracle@dbserver ~]$ . oraenv ORACLE_SID = [orcl] ? auxdb ORACLE_HOME = [/home/oracle] ? /u01/app/oracle/product/12.1.0/dbhome_1 The Oracle base remains unchanged with value /u01/app/oracle [oracle@dbserver ~]$ echo $ORACLE_SID auxdb [oracle@dbserver ~]$ echo $ORACLE_HOME /u01/app/oracle/product/12.1.0/dbhome_1 [oracle@dbserver ~]$ 这些信息来自哪里呢 其实,他们在 /etc/oratab里面 我们可以把新加的实例添加进去。 [oracle@dbserver ~]$ cat /etc/oratab emrep:/u01/app/oracle/product/12.1.0/dbhome_1:N orcl:/u01/app/oracle/product/12.1.0/dbhome_1:N rcat:/u01/app/oracle/product/12.1.0/dbhome_1:N cdb1:/u01/app/oracle/product/12.1.0/dbhome_1:N 我们添加进去 echo auxdb:/u01/app/oracle/product/12.1.0/dbhome_1:N >> /etc/oratab [oracle@dbserver ~]$ cat /etc/oratab 。。。 emrep:/u01/app/oracle/product/12.1.0/dbhome_1:N orcl:/u01/app/oracle/product/12.1.0/dbhome_1:N rcat:/u01/app/oracle/product/12.1.0/dbhome_1:N cdb1:/u01/app/oracle/product/12.1.0/dbhome_1:N auxdb:/u01/app/oracle/product/12.1.0/dbhome_1:N [oracle@dbserver ~]$ 再次去切换: [oracle@dbserver ~]$ . oraenv ORACLE_SID = [auxdb] ? auxdb The Oracle base remains unchanged with value /u01/app/oracle 好了,到此结束。 |