查看控制文件目录
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
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';
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'
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> 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 例程已经启动。
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 例程已经启动。
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;
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
------ ----------
TRUE 23
FALSE 236
备注:假如有多个数据库的话,可以通过设置set oracle_sid, 然后pfile单独启动