哥们儿,今天咱们聊聊怎么启动Oracle服务这事儿,说起来也真是段折腾的经历。我记得那会儿公司有个老项目,好多年没人动了,突然说要再跑起来看看数据。好家伙,一看数据库,全崩了,压根儿没启动。我当时就犯嘀咕,这玩意儿Windows和Linux上都得搞,我一个萝卜一个坑,咋弄?
本站为89游戏官网游戏攻略分站,89游戏每日更新热门游戏,下载请前往主站地址:www.gm89.icu
Windows上的折腾
我最开始接触的是Windows服务器,那台机器一开机,啥都没有,服务列表空空如也,Oracle的影子都没见着。我当时真是一头雾水,心想这可咋整?
-
第一步:找到服务在哪儿。
我就开始在电脑上瞎摸索。先是跑到桌面,点鼠标右键,找“管理”那个选项,点进去一看,左边有个“服务和应用程序”,再一点“服务”。那一大堆服务列表就出来了。
-
第二步:认清Oracle的服务。
服务列表出来后,我眼睛都快看花了。密密麻麻的,哪知道哪个是Oracle的?我就往下使劲儿翻,终于看到几个带着“Oracle”字样的东西。通常会有个叫 “OracleServiceXXXX” 的,那个“XXXX”可能就是你的数据库实例名,比如“OracleServiceORCL”。还有一个特别重要的,叫 “OracleOraDbXX_homeX Listener”,或者名字里带着“TNSListener”的。这俩玩意儿,一个是数据库本身,一个是监听器,监听器就是别人想连你数据库的“门卫”。
-
第三步:动手启动。
找到这两个之后,我先没敢乱动,右键点了一下,看到“启动”选项是灰的,说明没跑起来。我就壮着胆子,先点了那个“Listener”的,等它显示“已启动”了,再点那个“OracleServiceXXXX”的,也启动它。等都变成“已启动”了,心里才松了口气。接着赶紧找工具连了一下,诶,还真连上了!
后来我也学聪明了,有时候懒得去服务列表里翻,直接打开命令提示符(管理员权限),敲两行命令也能搞定:
- 启动监听器:
net start OracleOraDbXX_homeXTNSListener(那个“XX_homeX”要根据你实际安装的名字来) - 启动数据库:
net start OracleServiceXXXX(这个“XXXX”就是你的实例名)
这法子简单粗暴,一下子就搞定了Windows上的问题。
- 启动监听器:
Linux上的硬仗
Windows上搞定后,我以为Linux也差不离,结果上去一看,傻眼了。Linux那黑乎乎的命令行界面,哪有啥“服务和应用程序”的图标让你点?当时真是抓瞎。
-
第一步:找Oracle用户的老家。
在Linux上,Oracle通常会有一个专门的用户,比如叫“oracle”。我得先切换到这个用户。命令是
su - oracle。然后我就到了Oracle用户的地盘了。 -
第二步:找到启动脚本的线索。
进去之后,我发现这用户的家目录下面,通常会有一个隐藏文件叫
.bash_profile或者.bashrc。我用vi .bash_profile打开一看,里面一堆环境变量。最关键的是那两行:ORACLE_BASE和ORACLE_HOME,还有ORACLE_SID。这些玩意儿就是告诉系统,Oracle装在哪儿,数据库叫啥名儿。如果这些环境变量没设置,那你就得自己手动设置一下。比如:
export ORACLE_BASE=/u01/app/oracleexport ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1export ORACLE_SID=orclexport PATH=$ORACLE_HOME/bin:$PATH
设完了记得
source .bash_profile让它生效。 -
第三步:启动监听器,先开“门卫”。
有了这些环境变量,我就能用Oracle自带的工具了。我先敲了
lsnrctl status,一看果然是没启动。那就直接lsnrctl start。回车一按,等了一会儿,屏幕上显示“监听器已启动”,心里又是一阵小激动。 -
第四步:启动数据库实例。
监听器起来了,数据库本体还得启动。这个就得用SQL Plus了。我敲了
sqlplus / as sysdba。这个命令是说,以系统管理员的身份连进去。连进去之后,提示符变成了“SQL>”。我就开始敲数据库启动命令:
startup;。注意,后面有个分号。回车一按,屏幕就开始刷刷地跑字,什么“Oracle instance started.”,什么“Total System Global Area...”之类的。看到一句“Database mounted.”和“Database opened.”,我知道,数据库这下是真的跑起来了!然后我赶紧
exit;退出SQL Plus,再用ps -ef grep pmon命令检查一下,看到有“pmon”进程在跑,这下才彻底安心。Pmon进程就是数据库的核心进程之一,它在,数据库就活着。
这么一通折腾下来,不管是Windows还是Linux,Oracle服务总算是让我给搞起来了。从最开始的一脸懵逼,到看到服务正常运行,那种成就感,真不是盖的。说白了,这玩意儿就是一层窗户纸,捅破了也就那么回事儿。多动手,多观察,没啥搞不定的!