一、oracle的参数文件(spfile/pfile/initSID.ora)被破坏以后
实验目的:分别对spfile和pfile进行删除操作,看能否或如何修复并启动数据库 前期知识:
1:查找spfile的位置: show parameter spfile;
(F:\\oracle\\product\\10.2.0\\db_1\\dbs\\ SPFILEORCL.ORA) 2: 用pfile文件启动数据库方法:
Startup pfile=$ORACLE_HOME\\admin\\CL7100\\pfile\\init.ora.X(X为编号) 实验步骤:
1、spfile破坏/删除后的修复方法:
注:要知道默认的pfile文件的存放位置。 3.pfile破坏/删除后的修改方法
4、spfile和pfile删除后
小结:仍可正常启动。
原因:启动了F:\\oracle\\product\\10.2.0\\db_1\\database\\initSID.ora文件。 5、接上一步,马上生成spfile文件。
总结:如果spfileSID.ora 和initSID.ora都被破坏了,则可用 Create spfile语句从pfile中直接生成spfile(注意spfile存放位置) 6、initSID、spfileSID、pfileSID 文件删除后 答案: 总结:
1、如果spfile被删除那么 方法一:sqlplus /nolog
conn / as sysdba; Create
spfile='D:\\oracle\\product\\10.2.0\\db_1\\dbs\\SPFILESID.ORA'
from
pfile='D:\\oracle\\product\\10.2.0\\admin\\testing\\pfile\\init.ora.913200824649';
方法二:
SQL>startup pfile='C:\\oracle\\product\\10.2.0\\admin\\orcl\\pfile\\init.ora'; -- 采取指定pfile方式登录数据库 -- 然后创建spfile
SQL>create spfile from pfile='C:\\oracle\\product\\10.2.0\\admin\\orcl\\pfile\\init.ora';
补充:
startup mount pfile='xxxxx' 从pfile文件启动数据库
create spfile from pfile = 'xxxx' 或create spfile from pfile; 从pfile中生成spfile
二、删除一个控制文件
1、更改控制文件
2、删除控制文件 3、复制控制文件
4、startup启动数据库并删除原控制文件
三: 损坏全部控制文件
损坏多个控制文件,或者人为的删除了所有的控制文件,通过控制文件的复制已经不能解决问题,这个时候需要重新建立控制文件。
先决条件:必须先用alter database backup control file to trace产生一个控制文件的文本备份。
1、sqlplus /nolog 2、conn /as sysdba
3、修改由alter database backup control file to trace备份控制文件时产生的脚本,去掉多余的注释即可(也可不修改,只是有部份警告信息)。大概内容如下(配置不同,数据也不同):