在root账户下修改/etc/oratab 文件:
# vi /etc/oratab

找到orcl=/db/app/oracle/product/11.1.0/db_1 :N这一行
改为:

orcl=/db/app/oracle/product/11.1.0/db_1 :Y

也就是将最后的N改为Y,意思是将不允许自动启动改为允许自动启动。

然后,是修改ORACLE自带的启动与关闭脚本,分别是dbstart和dbshut。执行这两个脚本就可以实现ORACLE脚本的启动与关闭。

在oracle账户下修改$ORACLE_HOME/bin/dbstart文件:

# su - ORACLE
$ cd $ORACLE_HOME/bin
$ vi dbstart

或者是 vi $ORACLE_HOME/bin/dbstart

找到 ORACLE_HOME_LISTNER=$1这一行
改为:
ORACLE_HOME_LISTNER=$ORACLE_HOME

同样的方式,我们也要修改dbshut的这个参数

编写自动启停脚本,脚本名叫“oracle”,该文件需要保存在/etc/rc.d/init.d目录中。 以root权限编辑

和 .bash_profile 文件中设置相似

#!/bin/bash
# chkconfig: 2345 99 10
# description: Startup Script for
oracle Databases
# /etc/rc.d/init.d/oradbstart
export
ORACLE_BASE=/oracle/app/oracle/
export ORACLE_HOME=/oracle/app/oracle/product/11.2.0/dbhome_1

export ORACLE_SID=orcl  #启动实例名称

export PATH=$PATH:$ORACLE_HOME/bin
case "$1" in
start)
echo
"-----startup oracle-----" >> /var/log/oracle11log
su oracle -c
$ORACLE_HOME/bin/dbstart
touch /var/lock/subsys/oracle11
echo
"-----startup oracle successful-----" >> /var/log/oracle11log
echo
"OK"

stop)
echo "-----shutdwn oracle-----" >>
/var/log/oracle11log
su oracle -c $ORACLE_HOME/bin/dbshut
rm -f
/var/lock/subsys/oracle11
echo "-----shutdown oracle successful-----"
>> /var/log/oracle11log
echo "OK"

*)
echo "Usage:
'basename $0' start|stop"
exit 1
esac
exit 0

给脚本分配可以被执行的权限。执行下面命令:

 代码如下:
#su - root
chown oracle /etc/init.d/oracle11
chmod 775 /etc/init.d/oracle11
 
再创建符号链接文件,命令:
chkconfig --add /etc/init.d/oracle11
 
以上设置过程结束,测试startup时可能会报错
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/initorcl.ora'
 解决办法
将$ORACLE_BASE/admin/你的数据库名称/pfile/init.ora.628201264542(这串数字未必一样)
copy到$ORACLE_HOME/dbs目录下,并改名为你的数据库实例名即可。
cd  进入之后 cp init.ora.628201264542  $ORACLE_HOME/dbs
cd $ORACLE_HOME/dbs  之后 mv init.ora.628201264542  initorcl.ora 
再进行测试
 

linux oracle 设置随系统自动启动数据库实例和监听的更多相关文章

  1. Linux hostname对Oracle实例以及监听的影响

    在Linux平台中,对hostname的修改,是否对ORACLE数据库实例或监听进程有影响呢?如果有影响,又要如何解决问题呢?另外/etc/hosts下相关内容的修改,是否也会影响实例或监听呢?这里涉 ...

  2. linux系统实现多个进程监听同一个端口

    通过 fork 创建子进程的方式可以实现父子进程监听相同的端口. 方法:在绑定端口号(bind函数)之后,监听端口号之前(listen函数),用fork()函数生成子进程,这样子进程就可以克隆父进程, ...

  3. 【Oracle】Oracle安装配置、创建数据库实例及用户和连接

    https://blog.csdn.net/wudiyong22/article/details/78904361 参考资料:https://www.cnblogs.com/hoobey/p/6010 ...

  4. Oracle 12c 创建新的数据库实例、用户

    前提:安装好了Oracle 12c数据库,已有一个数据库实例xe,登录用户/密码:system/oralce 我用的是docker安装的Oracle 12c的实例: docker run --name ...

  5. oracle查看当前用户,数据库实例

    #sysdba用户登录[oracle@oracle ~]$ sqlplus / as sysdba #查看当前用户sql>show user; #查看当前数据库实例sql>show par ...

  6. oracle表复杂查询--创建数据库实例

    n  创建数据库有两种方法: 1)通过oracle提供的向导工具 2)我们可以用手工步骤直接创建 但我们创建完一个新的数据库实例后,在服务中就会有两个新的服务创建,这时,你根据实际需要去启动相应的数据 ...

  7. oracle在cmd中启动数据库实例

    在cmd中启动数据库实例: sqlplus /nolog 回车, conn as sysdba;回车,startup;然后回车

  8. 涂抹Oracle笔记1-创建数据库及配置监听程序

    一.安装ORACLE数据库软件及创建实例OLTP:online transaction processing 指那些短事务,高并发,读写频繁的数据库系统.--DB_BLOCK_SIZE通常设置较小.O ...

  9. Oracle 添加第二个实例 和 监听

    1.添加第二个实例 配置和移植工具 -->Database Configuration Assistant 然后一步一步创建实例(实例名为ORCL2) 创建成功后会在系统的服务里面有个服务名称为 ...

随机推荐

  1. java下tcp的socket连接案例

    package cn.stat.p4.ipdemo; import java.io.BufferedReader; import java.io.IOException; import java.io ...

  2. 第1章 网络编程基础(3)——基本Socket通信

    服务器常用模型

  3. uva 469 - Wetlands of Florida

    题目:给你一个矩阵和某些点,找到给的点所处连续的W区域的面积(八个方向). 分析:搜索.floodfill算法,利用搜索直接求解就可以了. 说明:注意读入数据的格式. #include <cst ...

  4. Oracle—用户管理的备份(二)

    在用户管理的备份(一)中(详见:Oracle—用户管理的备份)对用户管理备份几种情况进行了说明:接下来说明几种特别情况和DBverify的使用. 一.如果在表空间在备份模式下,主机发生了异常关闭,会出 ...

  5. ubuntu下的c/c++环境搭建

    原文地址:http://www.cnblogs.com/hitwtx/archive/2011/12/03/2274556.html ubuntu下的c/c++环境搭建是比较简单,因为有apt和新立得 ...

  6. text-align:justify小例子

    一个使用 text-align: justify; 使元素均匀分布的小例子: <!DOCTYPE html> <html lang="en"> <he ...

  7. MyGeneration 默认设置中没有数据库驱动

    这 个问题的出现基本上是因为MyGeneration 1.3需要的是 .Net framework 4.0,如果系统安装了 .Net 2.0的版本,安装程序执行的 regasm.exe为2.0版本下的 ...

  8. 网站卡死,照惯例运行.bat批量处理文件进行重启不起作用

    网站卡死,照惯例运行.bat批量处理文件进行重启不起作用,进入虚拟机控制台进行虚拟机重启仍然不起作用,通过ping分析物理服务器能ping通,各个虚拟机之前也能ping通,但是不能ping通外部,分析 ...

  9. 对C标准中空白字符(空格、回车符(\r)、换行符(\n)、水平制表符(\t)、垂直制表符(\v)、换页符(\f))的理解

    版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[+]   C标准库里<ctype.h>中声明了一个函数: int isspace(int c); 该函数判断字符c是否 ...

  10. 管理Undo数据

    SQL> select sum(bytes),status from dba_undo_extents group by status; SUM(BYTES) STATUS ---------- ...