Linux下的Oracle 11gr2安装完成的的自启动操作。

时间:2023-07-22 20:44:08

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