ORA-01565: Unable to open Spfile 附加 windows上定时清理归档日志脚本
背景
客户的oracle数据库突然挂了,启动不起来,查看报错日志如下:
ORA-01565: Unable to open Spfile D:\APP\ADMINISTRATOR\PRODUCT\12.2.0\DBHOME_1\DATABASE\SPFILEONEPAY.ORA.
ORA-01565: Unable to open Spfile D:\APP\ADMINISTRATOR\PRODUCT\12.2.0\DBHOME_1\DATABASE\SPFILEONEPAY.ORA.
2025-02-03T13:04:43.322775+08:00
分析
spfile文件找不到,有测试环境就从测试环境拷贝过来,没有的话,就自己生成一个。
可以尝试从内存中恢复。
CREATE SPFILE='/path/to/spfile.ora' FROM MEMORY;
也可以尝试从rmane中恢复:
RMAN> list backup of spfile;
RMAN> restore spfile to '/path/to/spfile.ora' from 'backup_piece_name';
总之就是想办法把这个文件恢复,实在不行,自己创建一个,写入基础的参数。
处理
直接从测试环境拷贝过来,启动成功,有一些报错先无视
trace日志:
alert日志:
优化
1.发现内存非自动管理,服务器有32G,初始配置太低,优化一下
SHOW PARAMETER sga_target;
SHOW PARAMETER pga_aggregate_target;
SHOW PARAMETER memory_target;
SHOW PARAMETER memory_max_target;
修改配置并重启,如果有部分参数无法修改,就
ALTER SYSTEM SET SGA_TARGET = 0 SCOPE = BOTH;
ALTER SYSTEM SET PGA_AGGREGATE_TARGET = 0 SCOPE = BOTH;
ALTER SYSTEM SET MEMORY_TARGET = 20G SCOPE = BOTH;
ALTER SYSTEM SET MEMORY_MAX_TARGET = 25G SCOPE = SPFILE;
windows定时删除archivelog日志
delete_archivelog.bat
@echo off
setlocal
:: 定义Oracle环境变量
set ORACLE_HOME=D:\app\Administrator\product\12.2.0\dbhome_1
set ORACLE_SID=onepay
set PATH=%ORACLE_HOME%\bin;%PATH%
:: 打印开始信息
echo Starting RMAN archivelog cleanup...
:: 创建临时RMAN脚本文件
set RMAN_SCRIPT=%TEMP%\rman_cleanup.rman
echo DELETE NOPROMPT ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7'; > "%RMAN_SCRIPT%"
echo CROSSCHECK ARCHIVELOG ALL; >> "%RMAN_SCRIPT%"
echo DELETE EXPIRED ARCHIVELOG ALL; >> "%RMAN_SCRIPT%"
echo EXIT; >> "%RMAN_SCRIPT%"
:: 使用RMAN命令行执行脚本
rman target / LOG=D:\app\archivelog_cleanup.log CMDFILE="%RMAN_SCRIPT%"
:: 删除临时RMAN脚本文件
del "%RMAN_SCRIPT%"
:: 检查上一条命令的退出状态
IF %ERRORLEVEL% EQU 0 (
echo RMAN archivelog cleanup completed successfully.
) ELSE (
echo There was an error during the RMAN archivelog cleanup. Check the log file for details.
)
endlocal
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 2 本地部署DeepSeek模型构建本地知识库+联网搜索详细步骤
2023-02-05 mysql_gtid学习笔记
2023-02-05 windows处理C盘空间不够
2023-02-05 NFS磁盘共享(centos)
2023-02-05 Nginx常见漏洞处理