起因,在配置oracle DG,修改设置了主库的log_archive_dest_1与log_archive_dest_2两个参数的路径,修改完成之后,重启数据库 在startup数据库时,得到提示:
SQL> startup ORA-16024: parameter LOG_ARCHIVE_DEST_1cannot be parsed 查看log_archive_dest_1设置的值
log_archive_dest_1的路径为:'location=/u01/app/oracle /archivelog
检查发现设置的路径中不小心,多输了一个空格,导致数据库启动时,找不到该目录,从而启动数据库失败。
但数据库已经shutdown了,再使用alert命令,也修改不了实例里的值啊。那只能根据spfile创建pfile,修改数据库的启动参数,以pfile来启动了。
而数据库启动的pfile存放的目录在$ORACLE_HOME/dbs中,以【init实例名.ora】命名方式存在,先查看一下可否修改里面的参数然后以它来启动数据库。
先cd到$ORACLE_HOME/dbs中,以cat initorcl1l.ora查看,内容如下:
[oracle@orcl1 dbs]$ cat initorcl1.ora
SPFILE='+OCR/orcl/spfileorcl.ora'
看来还得从ASM磁盘组,先把spfileorcl.ora拷贝出来后,以它来创建pfile再进行修改
操作步骤
1、先切换到grid用户
2、export ORACLE_SID=+ASM1
3、ASMCMD
4、cp +OCR/ORCL/spfileorcl.ora /tmp
5、以拷贝出来的spfileorcl.ora在sqlplus里,创建一个pfile
SQL> createpfile='/home/oracle/orcl.ora' from spfile='/tmp/spfileorcl.ora';
6、然后vi /home/oracle/orcl.ora
7、找到log_archive_dest_1设置那一项,将多余的空格去再,然后保存退出。
8、再以orcl.ora来启动数据库,先启动到mount状态,然后再以pfile创建spfile
[oracle@orcl1 ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production onSat Mar 7 04:32:53 2020 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to an idle instance. SQL> startup mountpfile=/home/oracle/orcl.ora ORACLE instance started. Total System Global Area 1586708480 bytes Fixed Size 2253624 bytes Variable Size 1040190664 bytes Database Buffers 536870912 bytes Redo Buffers 7393280 bytes Database mounted. SQL> createspfile='+OCR/ORCL/spfileorcl.ora' from pfile='/home/oracle/orcl.ora'; File created. 9、开启数据库 SQL> alter database open; Database altered.
这样数据库就可以启动,然后接下进行DG后续的配置了 |