Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 590|回复: 0

[默认分类] Linux Oracle服务启动&停止脚本与开机自启动

[复制链接]
  • TA的每日心情
    开心
    2021-12-13 21:45
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2018-7-13 10:48:15 | 显示全部楼层 |阅读模式
    在CentOS 6.3下安装完Oracle 10g R2,重开机之后,你会发现Oracle没有自行启动,这是正常的,因为在Linux下安装Oracle的确不会自行启动,必须要自行设定相关参数,首先先介绍一般而言如何启动oracle。
    一、在Linux下启动Oracle
    登录到CentOS,切换到oracle用户权限
    # su – oracle
    接着输入:
    $ sqlplus "/as sysdba"
    原本的画面会变为
    SQL>
    接着请输入
    SQL> startup
    就可以正常的启动数据库了。

    另外停止数据库的指令如下:
    SQL> shutdown immediate
    二、检查Oracle DB监听器是否正常
    回到终端机模式,输入:
    $ lsnrctl status
    检查看看监听器是否有启动


    如果没有启动,可以输入:

    $ lsnrctl start
    启动监听器

    SQL> conn sys@orcl as sysdba

    然后输入密码,sys以sysdba身份登入数据库。

    三、启动emctl
    另外也可以发现http://localhost.localdomain:1158/em 目前是没有反应的,这边要另外启动,启动的指令如下:
    $ emctl start dbconsole

    这个指令运行时间较长,执行完的画面如下:

    手动启动Oracle数据库完毕,下面创建系统自行启动Oracle的脚本。
    四、Oracle启动&停止脚本
    1. 修改Oracle系统配置文件:/etc/oratab,只有这样,Oracle 自带的dbstart和dbshut才能够发挥作用。
    # vi /etc/oratab
    orcl:/opt/oracle/102:Y

    # Entries are of the form:
    #   $ORACLE_SID:$ORACLE_HOME:<N|Y>:

    2. 在 /etc/init.d/ 下创建文件oracle,内容如下:

    1. #!/bin/sh
    2. # chkconfig: 35 80 10
    3. # description: Oracle auto start-stop script.
    4. #
    5. # Set ORA_HOME to be equivalent to the $ORACLE_HOME
    6. # from which you wish to execute dbstart and dbshut;
    7. #
    8. # Set ORA_OWNER to the user id of the owner of the
    9. # Oracle database in ORA_HOME.
    10. ORA_HOME=/opt/oracle/102
    11. ORA_OWNER=oracle
    12. if [ ! -f $ORA_HOME/bin/dbstart ]
    13. then
    14.     echo "Oracle startup: cannot start"
    15.     exit
    16. fi
    17. case "$1" in
    18. "start")
    19. # Start the Oracle databases:
    20. echo "Starting Oracle Databases ... "
    21. echo "-------------------------------------------------" >> /var/log/oracle
    22. date +" %T %a %D : Starting Oracle Databases as part of system up." >> /var/log/oracle
    23. echo "-------------------------------------------------" >> /var/log/oracle
    24. su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart" >>/var/log/oracle
    25. echo "Done"
    26. # Start the Listener:
    27. echo "Starting Oracle Listeners ... "
    28. echo "-------------------------------------------------" >> /var/log/oracle
    29. date +" %T %a %D : Starting Oracle Listeners as part of system up." >> /var/log/oracle
    30. echo "-------------------------------------------------" >> /var/log/oracle
    31. su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start" >>/var/log/oracle
    32. echo "Done."
    33. echo "-------------------------------------------------" >> /var/log/oracle
    34. date +" %T %a %D : Finished." >> /var/log/oracle
    35. echo "-------------------------------------------------" >> /var/log/oracle
    36. touch /var/lock/subsys/oracle
    37. ;;
    38. "stop")
    39. # Stop the Oracle Listener:
    40. echo "Stoping Oracle Listeners ... "
    41. echo "-------------------------------------------------" >> /var/log/oracle
    42. date +" %T %a %D : Stoping Oracle Listener as part of system down." >> /var/log/oracle
    43. echo "-------------------------------------------------" >> /var/log/oracle
    44. su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop" >>/var/log/oracle
    45. echo "Done."
    46. rm -f /var/lock/subsys/oracle
    47. # Stop the Oracle Database:
    48. echo "Stoping Oracle Databases ... "
    49. echo "-------------------------------------------------" >> /var/log/oracle
    50. date +" %T %a %D : Stoping Oracle Databases as part of system down." >> /var/log/oracle
    51. echo "-------------------------------------------------" >> /var/log/oracle
    52. su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut" >>/var/log/oracle
    53. echo "Done."
    54. echo ""
    55. echo "-------------------------------------------------" >> /var/log/oracle
    56. date +" %T %a %D : Finished." >> /var/log/oracle
    57. echo "-------------------------------------------------" >> /var/log/oracle
    58. ;;
    59. "restart")
    60. $0 stop
    61. $0 start
    62. ;;
    63. esac
    复制代码

    3. 改变文件权限
    # chmod 755 /etc/init.d/oracle
    4. 添加服务
    # chkconfig --level 35 oracle on
    5. 需要在关机或重启机器之前停止数据库,做一下操作
    # ln -s /etc/init.d/oracle /etc/rc0.d/K01oracle   //关机
    # ln -s /etc/init.d/oracle /etc/rc6.d/K01oracle   //重启
    6. 使用方法
    # service oracle start        //启动oracle
    # service oracle stop        //关闭oracle
    # service oracle restart     //重启oracle
    7. 测试
    a. 开机自启动

    1. Last login: Mon Nov 26 19:57:06 2012 from 10.0.0.145
    2. [root@ORS ~]# su - oracle
    3. [oracle@ORS ~]$ sqlplus "/as sysdba"
    4. SQL*Plus: Release 10.2.0.1.0 - Production on Mon Nov 26 20:07:33 2012
    5. Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    6. Connected to:
    7. Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    8. With the Partitioning, OLAP and Data Mining options
    9. SQL> set linesize 300;
    10. SQL> set pagesize 30;
    11. SQL> select * from scott.emp;
    12.      EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
    13. ---------- ---------- --------- ---------- --------- ---------- ---------- ----------
    14.       7369 SMITH      CLERK           7902 17-DEC-80        800                    20
    15.       7499 ALLEN      SALESMAN        7698 20-FEB-81       1600        300         30
    16.       7521 WARD       SALESMAN        7698 22-FEB-81       1250        500         30
    17.       7566 JONES      MANAGER         7839 02-APR-81       2975                    20
    18.       7654 MARTIN     SALESMAN        7698 28-SEP-81       1250       1400         30
    19.       7698 BLAKE      MANAGER         7839 01-MAY-81       2850                    30
    20.       7782 CLARK      MANAGER         7839 09-JUN-81       2450                    10
    21.       7788 SCOTT      ANALYST         7566 19-APR-87       3000                    20
    22.       7839 KING       PRESIDENT            17-NOV-81       5000                    10
    23.       7844 TURNER     SALESMAN        7698 08-SEP-81       1500          0         30
    24.       7876 ADAMS      CLERK           7788 23-MAY-87       1100                    20
    25.       7900 JAMES      CLERK           7698 03-DEC-81        950                    30
    26.       7902 FORD       ANALYST         7566 03-DEC-81       3000                    20
    27.       7934 MILLER     CLERK           7782 23-JAN-82       1300                    10
    28. 14 rows selected.
    29. SQL>
    复制代码


    b. service oracle stop

    1. SQL> Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    2. With the Partitioning, OLAP and Data Mining options
    3. [oracle@ORS ~]$ logout
    4. [root@ORS ~]# service oracle stop
    5. Stoping Oracle Listeners ...
    6. Done.
    7. Stoping Oracle Databases ...
    8. Done.
    9. [root@ORS ~]# su - oracle
    10. [oracle@ORS ~]$ sqlplus "/as sysdba"
    11. SQL*Plus: Release 10.2.0.1.0 - Production on Mon Nov 26 20:17:20 2012
    12. Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    13. Connected to an idle instance.
    14. SQL> set linesize 300;
    15. SQL> set pagesize 30;
    16. SQL> select * from scott.emp;
    17. select * from scott.emp
    18. *
    19. ERROR at line 1:
    20. ORA-01034: ORACLE not available
    21. SQL>
    复制代码


    c. service oracle start

    1. SQL> Disconnected
    2. [oracle@ORS ~]$ logout
    3. [root@ORS ~]# service oracle start
    4. Starting Oracle Databases ...
    5. Done
    6. Starting Oracle Listeners ...
    7. Done.
    8. [root@ORS ~]#
    复制代码


    d. service oracle restart

    1. [root@ORS ~]# service oracle restart
    2. Stoping Oracle Listeners ...
    3. Done.
    4. Stoping Oracle Databases ...
    5. Done.
    6. Starting Oracle Databases ...
    7. Done
    8. Starting Oracle Listeners ...
    9. Done.
    10. [root@ORS ~]#
    复制代码


    至此,Oracle服务启动&停止脚本与开机自启动设置完毕。

    CentOS 6.3(x32)下安装Oracle 10g R2
    http://www.cnblogs.com/mchina/archive/2012/11/06/2737472.html



    David Camp

    技术交流,请加QQ群:

        系统运维技术分享:315871865

    业务合作,请联系作者QQ:562866602
    我的微信号:mchina_tang
    给我写信:mchina_tang@qq.com
    我的地址:江苏·苏州

    我们永远相信,分享是一种美德 | We Believe, Great People Share Knowledge...
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-4-19 19:54 , Processed in 0.418776 second(s), 48 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表