在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++程序设计教程学习(1)-第一部分 编程基础

    第一章 概述 C++到底难不难学?没有学不会的事情 1.1 程序设计语言 语言 编程语言 人和计算机交流的工具,群体扩大,人人间交流过程描述与信息表达的工具 机器语言,汇编语言,高级语言 1.2 C+ ...

  2. sql server在使用xp_cmdshell

    一.sql server在使用xp_cmdshell读取远程服务器上的文件时,要先将远程服务器的目录映射到本地 代码: exec master..xp_cmdshell  'net use P: \\ ...

  3. web标准(复习)--7 横向导航菜单

    今天我们开始学习html列表,包含以下内容和知识点: 横向列表菜单 用图片美化的横向导航 css Sprites 一.横向列表菜单前边学习过纵向导航菜单,又学习了float属性,那么要实现横向导航菜单 ...

  4. HTML&CSS基础学习笔记1-简单网页中有哪些标签?

    一个简单网页中有哪些HTML标签? 平时我们看到的网页,都是由HTML的标签来组成的.HTML标签非常多,我们先来认识一部分. 1. <html></html>称为根标签,所有 ...

  5. Android surfaceview详解

    周末看<精通Android游戏开发>(Pro Android Games),里面讲到游戏的框架,其中一个重要的概念surfaceview,觉得不是很理解,于是花了一点时间研究了下,写下自己 ...

  6. cf B. Vasya and Public Transport

    http://codeforces.com/contest/355/problem/B #include <cstdio> #include <cstring> #includ ...

  7. ural 1586. Threeprime Numbers

    这道题看着别人的代码写的. #include <cstdio> #include <cstring> #define m 1000000009 using namespace ...

  8. hdu Big Number

    #include <cstdio> #include <cstring> #include <cmath> using namespace std; int mai ...

  9. PHP-FPM的STATUS显示配置

    希望能在优化PHP-FPM方面作一个改进.. 参考URL: http://www.ttlsa.com/php/use-php-fpm-status-page-detail/ http://www.li ...

  10. DPI情况下处理

    1. 字体不要跟着变大小,那就要使用setPixe,不要使用setPointSize 2. 图片可设置QPixmap::setDevicePixelRatio http://doc.qt.io/qt- ...