Linux中oracle如何启动

切换到oracle用户。

运行 lsnrctl start。

使用 sqlplus/assysdba 登录。

输入开始。

检查v$instance的状态。

在Linux中手动启动ORACLE实例

哎呀,手动启动Oracle的步骤真是详细啊。
我将引导您了解要点,以免您在操作过程中感到困惑。

上周,一位客户要求我在Linux下手动启动Oracle。
他的手心出汗了,因为他试了三遍,都卡在了“sqlplus:命令未找到”这一步。
后来我提醒他检查一下su命令后面是否少了空格,他突然发现这个细节很容易漏掉!
切换到oracle用户时,输入su
oracle。
请注意,有两个破折号,而不是通常的空格。
我个人就遇到过这个陷阱。
有一次2 02 3 年在深圳某公司的服务器上,sqlplus因为空间错误找不到。
系统肯定安装好了,但是找不到这个命令。
检查了半天,发现是bash配置问题,不过简单的改一下空格就好多了。

切换实例这一步,$ORACLE_SID的echo取决于当前选择的内容,export ORACLE_SID=sfems改为你要启动的实例名称。
我建议您在执行此操作之前确认实例名称。
别像我上次在杭州的一个项目中把生产示例SID弄错了一样。
幸亏发现得早,不然损失可就大了。
记得每次更改SID时都要source bash文件,或者重新登录,否则环境变量不会生效。

进入SQLPlus时,使用sqlplus /nolog。
我特别强调这一点。
不要愚蠢地添加用户名和密码。
登录SQLPlus后,使用conn /as sysdba登录。
我每次默默地重复三遍,因为有些旧系统有严格的密码政策,无法直接连接。

启动数据库的关键是运行启动命令。
我建议你打开一个 screen 或 nohup 在后台运行它,否则数据库启动过程将花费很长时间,你将不得不关闭窗口并重新启动它。
不要忘记看看出口。
“安装数据库”和“开放数据库”是两个不同的东西。
一是实例启动,二是数据库打开并可连接。
上次帮成都的客户,就是因为没看清楚这一点,以为它启动和停止的速度很快。
结果,用户无法连接。

这个多实例管理步骤也很重要。
例如,如果您的服务器安装了 orcl 和 orcl2 的两个实例,那么每当您切换用户时,都应该使用导出 ORACLE_SID=orcl2 ,然后启动第二个实例。
我在上海一家金融公司的服务器上发现了这个。
他们创建了三个实例,但是运维人员搞乱了顺序,在生产实例上启动了测试实例。
他吓得一晚上都睡不着。

对于自动启动配置步骤,我一般推荐使用systemd,这比旧的使用ortab的方法要好得多。
上次帮青岛一家小公司成立的时候,我直接把Oracle注册为系统服务,开机就自动启动。
运维小哥称赞我操作出色。

最终错误排查,如果启动失败,直接查看日志警报 $ORACLE_BASE/diag/rdbms///trace/alert_.log。
这里面一定有要求。
我在北京某电信公司的服务器上遇到ORA-6 04 错误。
检查注册表后,发现是内存不足造成的。
我刚刚添加了一个条目并解决了问题。

无论如何,这取决于你自己想办法。
注意每一步,尤其是小细节,例如空格、实例名称和密码。
别大意了。
如果不起作用,请更加努力,阅读更多日志,您就会完成!