请教windows下有所有的数据文件,控制文件,但没有参数文件,如何恢复?

我在itpub论坛上遇到的一个问题,并做了回答,分享一下:

一。如果仅仅是参数文件丢失,数据库仍然运行,可用如下代码:
set linesize 120
set pagesize 999
set heading off
set feedback off
spool F:\spfile.txt
  select '*.'||name||'='||value from v$parameter where isdefault ='FALSE';
  spool off
来获取当前实例的非缺省参数,对生成的临时参数文件进行适当的修改,就可以重新启动数据库。

二。如果数据库关闭的情况下:

你可以从最初创建数据库时的init.ora  文件重新创建一个spfile或pfile,
在postDBCraetion.sql(linux下)中可以找到这样一行:
create spfile='/OPT/oracle/product/10.2.0/dbs/spfileorder.ora'
FROM pfile='opt/oracle/admin/order/scripts/init.ora';

在执行此语句需要把要建立的spfile的名字改一下,因为以前的数据库的spfile是那个名字。

这样就可以重新启动数据库了,当然也可以

1:从alert中找非default的参数建立pfile或者由文件位置建立pfile,重新启动。

这个可能过于繁琐了,呵呵

2:建议先用从成熟数据库那里复制一个PFILE,然后修改相关内容,能通过pfile启动后,在根据pfile创建spfile。

这个可行性,还可以。不过有很多参数不符合当前的数据库。
如果是你,你会怎佯作呢?

上一篇:NTP 时间同步服务配置


下一篇:我该不该学习C语言