请问一下,admin\sid\pfile\init.ora 和 database\initsid.ora 区别是什么,是同一文件不同的名称吗?

解决方案 »

  1.   

    区别?init.ora只不过是一个模版文件,等你有了一个数据库的时候他会根据你的数据库配置自动生成一个叫做initSID.ora的文件。例如你的数据库的SID叫做test,那么系统就会生成一个inittest.ora的文件。
      

  2.   

    参考: 
    参数文件spfilesid.ora与initsid.ora的区别现在假设你的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,没有查到就查找init$sid.ora,再没有查到就查找init.ora,呵呵,还没有,那你就等着瞪眼吧,也就是oracle启动不了,要报错了,具体的原因你可以到www.eygle.com上去看去) $ 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,然后一步一步试验去吧) 
      

  3.   

    问题是,我在手动创建数据库过程中,没有能自动生成inittest.ora文件,所以造成不能用create spfile from pfile;
    为了查找问题,我又用database configeration assistant 创建了一个名为test1的数据库,可是为什么还是没有找到,inittest1.ora