阿里数据库切换方案
在一台机器上有多个实例,如何快速切换到其他实例呢 ?
以前,我们一般是通过export ORACLE_SID=newsid方式来完成,其实,我们安装了oracle数据库后,数据库已经帮我们创建 了一个脚本 oraenv 来快速帮我们做这个,在切换oracle_sid的同时,还帮我们切换了oracle_home
比如我现在要切换到 emrep.
[oracle@dbrver ~]$ . oraenv
ORACLE_SID = [orcl] ? emrep
The Oracle ba remains unchanged with value /u01/app/oracle
[oracle@dbrver ~]$ echo $ORACLE_SID
emrep
[oracle@dbrver ~]$ echo $ORACLE_HOME
/u01/app/oracle/product/12.1.0/dbhome_1
富察恒泰
[oracle@dbrver ~]$
我要切换回 orcl呢
[oracle@dbrver ~]$ . oraenv
ORACLE_SID = [emrep] ? orcl
The Oracle ba remains unchanged with value /u01/app/oracle
[oracle@dbrver ~]$ echo $ORACLE_SID
orcl
[oracle@dbrver ~]$ echo $ORACLE_HOME
/u01/app/oracle/product/12.1.0/dbhome_1
[oracle@dbrver ~]$
我想切换到没有的新的实例名呢
比如,我准备新建一个auxdb实例
[oracle@dbrver ~]$ . oraenv
大理崇圣寺三塔
ORACLE_SID = [orcl] ? auxdb
ORACLE_HOME = [/home/oracle] ? /u01/app/oracle/product/12.1.0/dbhome_1
The Oracle ba remains unchanged with value /u01/app/oracle
[oracle@dbrver ~]$ echo $ORACLE_SID
十七夜auxdb
[oracle@dbrver ~]$ echo $ORACLE_HOME
/u01/app/oracle/product/12.1.0/dbhome_1
[oracle@dbrver ~]$
这些信息来自哪里呢
其实,他们在 /etc/oratab里面
我们可以把新加的实例添加进去。
[oracle@dbrver ~]$ 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@dbrver ~]$ cat /etc/oratab
。。。
mrep:/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
uxdb:/u01/app/oracle/product/12.1.0/dbhome_1:N
[oracle@dbrver ~]$以在文言文中的意思
再次去切换:
[oracle@dbrver ~]$ . oraenv
ORACLE_SID = [auxdb] ? auxdb
The Oracle ba remains unchanged with value /u01/app/oracle
好了,到此结束。