linux oracle 服务,docker运行oracle稳定吗

如何在linux下重启oracle数据库

方法/步骤

打开secureCRT,连接到数据库所在的linux机器。若用户为root,请输入命令“su- oracle”并回车,若要密码,输入密码后并回车,就切换到了oracle用户下。(图为已切换到oracle用户下了)

关掉oracle的监听进程:命令为“lsnrctl stop”并回车,这时外部没法连接到数据库了。如图有提示关闭成功信息。

先杀掉所有session,小编用的是命令:“ps-ef|grep$ORACLE_SID|grep-v ora_|grep LOCAL=NO|awk'{print$2}'|xargs kill”也可以用其他办法。然后用sqlplus登录到数据库。命令依次为:“sqlplus/nolog”-“connect/ as sysdba”,最后用命令关闭oracle数据库"shutdown immediate"。关闭命令的时候需要等待点时间,成功后会有如图的提示。

用命令"exit"退出sqlplus。然后用命令“lsnrctl start”启动数据库的监听进程。如图

提示语句表明启动成功。

如何把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监听和服务

Oracle数据库系统是非常强大的关系数据库管理系统,在很多项目中被广泛使用。生产环境的oracle数据会有专门的DBA管理员去维护,但在开发环境,大部分情况就需要开发人员自己能够启动和停止oracle。下面就来介绍下Linux下如何启动oracle服务。分为两步启动lsnrctl监听,启动数据库实例。

使用xshell连接上安装了oracle服务的linux服务器,然后输入命令su- oracle切换到oracle用户

检查oracle监听服务运行状态,输入lsnrctl status命令来查看,看到提示信息TNS:no listener,表示监听没有启动

监听没有启动,则需要输入lsnrctl start启动监听服务,当看到提示信息"The command completed successfully",则表示启动成功

以system用户身份登陆oracle sqlplus/nolog conn as sysdba

提示Connected to an idle instance。则表示连接成功,下面开始启动oracle实例服务,输入startup命令,当看到如图的提示信息,则启动完成,就可以正常使用oracle服务了

如果需要停止oracle实例,则输入shutdown命令关闭oracle实例,输入lsnrctl stop可以关闭监听

阅读剩余
THE END