Linux下Oracle 11gR2开机自启动操作


Linux下的Oracle在安装结束后是处于运行状态的。开机重启机器后,Oracle不会像在Windows下那样将Oracle添加到Windows服务,在linux下需要手动启动Orcle服务

  1. 以oracle用户下,执行下面的命令 
  2. 进入sqlplus 
  3. $ sqlplus /nolog 
  4. 以sysdba的身份连接到数据库,并启动Oracle数据库引擎 
  5. SQL> conn /as sysdba 
  6. SQL> startup 
  7. 退出sqlplus,运行Listener 
  8. SQL> exit 
  9. $ lsnrctl start 

这样就可以连接到Oracle数据库了。如果想用Oracle提供的EM来管理Oracle的话还需要启动EM控制台,运行如下命令:

  1. $ emctl start dbconsole 

这样就可以通过http://localhost:1158/em/来访问EM控制台了。

使用dbstart和dbstop来启动Oracle服务

安装过程中遇到的问题:

1,安装过程中遇到乱码:

这是因为oracle不支持中文造成的。你可以先使用命令 
export LANG=en将环境临时换成英文,然后再安装。这个环境变量的修改只是临时的,重启后或者使用oracle用户登录时会自己
换回来的

2,如在安装过程中出现如下错误:

[INS-32031]Invalid inventory location

[INS-32033]Central Inventory location is not vritable

解决办法:修改/home/oracle_11的权限

chown -R oracle:oinstall /home/oracle_11就行

 

可能使用dbstart命令来启动数据库更方便一些,但初次安装完oracle之后使用dbstart命令会报这样的错误

  1. ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener 
  2. Usage: /u01/app/oracle/product/11.2/db/bin/dbstart ORACLE_HOME 

出现这样错误的原因是由于没有设置ORACLE_HOME_LISTNER的原因,我们查看一下dbstart这个文件

  1. more  /home/oracle_11/app/oracle/product/11.2/db/bin/dbstart 

部分内容如下

  1. # First argument is used to bring up Oracle Net Listener 
  2. ORACLE_HOME_LISTNER=$1 
  3. if [ ! $ORACLE_HOME_LISTNER ] ; then 
  4.   echo "ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener" 
  5.   echo "Usage: $0 ORACLE_HOME" 
  6. else 
  7.   LOG=$ORACLE_HOME_LISTNER/listener.log 
  8.   # Set the ORACLE_HOME for the Oracle Net Listener, it gets reset to 
  9.   # a different ORACLE_HOME for each entry in the oratab. 
  10.   export ORACLE_HOME=$ORACLE_HOME_LISTNER 

解决方案就算将$ORACLE_HOME赋值给$ORACLE_HOME_LINTNER,保存,退出

再一次执行dbstart,但是没有反映,没有报错,如果我们需要使用dbstart,则需要在/etc/oratab这个文件中的实例最后的N改成Y,如下

  1. orcl:/home/oracle_11/app/oracle/product/11.2/db:Y 

OK,保存,再试一下dbstart命令,返回结果如下

  1. Processing Database instance "orcl": log file /home/oracle_11/app/oracle/product/11.2.0/db_1/startup.log 

dbshut进行同样的设置.这样,以后就可以在启动监听之后直接使用dbstart和dbshut命令来启动和关闭数据了

将Oracle服务添加到Linux开机启动项,以root用户建立/etc/rc.d/init.d/oradb脚本文件,文件内容如下:

  1. #!/bin/bash 
  2. # chkconfig: 2345 90 10 
  3. export ORACLE_BASE=/home/oracle_11/app/ 
  4. export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/db_1 
  5. export ORACLE_SID=orcl 
  6. export PATH=$PATH:$ORACLE_HOME/bin 
  7. ORCL_OWN="oracle" 
  8. # if the executables do not exist -- display error 
  9. if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ] 
  10. then 
  11.    echo "Oracle startup: cannot start" 
  12.    exit 1 
  13. fi 
  14. # depending on parameter -- start, stop, restart 
  15. # of the instance and listener or usage display 
  16. case "$1" in 
  17. start) 
  18. # Oracle listener and instance startup 
  19. echo -n "Starting Oracle: " 
  20. su - $ORCL_OWN -c "$ORACLE_HOME/bin/dbstart" 
  21. touch /var/lock/subsys/oradb 
  22. su - $ORCL_OWN -c "$ORACLE_HOME/bin/emctl start dbconsole" 
  23. echo "OK" 
  24. ;; 
  25. stop) 
  26. # Oracle listener and instance shutdown 
  27. echo -n "Shutdown Oracle: " 
  28. su - $ORCL_OWN -c "$ORACLE_HOME/bin/emctl stop dbconsole" 
  29. su - $ORCL_OWN -c "$ORACLE_HOME/bin/dbshut" 
  30. rm -f /var/lock/subsys/oradb 
  31. echo "OK" 
  32. ;; 
  33. reload|restart) 
  34. $0 stop 
  35. $1 start 
  36. ;; 
  37. *) 
  38. echo "Usage: 'basename $0' start|stop|restart|reload" 
  39. exit 1 
  40. esac 
  41. exit 0 

将该文件添加到开机启动

 

  1. # chmod 755 /etc/rc.d/init.d/oradb 
  2. # chkconfig --add oradb 

重启服务

 

  1. # service oradb stop 
  2. # service oradb start 

下次启动机器的时候,Oracle服务会随机器一起启动。

Oracle数据库安装、配置完成。

Tip:Oracle数据库的默认端口号:1521,Oracle提供的EM管理器默认端口号是1158。

卸载:

oracle在linux下安装时虽然很繁琐,但是卸载却异常简单,只要把相关文件删除即可!!!

oracle11g自带一个卸载批处理home/oracle/product/11.2.0/dbhome_1/deinstall/deinstall

运行该处理文件自动完成卸载oracle卸载工作,最后手动删除\app文件夹

在运行的过程中可能需要填写如下项:

指定要取消配置的所有单实例监听程序[LISTENER]: LISTENER

指定在此oracle主目录中配置的数据库名的列表[MYDATA,ORCL]:MYDATA,ORACL

是否仍要修改MYDATA,ORACL数据库的详细资料?[n]:n

CCR check is finished

是否继续[y-是,n-否]?[n]:y

相关内容

    暂无相关文章