zoukankan      html  css  js  c++  java
  • Linux Oracle服务启动&停止脚本与开机自启动

    在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,内容如下:

    复制代码
    #!/bin/sh
    # chkconfig: 35 80 10
    # description: Oracle auto start-stop script.
    
    #
    # Set ORA_HOME to be equivalent to the $ORACLE_HOME
    # from which you wish to execute dbstart and dbshut;
    #
    # Set ORA_OWNER to the user id of the owner of the
    # Oracle database in ORA_HOME.
    ORA_HOME=/opt/oracle/102
    ORA_OWNER=oracle
    if [ ! -f $ORA_HOME/bin/dbstart ]
    then
        echo "Oracle startup: cannot start"
        exit
    fi
    case "$1" in
    'start')
    # Start the Oracle databases:
    echo "Starting Oracle Databases ... "
    echo "-------------------------------------------------" >> /var/log/oracle
    date +" %T %a %D : Starting Oracle Databases as part of system up." >> /var/log/oracle
    echo "-------------------------------------------------" >> /var/log/oracle
    su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart" >>/var/log/oracle
    echo "Done"
    
    # Start the Listener:
    echo "Starting Oracle Listeners ... "
    echo "-------------------------------------------------" >> /var/log/oracle
    date +" %T %a %D : Starting Oracle Listeners as part of system up." >> /var/log/oracle
    echo "-------------------------------------------------" >> /var/log/oracle
    su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start" >>/var/log/oracle
    echo "Done."
    echo "-------------------------------------------------" >> /var/log/oracle
    date +" %T %a %D : Finished." >> /var/log/oracle
    echo "-------------------------------------------------" >> /var/log/oracle
    touch /var/lock/subsys/oracle
    ;;
    
    'stop')
    # Stop the Oracle Listener:
    echo "Stoping Oracle Listeners ... "
    echo "-------------------------------------------------" >> /var/log/oracle
    date +" %T %a %D : Stoping Oracle Listener as part of system down." >> /var/log/oracle
    echo "-------------------------------------------------" >> /var/log/oracle
    su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop" >>/var/log/oracle
    echo "Done."
    rm -f /var/lock/subsys/oracle
    
    # Stop the Oracle Database:
    echo "Stoping Oracle Databases ... "
    echo "-------------------------------------------------" >> /var/log/oracle
    date +" %T %a %D : Stoping Oracle Databases as part of system down." >> /var/log/oracle
    echo "-------------------------------------------------" >> /var/log/oracle
    su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut" >>/var/log/oracle
    echo "Done."
    echo ""
    echo "-------------------------------------------------" >> /var/log/oracle
    date +" %T %a %D : Finished." >> /var/log/oracle
    echo "-------------------------------------------------" >> /var/log/oracle
    ;;
    
    'restart')
    $0 stop
    $0 start
    ;;
    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. 开机自启动

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

    b. service oracle stop

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

    c. service oracle start

    复制代码
    SQL> Disconnected
    [oracle@ORS ~]$ logout
    [root@ORS ~]# service oracle start
    Starting Oracle Databases ... 
    Done
    Starting Oracle Listeners ... 
    Done.
    [root@ORS ~]# 
    复制代码

    d. service oracle restart

    复制代码
    [root@ORS ~]# service oracle restart
    Stoping Oracle Listeners ... 
    Done.
    Stoping Oracle Databases ... 
    Done.
    
    Starting Oracle Databases ... 
    Done
    Starting Oracle Listeners ... 
    Done.
    [root@ORS ~]# 
    复制代码

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

  • 相关阅读:
    dubbo入门(一)
    java中文件操作《一》
    Unity 游戏框架搭建 2019 (七) 自定义快捷键
    凉鞋:我所理解的框架 【Unity 游戏框架搭建】
    Unity 游戏框架搭建 2019 (六) MenuItem 复用
    Unity 游戏框架搭建 2019 (五) 打开所在文件夹
    Unity 游戏框架搭建 2019 (四) 导出 UnityPackage
    Unity 游戏框架搭建 2019 (三) 生成文件名到剪切板
    Unity 游戏框架搭建 2019 (二) 文本复制到剪切板
    Unity 游戏框架搭建 2019 (一) 简介与第一个示例文件名的生成
  • 原文地址:https://www.cnblogs.com/simplelogic/p/3473227.html
Copyright © 2011-2022 走看看