一起学习网 一起学习网

Linux下Oracle自启动配置文件详解 (linux oracle自启动配置文件)

随着科技的发展,计算机已经成为人类生活中必不可少的一部分。在企业应用领域,计算机更是发挥着重要的作用。而Oracle作为目前市场上应用最广泛的数据库,也成为了企业中不可或缺的一部分。

在Linux操作系统中,Oracle的自启动配置文件对于保障Oracle的正常运行和服务的稳定性起着非常重要的作用。在本文中,我们将详细介绍Oracle在Linux下的自启动配置文件,以便我们能够更好地理解并运用它。

1.服务类型分类

Oracle在Linux下的自启动配置文件主要分为三种类型:system V类型、upstart类型和systemd类型。其中,system V类型是最早的服务管理机制,适用于旧版Linux,比较容易理解;upstart类型分布在Ubuntu等一些系统中,是在System V类型的基础上进行了扩展;systemd类型是目前Linux最为广泛使用的一种自启动配置文件。

2.自启动配置文件说明

自启动配置文件主要以“.service”结尾,存放在“/usr/lib/systemd/system”或“/etc/systemd/system”目录下,其中“/usr/lib/systemd/system”目录下存储着系统安装的应用程序的自启动服务文件,而“/etc/systemd/system”目录下存储着用户定义的自启动服务,这样可以避免在更新系统升级时出现覆盖现象,提高了安全性。

自启动文件的文件名格式为“service_name.service”,其中“service_name”代表自启动服务的名称。在配置自启动时必须保证自启动服务的名称与Oracle的实例名称一致,这样才能实现Oracle在系统重启后自动启动。

3.自启动过程详解

Oracle的自启动过程主要包括启动五个Oracle组件:监听器、Oracle实例、Agent、Grid Infrastructure和A实例。其中,监听器、Oracle实例和A实例是必须启动的,而Agent和Grid Infrastructure不是必须启动的。在Linux下Oracle的自启动过程具体为:

3.1 启动监听器

在“/usr/lib/systemd/system”或“/etc/systemd/system”目录下创建名为“dbora.service”的自启动脚本,并通过systemd启动脚本来实现监听器的自启动:

“`

[Unit]

Description=Oracle Database listener

[Service]

ExecStart=/u01/app/oracle/product/12.1.0/dbhome_1/bin/lsnrctl start

ExecStop=/u01/app/oracle/product/12.1.0/dbhome_1/bin/lsnrctl stop

User=oracle

Group=oinstall

Restart=always

[Install]

WantedBy=multi-user.target

“`

3.2 启动Oracle实例

Oracle实例的启动需要使用到“dbstart”脚本,该脚本可以通过在环境变量中添加ORACLE_HOME、ORACLE_SID等参数来实现自启动。在“/etc/systemd/system”目录下创建名为“oracle.service”的自启动脚本:

“`

[Unit]

Description=Oracle RDBMS Server

After=network.target

[Service]

Type=forking

Restart=always

User=oracle

Group=oinstall

ExecStart=/u01/app/oracle/product/12.1.0/dbhome_1/bin/dbstart $ORACLE_HOME

ExecStop=/u01/app/oracle/product/12.1.0/dbhome_1/bin/dbshut $ORACLE_HOME

[Install]

WantedBy=multi-user.target

“`

3.3 启动Agent

Agent在Linux下的自启动过程与监听器、Oracle实例的启动过程类似,不再赘述。

3.4 启动Grid Infrastructure

在创建自启动脚本时,需要先确认在Linux上是否已安装Grid Infrastructure,如果已经安装,则需要对应的修改自启动脚本。

“`

[Unit]

Description=Oracle Restart Service

After=network.target

[Service]

Type=forking

User=oracle

Group=oinstall

ExecStart=/u01/app/grid/12.1.0.1/bin/crsctl start has

ExecStop=/u01/app/grid/12.1.0.1/bin/crsctl stop has

[Install]

WantedBy=multi-user.target

“`

3.5 启动A实例

在启动A实例时,需要在环境变量中添加ORACLE_HOME、ORA_CRS_HOME、ORACLE_SID等参数,以便实现A实例的自启动。

“`

[Unit]

Description=A Instance

After=network.target

[Service]

Type=oneshot

ExecStart=/u01/app/oracle/product/12.1.0/grid/bin/srvctl start a

ExecStop=/u01/app/oracle/product/12.1.0/grid/bin/srvctl stop a

User=grid

Group=oinstall

RemnAfterExit=yes

[Install]

WantedBy=multi-user.target

“`

4.

在Linux下,Oracle自启动配置文件是确保Oracle数据库能够在系统重启后自动启动的关键配置文件。通过本文的介绍,相信读者已经了解了自启动配置文件的作用、文件名称、存放位置以及具体的自启动过程。希望读者在今后的工作和学习中,能够充分运用自启动配置文件,提高Oracle数据库服务的稳定性和可靠性。

相关问题拓展阅读:

  • linux下oracle 自动启动脚本无法运行,提示语法错误

linux下oracle 自动启动脚本无法运行,提示语法错误

只需在etc/rc.local下面加上自启动的命令就可以了,不需单独写脚本

附上自启动的命令

su – oracle -c “SORACLE_HOME/bin/dbstart”

su – oracle -c “SORACLE_HOME/bin/emctl start dbconsole”

这样,实例和OEM都开机自启动了

我试过了,并没有你所说的语法错误,唯一的可能是你没写case的结束标记,

检查下脚本里有没有少 “;;” 和 “esac”

看过你给我发的内容,并没有你上面描述的问题。

建议你先写个小的测试脚本,排除其他的干扰,单独测试下case 。

请确保你的case …esac 语句遵照如下语法:

case “$1” in

pattern1)

Statement(s) to be executed if pattern1 matches

;;

pattern2)

Statement(s) to be executed if pattern2 matches

;;

pattern3)

Statement(s) to be executed if pattern3 matches

;;

esac

##看看你的符不符合:

case “$1” in

start)

command1

;;

stop)

command2

;;

.

.

.

;;

esac

#这样的格式。

#另外后面各个条件中执行的语句语法也检查一下。

linux oracle自启动配置文件的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux oracle自启动配置文件,Linux下Oracle自启动配置文件详解,linux下oracle 自动启动脚本无法运行,提示语法错误的信息别忘了在本站进行查找喔。