linux下 怎么重启oracle数据库

结论: Oracle数据库关闭:用SHUTDOWN命令,模式选择ABORT、IMMEDIATE、TRANSACTIONAL或NORMAL。
ABORT最快但需恢复,IMMEDIATE常用回退未提交,NORMAL最慢等会话断开。

结论: SecureCRT连接Oracle数据库,登录后用sqlplus命令,shutdown和startup操作实例。

结论: SHUTDOWNNORMAL模式,关闭时回退未提交,启动时不需恢复。
IMMEDIATE模式,关闭时回退未提交,启动时需恢复。

结论: SHUTDOWNIMMEDIATE,关闭最快但需恢复,适用于紧急情况。

结论: 关闭速度:ABORT最快,NORMAL最慢。

如何在linux下启动和关闭ORCALE数据库?

哎哟,跟你唠唠 oracle 在 Linux 下那些操作啊。

那年我在上海,给个客户刚上线的 Oracle 1 2 c 安装,系统是 Red Hat 7 我记住啊,启动数据库那套命令,我每次都得先切到 oracle 用户,然后在 SQLPlus 里执行。
记得是这么个流程:
bash su
oracle sqlplus /nolog conn /as sysdba startup exit
然后启动监听器,我一般是在 ~oracle 目录下直接敲:
bash lsnrctl start
有时候客户端连不上,我就用 lsnrctl status 看看监听器啥状态。
记得有一次北京那边的同事连不上,我这边看状态,发现监听器没起来,就让他先 lsnrctl stop 停了,再 lsnrctl start 启动一次。

再说说关闭数据库。
也是切到 oracle 用户,SQLPlus 里执行:
bash sqlplus /nolog conn /as sysdba shutdown immediate exit
然后 lsnrctl stop 停监听器。
这个顺序不能乱,特别是 shutdown immediate,不能带 force 或者 aborted,不然把数据搞坏了就麻烦了。
我见过一次客户 shutdown abort 关闭的,第二天起来数据错乱,折腾了好几天。

你提到的 setup,我印象里好像不是 Oracle 自带的命令啊?可能是某个第三方工具或者特定版本的特性?我不敢乱讲。
反正我们一般不靠 setup 设置防火墙啥的,都是用 Linux 自带的 firewalld 或者 iptables。

安装监听器,对,是跑 netca。
我那年在北京装 1 1 g,就是点那个 Net Configuration Assistant,一路下一步,最后让监听器也跟着起来。
netca 这玩意儿吧,有时候会出问题,比如网络配置对不上,或者跟系统防火墙冲突。
解决起来比较麻烦,一般都重新跑一遍。

lsnrctl reload 这个命令我也常用,比如修改了监听器配置文件 listener.ora,就得用 reload 重新加载,不用重启监听器。
service listener start|stop 这个命令在一些老系统上可能还有,现在新系统基本都用 lsnrctl 了。

vi /etc/hosts 这步是必须的,必须加。
那年广州那客户,因为 /etc/hosts 里没加对,导致客户端连不上数据库,我过去一看,IP 对不上名,直接改了就好了。

关于 startup force 和 shutdown abort,这俩是救急用的。
我见过一次,数据库挂了,数据文件坏了,startup normal 进不去,只能 startup force 强行启动,把坏的数据文件挂载到 UNDO_DATAFILE 位置,然后赶紧备份,再 shutdown immediate 正常关闭。
这个操作风险很大,能不用尽量不用。
最糟糕的情况用 shutdown abort,那是把数据库进程直接杀掉,然后 startup force 启动,这种操作后数据一致性肯定出问题,只能备份数据恢复。
这个我操作过一次,数据丢了小部分,客户也认了。

总之啊,这些操作,特别是 startup force 和 shutdown abort,能不用就不用。
平时正常操作,启动关闭,顺序对了,一般不出问题。

网站出现问题Linux重启oracle数据库的三大技巧

说白了,重启Oracle数据库在Linux下其实很简单,但关键在于别把监听器给忘了。

先说最重要的,重启Oracle分两步:先启动监听器,再启动实例。
去年我们跑的那个项目,就因为只启动了实例,结果客户端连不上,折腾了半天。
另外一点,用root登录终端重启最省事,直接执行dbstart和lsnrctl start就行,大概3 000量级的系统跑下来,也就1 分钟。
还有个细节挺关键的,如果是在Sqlplus里操作,记得用connect/assysdba连上系统管理员账号,不然startup命令会报权限错。

我一开始也以为重启数据库就是执行startup,后来发现不对,Oracle9 i时代,监听器没启动,客户端请求还是会被拒绝。
等等,还有个事,如果你用root执行dbstart,它会自动帮你启动监听器,但用oracle用户登录Sqlplus操作时,就需要手动执行lsnrctl start。

建议你试试用root方式重启,最稳妥。
但要注意,如果数据库文件有损坏,重启是没用的,得查日志看具体问题。