手工启动:
[oracle@crmdb ~]$ lsnrctl start
[oracle@crmdb ~]$ dbstart
[oracle@crmdb ~]$ emctl start dbconsole
应对shared memory realm does not exist 错误的处理
1、实例没有启动
sqlplus /nolog
connect / as sysdba
startup
*****************************************************
监听器启动出现问题:
ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener
使用oracle用户执行dbstart启动数据库提示如下:
ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener
Usage: /oracle/11g/bin/dbstart ORACLE_HOME
Processing Database instance "orcl": log file /oracle/11g/startup.log
修改dbstart以及dbshut两个文件
--------------------------
第一步:
把ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle注释掉
然后修改/home/oracle/.bash_profile
添加export ORACLE_HOME_LISTNER=$ORACLE_HOME一句
生效变量:
[root@oracle01 ~]# source /home/oracle/.bash_profile
---------------------------
第二步:
#vi /etc/oratab
找到orcl=/u01/app/oracle:N这一行
改为:
orcl=/u01/app/oracle:Y
也就是将最后的N改为Y,意思是将不允许自动启动改为允许自动启动。即可解决问题$
*******************************************************
自动启动的脚本:
**********1******************************
首先修改/etc/oratab文件
#vi /etc/oratab
找到orcl=/u01/app/oracle:N这一行
改为:
orcl=/u01/app/oracle:Y
也就是将最后的N改为Y,意思是将不允许自动启动改为允许自动启动。
**********2************************************
启动了Linux系统之后,转到 /etc/init.d 目录下;
[root@oracle ~]# cd /etc/init.d
使用 vi 命令,新建一个以 oracle 命名的文件(并将以下代码复制至文件中)
[root@oracle init.d]# vi oracle
以下是代码:
曾经出现过一个问题:
“服务不支持 chkconfig”:——这个提示是因为oracle自启动脚本前面必须要有以下这两行
#chkconfig: 2345 00 01
#description:oracle 11g service
--------------------------------------------------------------------------------------------------------------
#!/bin/sh
# chkconfig: 345 61 61
# description: Oracle 11g AutoRun Services
# /etc/init.d/oracle
#
# Run-level Startup script for the Oracle Instance, Listener, and
# Web Interface
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/oracle
export ORACLE_SID=zqaccp
export PATH=$PATH:$ORACLE_HOME/bin
ORA_OWNR="oracle"
# if the executables do not exist -- display error
if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]
then
echo "Oracle startup: cannot start"
exit 1
fi
# depending on parameter -- startup, shutdown, restart
# of the instance and listener or usage display
case "$1" in
start)
# Oracle listener and instance startup
su $ORA_OWNR -lc $ORACLE_HOME/bin/dbstart
echo "Oracle dbserver Start Succesful!OK."
su $ORA_OWNR -lc "$ORACLE_HOME/bin/emctl start dbconsole"
echo "Oracle dbconsole Start Succesful!OK."
su $ORA_OWNR -lc "$ORACLE_HOME/bin/lsnrctl start"
echo "Oracle Listeners Start Succesful!OK."
;;
stop)
# Oracle listener and instance shutdown
su $ORA_OWNR -lc $ORACLE_HOME/bin/dbshut
echo "Oracle Stop Succesful!OK."
;;
reload|restart)
$0 stop
$0 start
;;
*)
echo $"Usage: `basename $0` {start|stop|reload|reload}"
exit 1
esac
exit 0
-------------------------------------------------------------------------------------------------------------
在编辑完成之后,使用 :x 命令保存此文件。
赋予执行权限
[root@oracle init.d]# chmod 750 /etc/init.d/oracle
链接:
[root@oracle init.d]# ln -s /etc/init.d/oracle /etc/rc1.d/K61oracle
[root@oracle init.d]# ln -s /etc/init.d/oracle /etc/rc3.d/S61oracle
执行以下命令:
[root@oracle init.d]# chkconfig --level 345 oracle on
[root@oracle init.d]# chkconfig --add oracle //添加到服务里