在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. Cookie 添加,读取,删除

    Name,value – 声明时 new Cookie(key,value); Path        - 默认值,即为当前保存cookie的这个serlvet所在的路径. 如果Cookie在这样的路 ...

  2. 对于js原型和原型链继承的简单理解(第三种,复制继承)

    复制继承:简单理解,就是把父对象上的所有属性复制到自身对象上: function Cat(){ this.climb = function(){ alert("我会爬树"); } ...

  3. DataSet排序

    //排序            if (ds != null && ds.Tables.Count > 0)            {                DataVi ...

  4. 模拟Hibernate动态生成SQL语句

    这里有一个xml配置文件,也就是Hibernate框架中会用到的POJO和数据库的映射文件 <?xml version="1.0" encoding="utf-8& ...

  5. Oracle 存储过程,临时表,动态SQL测试

    --创建事务级别的结果临时表 create global temporary table tmp_yshy( c1 ), c2 ) )on commit delete rows; --创建事务级别的存 ...

  6. wireshark抓一抓,看是不是另一个机器也企图DHCP

    早上的问题,昨晚四点睡,今早九点半起... 到公司处理此问题,不知道相关性大不大..

  7. FJ省队集训最终测试 T3

    思路:状态压缩dp,f[i][j[[k]代表i行j列这个格子,连续的状态为k,这个连续的状态是什么?就是下图 X格子代表我当前走到的地方,而这里的状态就是红色部分,也就是连续的一段n的状态,我们是分每 ...

  8. LeetCode_Maximal Rectangle

    Given a 2D binary matrix filled with 0's and 1's, find the largest rectangle containing all ones and ...

  9. 安装AD15有问题多数是因为旧版本AD软件没有卸载干净,清理方法详解

    论坛中总会看到有些朋友安装AD14.x,AD15.x后,使用不正常,多数情况是因为旧版本的AD软件没有卸载干净,安装新版本AD软件后,就会有问题.卸载和清理AD旧版本软件的方法如下(此方法只能解决卸载 ...

  10. Qt浅谈之四十九俄罗斯方块(代码来自网络)

    一.简介 从网上下载了一个Qt实现的俄罗斯方块单机版的源码,觉得非常有意思,故以博客形式记录下来,以便慢慢来研究.在centos6.6下编译运行(注意程序运行需要读取pro目录的配置文件,若把编译目录 ...