linux 启动实例 linux嵌入式软件开发

各位老铁们,大家好,今天由我来为大家分享linux 启动实例,以及linux嵌入式软件开发的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

如何把oracle服务加到linux启动项

Linux下建立Oracle服务及其开机自启动

说明:以下操作环境在CentOS 6.4+ Oracle 11gR2(Oracle安装在ORACLE_BASE=/opt/oracle中,其ORACLE_HOME=/opt/oracle/11g)

用OUI安装并配置Oracle数据库后,Oracle就开启了(包括:数据库实例、监听器、EM)。在重启操作系统之后,Oracle默认是没有启动的。使用如下命令查看Oracle相关服务是否已启动:

ps aux| grep ora_#若无ora_**_**相关的进程,则oracle数据库实例未启动

netstat-tlnup| grep 1521#若无任何显示,则监听器未启动

lsnrctl status#查看监听器状态

netstat-tlnup| grep 1158#若无任何显示,则EM未启动

emctl status dbconsole#查看EM状态

手工启动Oracle实例,可用sqlplus建立一个idle instance,然后再用startup启动,如下:

数据库实例启动之后,需启动监听器,才能让远程用户建立连接。可使用如下命令启动监听器:

lsnrctl start

Oracle还提供网页版的管理器,要使用该管理器需启动相关服务,使用如下命令启动:

emctl start dbconsole

至此,可在web浏览器中输入:https://{主机IP或主机名或本地localhost}:1158/em,打开管理器,使用相关帐号登录进行数据库查看和管理。

如果每次重启操作系统都要进行以上操作好麻烦,那么如何让Oracle作为系统服务在开机的时候自动启动呢?

Oracle在$ORACLE_HOME/bin下提供许多对数据库进行操作的脚本,其中dbstart和dbshut可分别用来启动和关闭数据库。注意,这两个脚本已包含监听器的启动或关闭,但并未对EM进行相关的操作。使用如下命令:

/opt/oracle/11g/bin/dbstart/opt/oracle/11g#启动数据库实例(包含监听器)

/opt/oracle/11g/bin/dbshut/opt/oracle/11g#关闭数据库实例(包括监听器)

以上命令要成功启动数据库实例还得打开Oracle设置的一个关卡:vi/etc/oratab,修改行:

orcl:/opt/oracle/11g:Y#默认为orcl:/opt/oracle/11g:N

以root身份建立开机启动oracle服务的脚本:vi/etc/init.d/oracle,添加如下脚本:

复制代码

#!/bin/sh

#chkconfig: 2345 20 80

#description: Oracle dbstart/ dbshut

#以上两行为chkconfig所需

ORA_HOME=/opt/oracle/11g

ORA_OWNER=oracle

LOGFILE=/var/log/oracle.log

echo"#################################">>${LOGFILE}

date+"###%T%a%D: Run Oracle">>${LOGFILE}

if [!-f${ORA_HOME}/bin/dbstart ]|| [!-f${ORA_HOME}/bin/dbshut ]; then

echo"Error: Missing the script file${ORA_HOME}/bin/dbstart or${ORA_HOME}/bin/dbshut!">>${LOGFILE}

echo"#################################">>${LOGFILE}

exit

fi

start(){

echo"###Startup Database..."

su-${ORA_OWNER}-c"${ORA_HOME}/bin/dbstart${ORA_HOME}"

echo"###Done."

echo"###Run database control..."

su-${ORA_OWNER}-c"${ORA_HOME}/bin/emctl start dbconsole"

echo"###Done."

}

stop(){

echo"###Stop database control..."

su-${ORA_OWNER}-c"${ORA_HOME}/bin/emctl stop dbconsole"

echo"###Done."

echo"###Shutdown Database..."

su-${ORA_OWNER}-c"${ORA_HOME}/bin/dbshut${ORA_HOME}"

echo"###Done."

}

case"$1" in

'start')

start>>${LOGFILE}

;;

'stop')

stop>>${LOGFILE}

;;

'restart')

stop>>${LOGFILE}

