日期:2014-05-16 浏览次数:20424 次
?问题:
???? Oracle在nomount状态:只启动实例而不加载数据库,用于创建数据库或重建控制文件。
?启动实例时会在$ORACLE_HOME/dbs目录中按如下顺序搜索启动参数文件:spfileSID.ora,
?spfile.ora和initSID.ora。可以在startup命令后面通过pfile参数来手工指定启动参数文件。
?我们怎么证明spfile和pfile的启动顺序呢?
?理论:
???? 在oracle10g以后log_archive_start参数已经废弃,不再使用,如果在归档模式下开启此
?参数将报错.
实验:
1.启动数据库
SQL> startup;
ORACLE 例程已经启动。
Total System Global Area? 548225024 bytes??????????????????????????????????????
Fixed Size????????????????? 1334436 bytes??????????????????????????????????????
Variable Size???????????? 427819868 bytes??????????????????????????????????????
Database Buffers????????? 109051904 bytes??????????????????????????????????????
Redo Buffers?????????????? 10018816 bytes??????????????????????????????????????
数据库装载完毕。
数据库已经打开。
2.查看log_archive_start的原始参数为false
SQL> show parameter log_archive_start;
NAME???????????????????????????????? TYPE??????? VALUE?????????????????????????
------------------------------------ ----------- ------------------------------
log_archive_start??????????????????? boolean???? FALSE??
查看spfile的数值??????????????????????
SQL> show parameter spfile;
NAME???????????????????????????????? TYPE??????? VALUE?????????????????????????
------------------------------------ ----------- ------------------------------
spfile?????????????????????????????? string????? D:\APP\ADMINISTRATOR\PRODUCT\1
???????????????????????????????????????????????? 1.1.0\DB_1\DATABASE\SPFILETICK
???????????????????????????????????????????????? ET.ORA??????
3.修改log_archive_start的数值,修改之后spfile文件数据变化.????????????
SQL> alter system? set log_archive_start=true scope=spfile;
系统已更改。
4.正常启动报错,说明默认读取的spfile文件.
SQL> shutdown ;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORA-32004: obsolete and/or deprecated parameter(s) specified
ORACLE 例程已经启动。
Total System Global Area? 548225024 bytes??????????????????????????????????????
Fixed Size????????????????? 1334436 bytes??????????????????????????????????????
Variable Size???????????? 427819868 bytes??????????????????????????????????????
Database Buffers????????? 109051904 bytes??????????????????????????????????????
Redo Buffers?????????????? 10018816 bytes??????????????????????????????????????
数据库装载完毕。
数据库已经打开。
5.关闭重新读取pfile文件启动正常,说明数据库默认先读spfile,在spfile不存在的情况下读取pfile
SQL> shutdown ;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> host del D:\app\Administrator\product\11.1.0\db_1\database\INITticket.ORA
SQL> startup ;
ORACLE 例程已经启动。
Total System Global Area? 548225024 bytes??????????????????????????????????????
Fixed Size????????????????? 1334436 bytes??????????????????????????????????????
Variable Size???????????? 427819868 bytes??????????????????????????????????????
Database Buffers????????? 109051904 bytes??????????????????????????????????????
Redo Buffers?????????????? 10018816 bytes??????????????????????????????????????
数据库装载完毕。
数据库已经打开。
6.重新生成spfile文件
SQL> create spfile from pfile;
文件已创建。
SQL> spool off;
备注:在数据启动之后想看数据库是spfile方式启动还是pfile方式启动;
通过:
?? SQL> show parameter spfile;
?? 如果有value的值,表示是spfile方式启动的,没有值表示为pfile方式启动.
??