Linux下oracle启动脚本DBSTART和DBSHUT需要修改的地方

系统环境:Redhat Linux 9 + Oracle9.2.0.1
 
 
在 Linux 系统下安装完数据库之后,会在$ORACLE_HOME/bin 下生成 dbstart 和 dnshut 脚
本,这两个脚本可以简便地实现启动和关闭数据库。
这两个脚本运行时会读取/etc/oratab 文件,在这个文件里指定了需要启动和关闭的 SID(相应 SID 那行的最后一个字符是 Y 而不是 N)
 
 
DBSHUT 的问题:
默认是执行 shutdown 而不是 shutdown immediate,这样当有别的 client 连着的时候,数
据库不会 shutdown,可以把该脚本执行 shutdown 的部分改成 shutdown immediate,当
然是不是需要这样强行切断用户连接,rollback 所有未 commit 的 transaction,还需要看自
己的需求了。
 
DBSTART 问题:
执行时会检查在$ORACLE_HOME/dbs 中有没有 initSID.ora 文件,如果没有则报错退出。但
是安装 9i 的时候通常会使用 spfile,所以在此目录下是不会存在 initSID.ora 文件的。修改的
方法有两个:
一是改脚本,在 else 后面加判是否存在 spfile,如果有继续,没有再报错,但是此方法比较麻
二是创建一个 pfile,用 create pfile=pfilepath from spfile=spfilepath 就可以了,此命令
在数据库 instance 没有启动的情况下也可以执行。
感觉这是 Oracle 的一个遗留问题,因为可以看到即使是检查了 pfile,Oracle 的启动仍然使用
了 spfile。

你可能感兴趣的:(oracle,linux,redhat,脚本)