输入命令登录到oracle服务器
sqlplus / as sysdba
我们想修改用户密码或者其他操作显示服务不可达。
ORA-01034: ORACLE not available
输入服务启动命令
SQL>startup mount;
服务异常的提示
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/opt/oracle/product/19c/dbhome_1/dbs/initDFORCL.ora'
原来是缺少了一个文件丫,
注: init服务名该类型文件为pfile文件,正常情况下,oracle服务会先加载spfile服务名,如果spfile就会去加载pfile,没有就会报错。
我们根据模板文件创建一个pfile即可
首先 搜索一下pfile的位置
find / -name pfile
我们把 init.ora.xxxxxxx 文件复制到/opt/oracle/product/19c/dbhome_1/dbs/目录下并修改文件名为报错提示的文件名initDFORCL.ora。
再次输入启动命令后服务启动。
但是当我们想进行一些oracle服务内核参数的修改时候,如修改最大连接数,日志重组等,会报错没有spfile正在使用。
SQL> ALTER SYSTEM SET PROCESSES=3000 SCOPE=spfile;
报错提示如下。
ERROR at line 1:
ORA-32001: write to SPFILE requested but no SPFILE is in use
SQL>
我们仅仅需要使用以下命令即可创建spfile,创建完毕后重启即可。
create spfile from pfile='pfile文件位置'
解读:发现spfile是根据pfile生成的,pfile里面可以配置oracle的内核参数,但是需要以键值对的形式配置,且配置后需要进行重启。而spfile则是oracle服务使用命令的方式动态修改内核参数,一般情况下不需要重启即可修改服务的内核参数。