Chinaunix首页 | 论坛 | 博客
  • 博客访问: 557361
  • 博文数量: 48
  • 博客积分: 4026
  • 博客等级: 上校
  • 技术积分: 622
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-26 13:59
文章分类

全部博文(48)

文章存档

2011年(3)

2010年(6)

2009年(12)

2008年(27)

我的朋友

分类: Oracle

2008-09-01 10:10:34

系统环境: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。
阅读(2377) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~