在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. C#Dictionary 实例

    Dictionary<int, string> dc = new Dictionary<int, string>(); dc.Add(, "看了"); dc ...

  2. 武汉科技大学ACM :1001: A + B Problem

    Problem Description Calculate A + B. Input Each line will contain two integers A and B. Process to e ...

  3. poj2486

    题目大意:给出一个树,每个节点有一个值,问从1开始走走k步最多能遍历到最大的值的和:dp[i][j][k] 当i为零是表示如果从j点开始遍历以j为跟的子树,走k步后回到原点的最大值.dp[i][j][ ...

  4. 《APUE》读书笔记第十二章-线程控制

    本章中,主要是介绍控制线程行为方面的内容,同时介绍了在同一进程中的多个线程之间如何保持数据的私有性以及基于进程的系统调用如何与线程进行交互. 一.线程属性 我们在创建线程的时候可以通过修改pthrea ...

  5. html meta标签属性用法集合

    1.<meta name="generator" contect="">用以说明生成工具(如Microsoft FrontPage 4.0)等: 2 ...

  6. Python基础第三天

    三元运算 三元运算又叫三目运算,是对简单的条件语句的缩写,例如if判断 # 标准if判断语法 if 1 == 1: name = "yes" else: name = " ...

  7. Blocks(POJ 3734 矩阵快速幂)

    Blocks Input The first line of the input contains an integer T(1≤T≤100), the number of test cases. E ...

  8. IOS NSURL基本操作-备

    NSURL其实就是我们在浏览器上看到的网站地址,这不就是一个字符串么,为什么还要在写一个NSURL呢,主要是因为网站地址的字符串都比较复杂,包括很多请求参数,这样在请求过程中需要解析出来每个部门,所以 ...

  9. Codeforces 545C Woodcutters

    http://codeforces.com/contest/545/problem/C 题目大意: 给n棵树的在一维数轴上的坐标,以及它们的高度.现在要你砍倒这些树,树可以向左倒也可以向右倒,砍倒的树 ...

  10. qmake使用实践:包含动态库的Qt4工程

    文章来源:http://blog.csdn.net/dbzhang800/article/details/6317006 本文是qmake的一个使用练习,是半年前所学的 分析与学习Qt Solutio ...