网站建设维护php,珠海app开发公司,卖汽车的网站怎么做的吗,flash如何做网站一早出现EMCC挂了#xff0c;之后发现EMCC依赖的instance 挂了#xff0c;重启startup后发现spfile无法启动。还是和小伙伴把基础问题搞清。spfile是动态文件、动态文件、动态文件#xff0c;linux下vi看起来部分乱码部分是可编辑的#xff0c;vi即使可以编辑也需要转换成p…一早出现EMCC挂了之后发现EMCC依赖的instance 挂了重启startup后发现spfile无法启动。还是和小伙伴把基础问题搞清。spfile是动态文件、动态文件、动态文件linux下vi看起来部分乱码部分是可编辑的vi即使可以编辑也需要转换成pfile这样的文本文件再使用记得备份备份备份。
Oracle 数据库启动时依赖参数文件配置实例行为
SPFILE服务器参数文件、PFILE参数文件和 init.ora 三者关系紧密但存在关键差异。
一、核心关系与区别 init.ora 与 PFILE init.ora 是 Oracle 提供的参数模板文件命名格式通常为 init.ora用于指导用户创建自定义的 PFILE**PFILE如 init.ora是用户根据 init.ora 模板创建的文本格式参数文件**需手动编辑修改后必须重启数据库生效关系init.ora 是模板PFILE 是实际使用的配置文件。 SPFILE动态文件 二进制文件如 spfile.ora由 Oracle 自动维护支持动态修改参数无需重启- 优先级高于 PFILE若两者共存默认优先加载 SPFILE 对比 特性 PFILE含init.ora SPFILEspfile.ora 文件类型 文本文件可直接编辑 二进制文件不可直接编辑 修改方式 手动编辑文件 ALTER SYSTEM SET命令动态调整 生效条件 需重启数据库 部分参数可立即生效 备份支持 不支持 RMAN 支持 RMAN 备份 创建来源 基于init.ora模板创建 从PFILE生成 (CREATE SPFILE...)
二、启动机制与加载顺序
1. 默认启动流程
数据库实例启动STARTUP NOMOUNT 阶段时按以下顺序搜索参数文件 1.spfile(SID).ora如 spfileORCL.ora2.spfile.ora通用二进制文件3.init.ora如 initORCL.ora 注若以上均不存在启动失败。记得备份这个文件极端的情况从老的备份里扒拉一个出来编辑关键信息强行开 2. 指定文件启动 强制使用 PFILE STARTUP PFILE$ORACLE_HOME/dbs/initORCL.ora; 强制使用 SPFILE需创建临时 PFILE 指向 SPFILE再通过该 PFILE 启动
-- 创建临时 PFILE内容SPFILE路径/spfileSID.ora
STARTUP PFILE临时文件路径;
3. 状态查询 确认当前使用的文件类型 SHOW PARAMETER spfile;
-- 若返回 spfile 路径 → 使用 SPFILE若为 VALUENULL → 使用 PFILE
三、相互转换方法 PFILE → SPFILE CREATE SPFILE$ORACLE_HOME/dbs/spfileORCL.ora
FROM PFILE$ORACLE_HOME/dbs/initORCL.ora; 用途迁移至动态参数管理 SPFILE → PFILE CREATE PFILE$ORACLE_HOME/dbs/initORCL_new.ora
FROM SPFILE$ORACLE_HOME/dbs/spfileORCL.ora; 用途备份或手动调整参数 从内存生成 PFILEOracle 11g CREATE PFILE FROM MEMORY; -- 直接基于当前内存参数生成文本文件
四、实操记录
修改了系统参数文件spfile导致数据库启动不了。
报错
ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance
--内存参数错误的
ORA-00845: MEMORY_TARGET not supported on this system
--db_recovery_area参数错误的
ORA-01261: Parameter db_recovery_file_dest destination string cannot be translated
ORA-01262: Stat failed on a file destination directory 在修改参数前应该先备份spfile文件。 [oracleem24ai:/u01/app/oracle/product/19.3.0/db/dbs]$
cp spfileemcc.ora spfileemcc.ora.bak 1、sqlplus / as sysdba2、使用初始化的文件启动数据库 启动数据库到 nomount 状态要使用一个可用的pfile SQL startup pfile$ORACLE_HOME/dbs/init1.ora nomount; 3、备份初始化文件然后修改初始化文件的参数配置与系统物理硬件匹配 vi $ORACLE_HOME/dbs/init1.ora
SYSemcc SQL create pfile/u01/app/oracle/product/19.3.0/db/dbs/init1.ora from spfile;
File created.SYSemcc SQL startup pfile/u01/app/oracle/product/19.3.0/db/dbs/init1.ora; ORACLE instance started.Total System Global Area 1.0737E10 bytes
Fixed Size 13683928 bytes
Variable Size 2382364672 bytes
Database Buffers 8321499136 bytes
Redo Buffers 19869696 bytes
Database mounted. 4、创建新的 spfile SQL create spfile from pfile$ORACLE_HOME/dbs/init1.ora; 5、重新启动数据库 SQL shutdown immediate;
SQL startup; 6、记得再生成一个可编辑的文本文件pfile以备下次使用 SYSemcc SQL startup mount;
ORACLE instance started.Total System Global Area 1.0737E10 bytes
Fixed Size 13683928 bytes
Variable Size 2382364672 bytes
Database Buffers 8321499136 bytes
Redo Buffers 19869696 bytes
Database mounted.
SYSemcc SQL alter database open;Database altered.SYSemcc SQL create pfile/u01/app/oracle/product/19.3.0/db/dbs/pfileemcc.ora from spfile;File created.SYSemcc SQL shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SYSemcc SQL startup
ORACLE instance started.Total System Global Area 1.0737E10 bytes
Fixed Size 13683928 bytes
Variable Size 2382364672 bytes
Database Buffers 8321499136 bytes
Redo Buffers 19869696 bytes
Database mounted.
Database opened.
五、运维实践与注意事项 生产环境推荐优先使用 SPFILE支持动态调整、RMAN 备份避免重启中断服务故障恢复场景 SPFILE 损坏时通过备份的 PFILE 启动或从内存生成临时 PFILE 后再重建 SPFILE参数误配置若因参数错误无法启动可通过临时 PFILE 覆盖错误参数再重建 SPFILE 关键命令示例 动态修改参数使用 SPFILE 时 -- 需重启生效ALTER SYSTEM SET sga_max_size4G SCOPESPFILE; 注意SCOPE 的默认值依赖当前参数文件类型
SPFILE 启动时默认为 BOTH,RAC环境记得是sid‘*’ init.ora → 参数模板指导创建 PFILE。PFILE → 可编辑的文本配置需重启生效。SPFILE → 二进制动态配置支持实时调整生产环境首选。启动优先级spfile.ora spfile.ora init.ora。灵活切换通过 CREATE SPFILE/PFILE 命令实现互转适应不同运维需求。 建议生产环境统一使用 SPFILE结合定期备份RMAN 或导出为 PFILE确保参数安全