我在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。
这个可行性,还可以。不过有很多参数不符合当前的数据库。
如果是你,你会怎佯作呢?
时间: 2024-09-17 22:57:38