首页 > 技术文章 > oracle中参数文件

remote-antiquity 2017-05-23 13:59 原文

现在假设你的ORACLE_SID为testdb,那么spfiletestdb.ora就是服务器参数文件,inittestdb.ora就是一般的初始化参数文件, spfile好像是从oracle 9i开始的吧,它是二进制的,不过你也可以通过 $ strings spfiletestdb.ora看一下, 或者 sql>create pfile='/home/db/oracle/script/testdb.ora' from spfile; 然后 $ cat /home/db/oracle/script/testdb.ora 看一下他的内容(testdb.ora现在是文本文件了) inittestdb.ora是文本文件,可以看的到的 你启动机器的时候,可以指定参数文件,否这就默认为用spfile启动,unix系统是在 /dbs目录下,windows系统是在 /database目录下, $ startup pfile='/home/db/oracle/script/testdb.ora';   注意: 是pfile,千万别写成了spfile='/.....'了 数据库启动分为三个阶段(nomount,mount,open状态,oracle另外一个状态是shutdown状态) 1.启动到nomount阶段时,首先要查找参数文件(顺序为先查找spfile$sid.ora→没有查到就查找spfile.ora→没有查到就查找init$sid.ora→再没有查到就查找init.ora,呵呵,还没有,那你就等着瞪眼吧,也就是oracle启动不了,要报错了,具体的原因你可以到[url]www.eygle.com[/url]上去看去) $ startup nomount; 2.启动到mount阶段的时候,检查控制文件和口令文件,如果有一个控制文件个屁了,那么也就启动不到mount状态,只能启动到nomount状态 (初始化参数找的着的情况下) $ startup nomount; $ alter database mount; 或者直接 $ startup mount; 3.启动到open阶段,根据控制文件对数据文件和日志文件进行判断,判断没有问题后,数据库打开,大家可以干活了 $ alter database open; 或者 直接 $ startup   啥,你非要用 $ startup open;,算了,也是可以地,不过你也太那个了吧..., 好了,我吃饭去了,(windows下与unix不太一样,windows下oracle自动起来了,你如果想试验一下,进入 command 窗口  开始>-->运行-->cmd-->C:/Documents and Settings/Administrator>sqlplus "/ as sysdba" sql>shutdown immediate;  确定不是生产库哟,数据库没有事务的时候,先shutdown,然后一步一步试验去吧)

推荐阅读