oracle10g spfile与pfile

来源:互联网 发布:大数据pdf下载 编辑:程序博客网 时间:2024/04/29 05:33
查看控制文件目录
SQL>select * from v$controlfile; 
查看系统是以pfile还是spfile 启动:
  Select isspecified,count(*) from v$spparameter group by isspecified;
 如果 isspecified里有true,表明用spfile进行了指定配置
 如果全为false,则表明用pfile启动


SQL>startup启动顺序:
1.spfile<SID>.ORA
2.spfile.ORA
3.INIT<SID>.ORA
从spfile获取pfile
 Create pfile='d:pfileSID.ora' from spfile;
 Create pfile='d:pfileSID.ora' from spfile='spfile_location';
从pfile获取spfile
 Create spfile from pfile='Your_pfile_location'
 Create spfile='spfile_location' from pfile='Your_pfile_location'

从pfile生成spfile 二进制文件,在默认目录下
可以直接启动
startup 不带参数文件
spfile  可以动态修改,有些不需要重启数据库
而pfile 不能动态修改,文本编辑后必须重启数据库
某参数没法动态修改是否都可以用alter system set () scope=spfile; 重启进行修改


实验:
 环境:window2003  Oracle10g
 问题描述:一个数据库实例,包含二个数据库(test,orcl),因为设置错误的参数造成orcl数据库spfile文件损坏。通过create spfile生成文件后,一次一只能启动一个数据库。
解决过程:

C:/Documents and Settings/robbie>set oracle_sid=orcl
C:/Documents and Settings/robbie>sqlplus/nolog
SQL*Plus: Release 10.2.0.1.0 - Production on 星期六 5月 15 17:37:34 2010
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
SQL> conn sys/sys as sysdba
已连接到空闲例程。
SQL> create spfile from pfile='D:/oracle/product/10.2.0/admin/orcl/pfile/init.or
a.3142010101424';
文件已创建。
SQL> startup pfile='D:/oracle/product/10.2.0/admin/orcl/pfile/init.ora.314201010
1424'
ORACLE 例程已经启动。
Total System Global Area  612368384 bytes
Fixed Size                  1250428 bytes
Variable Size             167775108 bytes
Database Buffers          436207616 bytes
Redo Buffers                7135232 bytes
数据库装载完毕。
数据库已经打开。
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area  612368384 bytes
Fixed Size                  1250428 bytes
Variable Size             184552324 bytes
Database Buffers          419430400 bytes
Redo Buffers                7135232 bytes
数据库装载完毕。
数据库已经打开。
SQL> Select isspecified,count(*) from v$spparameter group by isspecified;
ISSPEC   COUNT(*)
------ ----------
TRUE           23
FALSE         236

备注:假如有多个数据库的话,可以通过设置set oracle_sid, 然后pfile单独启动
原创粉丝点击