概述
最近在做数据库闪回区调整的时候发现报了一个spfile的错,生产环境都能报这个问题?下面一起看看吧~
报错
相关命令:
SQL> alter system set db_recovery_file_dest_size=10G scope=both; alter system set db_recovery_file_dest_size=10G scope=both*ERROR at line 1:ORA-32001: write to SPFILE requested but no SPFILE is in use
可以看到提示没有spfile
![13f7c2b2bc29315a61b996b84fc3b8c3.png](https://i-blog.csdnimg.cn/blog_migrate/e8dc5ea3b39621ca49a8d9beec8085fd.jpeg)
解决过程
1、确认数据库是以spfile还是pfile启动的
![b2fc11340efe0d6b0673b93066ffddc1.png](https://i-blog.csdnimg.cn/blog_migrate/0c8fe03cb4605ff4ac80bee0bce04055.jpeg)
没有值就是pfile启动,如果有就证明是spfile启动。
2、切换成spfile
要动态修改一定要用spfile启动。如果现在是用pfile启动,可以这样切换成spfile启动:
SQL> create spfile from pfile;SQL> shutdown immediate;SQL> startup;
![adb00825df3e7db29b533560f5635e32.png](https://i-blog.csdnimg.cn/blog_migrate/fb8b41c91cfc344fc8527fe602110f90.jpeg)
重启后问题解决。
这个问题解决还是比较容易的,问题是居然是生产环境用的pfile启动,应该是之前操作的同事修改相关值后没有修改回来,有点疏忽。后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注一下~
![bde6f965f6afa5dd210f80a4caca2c27.gif](https://i-blog.csdnimg.cn/blog_migrate/e494fe0a712277be3d3e9ead093d7574.gif)