`
sophia_230
  • 浏览: 120979 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

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。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics