### Linux 下设置 Oracle 10g 自动启动服务 #### 方法一:通过配置 `/etc/rc.d/init.d/` 目录下的服务文件实现自动启动 1. **创建服务文件** 在 `/etc/rc.d/init.d/` 目录下创建一个名为 `oracle10g` 的文件,并赋予执行权限。 ```bash touch /etc/rc.d/init.d/oracle10g chmod a+x /etc/rc.d/init.d/oracle10g ``` 2. **编辑服务文件** 使用文本编辑器打开 `oracle10g` 文件,并输入以下内容: ```bash #!/bin/bash # # whoami # root # chkconfig: 345 5149 # description: starts the oracle database daemons # ORA_HOME=/opt/oracle ORA_OWNER=oracle case "$1" in 'start') echo -n "Starting oracle10g: " su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart" & su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start" touch /var/lock/subsys/oracle10g echo ;; 'stop') echo -n "Shutting down oracle10g: " su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut" & su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop" rm -f /var/lock/subsys/oracle10g echo ;; 'restart') echo -n "Restarting oracle10g: " $0 stop $0 start echo ;; *) echo "Usage: oracle10g {start|stop|restart}" exit 1 ;; esac exit 0 ``` 3. **启动服务** 完成编辑后,将服务添加到系统启动列表,并查看是否添加成功: ```bash /sbin/chkconfig --add oracle10g /sbin/chkconfig --list oracle10g ``` 4. **验证服务** 重启系统后,检查服务是否成功启动。如果在启动日志中看到“Oracle”字样且状态为“OK”,则表示服务已成功自动启动。 #### 方法二:通过创建 `/etc/rc.d/init.d/oracle10g` 脚本来实现自动启动 1. **创建并编辑脚本文件** 以 root 用户身份创建 `/etc/rc.d/init.d/oracle10g` 文件,并设置适当的环境变量。 ```bash #!/bin/bash # # chkconfig: 359 51 # description: init script to start/stop oracle database 10g, TNS listener, EMS, iSQL*Plus # # export ORACLE_BASE=/home/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/10.1.0/db_1 export PATH=$PATH:$ORACLE_HOME/bin export NLS_LANG='AMERICAN_AMERICA.ZHS16GBK' export ORACLE_SID=esales export ORACLE_USER=oracle case "$1" in start) su - "$ORACLE_USER" << EOO lsnrctl start sqlplus /nolog << EOS connect / as sysdba startup EOS emctl start dbconsole isqlplusctl start EOO ;; stop) su - "$ORACLE_USER" << EOO lsnctl stop sqlplus /nolog << EOS connect / as sysdba shutdown immediate EOS emctl stop dbconsole isqlplusctl stop EOO ;; *) echo "Usage: $0 {start|stop}" ;; esac ``` 2. **设置权限与添加服务** 为该脚本文件设置执行权限,并将其添加到系统启动列表。 ```bash chmod 755 /etc/rc.d/init.d/oracle10g chkconfig --add oracle10g ``` 3. **重启服务** 重启服务以确保一切正常工作。 ```bash service oracle10g stop service oracle10g start ``` #### 方法三:修改 `/etc/oratab` 文件实现自动启动 1. **修改 `/etc/oratab` 文件** 使用 root 用户权限修改 `/etc/oratab` 文件,找到对应 Oracle 10g 实例的条目,并将其状态改为 “Y”。 ```bash vi /etc/oratab orcl:/ORACLE/app/product/10.2.0/db_1:N ``` 修改为: ```bash orcl:/ORACLE/app/product/10.2.0/db_1:Y ``` 通过以上三种方法之一,可以实现在 Linux 系统下 Oracle 10g 数据库服务的自动启动。每种方法都有其特点,可以根据实际需求选择合适的方式。无论是通过编写自定义脚本还是修改系统配置文件,都能有效提高系统的自动化水平,减少人工干预的需求,从而提高效率和可靠性。
- 粉丝: 1
- 资源: 20
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助