0%

Oracle 多实例启动

oracle 服务器上配置了两个实例,orcl和sx21,启动服务的时候需要手动修改一下环境变量ORACLE_SID,在此记录一下。

手动启动

oracle 用户的环境变量.bash_profile

1
2
3
4
5
6
7
8
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.1.0/db_1
ORACLE_SID=orcl
PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH
export LANG=zh_CN.UTF-8
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

查看环境变量

1
2
3
4
[oracle@localhost ~]$ echo $ORACLE_HOME
/u01/app/oracle/product/11.1.0/db_1
[oracle@localhost ~]$ echo $ORACLE_SID
orcl

启动oracle服务

1
2
3
4
5
su - oracle
sqlplus /nolog
sql> conn /as sysdba
sql> startup
sql> exit

修改ORACLE_SID环境变量,再次执行第3步的启动操作

1
export ORACLE_SID=SX21

启动监听服务

1
lsnrctl start

验证

1
[oracle@localhost ~]$ sqlplus sys/password@SX21 as sysdba

oracle

自动启动

修改控制文件

1
2
3
4
vim /etc/oratab
orcl:/u01/app/oracle/product/11.1.0/db_1:Y
sx21:/u01/app/oracle/product/11.1.0/db_1:Y
CQ:/u01/app/oracle/product/11.1.0/db_1:Y

修改dbstart文件

修改第80行: ORACLE_HOME_LISTNER=$1为ORACLE_HOME_LISTNER=$ORACLE_HOME

1
2
3
4
vim /u01/app/oracle/product/11.1.0/db_1/bin/dbstart
……
ORACLE_HOME_LISTNER=$ORACLE_HOME
……

修改dbshut文件

修改第50行: ORACLE_HOME_LISTNER=$1为ORACLE_HOME_LISTNER=$ORACLE_HOME

1
2
3
4
vim /u01/app/oracle/product/11.1.0/db_1/bin/dbshut
……
ORACLE_HOME_LISTNER=$ORACLE_HOME
……

修改开机启动文件

1
2
3
vim /etc/rc.local
su - oracle -lc "/u01/app/oracle/product/11.1.0/db_1/bin/lsnrctl start"
su - oracle -lc "/u01/app/oracle/product/11.1.0/db_1/bin/dbstart"

常用的三个图形控制如下

启动em控制台

1
2
3
emctl start dbconsole
#添加到开机启动文件中
su - oracle -lc "$ORACLE_HOME/bin/emctl start dbconsole"

创建数据库

1
dbca

配置监听

1
2
netca
netmgr