start>>${LOGFILE}

;;

esac

date+"###%T%a%D: Finished.">>${LOGFILE}

echo"#################################">>${LOGFILE}

echo""

复制代码

使用如下命令将/etc/init.d/oracle置为可执行文件:

chmod a+x/etc/init.d/oracle

至此,可使用如下命令对oracle进行启动和关闭

/etc/init.d/oracle start#启动oracle(包括数据库实例、监听器、EM)

/etc/init.d/oracle stop#关闭oracle

/etc/init.d/oracle restart#重启oracle

将 oracle添加到 chkconfig中:

chkconfig--add oracle

可使用如下命令查看和设置oracle服务的开机启动级别:

chkconfig| grep oracle#查看oracle服务的开机启动级别

chkconfig--level 24 oracle off#修改oracle服务的开机启动级别

chkconfig--level 35 oracle on

至此可使用如下命令对oracle的启动或关闭进行管理

service oracle start#启动

service oracle stop#关闭

service oracle restart#重启

建立连接:

ln-s/etc/init.d/oracle/etc/rc0.d/K01oracle#关机执行

ln-s/etc/init.d/oracle/etc/rc6.d/K01oracle#重启执行

在Linux中手动启动ORACLE实例

在Linux系统中,若Oracle数据库已安装并配置为多实例模式,服务器重启后可能无法自动启动所有实例。此时,需要手动启动未启动的实例。下面是详细的步骤:

首先,使用以下命令切换到oracle用户:

确保在“su”和“oracle”之间包含空格,避免执行“bash: sqlplus: command not found”错误。

接下来,在oracle用户下,使用以下命令查看当前实例和切换实例:

执行命令以确定当前实例,然后根据需要切换实例。

之后,进入sqlplus模式,执行以下命令以开始会话:

使用“sqlplus/nolog”命令启动会话。

然后,连接到数据库的dba角色,执行以下命令:

运行“conn/as sysdba”以连接至系统管理员角色。

最后,启动数据库实例,执行以下命令:

使用“startup”命令启动数据库。

此过程确保手动启动未自动启动的Oracle实例,恢复数据库运行。若发现任何问题,请检查错误日志以获取详细信息,并进行相应调整。

如何在linux下重启oracle数据库

工具/原料

oracle数据库

secureCRT或其他类似工具

方法/步骤

打开secureCRT,连接到数据库服务器,使用oracle用户登录系统

登录Oracle: sqlplus/ as sysdba

关闭数据库SHUTDOWN NORMAL

启动数据库 startup

参考关闭数据库时的参数:

在shutdown时可选择关闭模式:NORMAL、TRANSACTIONAL、IMMEDIATE或ABORT

• ABORT:在关闭之前执行的任务最少。由于此模式需要在启动之前进行恢复,因此只在需要时才使用此模式。当启动实例时出现了问题,或者因紧急情况(如,通知在数秒内断电)而需要立即关闭时,如果其它关闭方式都不起作用,通常选择使用此模式。

• IMMEDIATE:这是最常用选项。选择此模式会回退未提交的事务处理。

• TRANSACTIONAL:允许事务处理完成

• NORMAL:等待会话断开

如果考虑执行关闭所花费的时间,则会发现ABORT的关闭速度最快,而NORMAL的关闭速度最慢。NORMAL和TRANSACTIONAL花费的时间较长,具体取决于会话和事务处理的数目。

注意:

在SHUTDOWN NORMAL或SHUTDOWN TRANSACTIONAL或 SHUTDOWN IMMEDIATE这三个模式下关闭数据库,则:

关闭时:执行immediate时,会回退未提交的更改;数据库缓冲区高速缓存,会写入到数据文件;会释放资源。

启动时:不用恢复实例。

在SHUTDOWN ABORT或实例错误或STARTUP FORCE,则

关闭时:修改过的缓冲区未写入数据文件;不回退未提交的更改。

启动时:使用联机重做日志文件重新应用更改;使用还原段回退未提交的更改。

阅读剩余
THE END