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

posted @   海yo  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 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常见漏洞处理
点击右上角即可分享
微信分享提示