ORA-46952: standby database format mismatch for password file [Update 2021-10] We experienced a problem with this error after switchover in our 19c data guard. Even though the primary and the standby had exactly the same password file (and of course the format was also the same), either in ASM or on the file system, trying to recover the standby immediately aborted with ORA-46952. Then tried deleting the password file on the standby. Recovery magically started to work. Once the standby caught up with the primary, we put the password file back on the standby. Everything started to work fine from then on. We didn't have log transport problem. We only had the apply or recovery problem. (I guess if the password file had not been on the standby at the beginning, transport probably would not have worked.) Anyway, the text for ORA-46952 is misleading, to say the least. I suspect the programmers didn't think through and attributed some fuzzy failure scenarios to password file format mismatch, essentially turning the error into a generic catch-all. (posted to https://community.oracle.com/mosc/discussion/4271144/ora-46952-standby-database-format-mismatch-for-password-file) [Earlier note] Strange observation in Oracle 12c. The primary uses format 12 password file but the standby uses 12.2 and the redo transport and apply are working fine. Primary: In ASM: ASMCMD [+] > pwget --dbuniquename dbcp12n Password file location has not been set for DB instance In sqlplus: SQL> select * from v$passwordfile_info; FILE_NAME ------------------------------------------------------------------- FORMAT IS_AS CON_ID ------ ----- ---------- /u01/app/oracle/product/12.2.0/db/dbs/orapwdbcp121 12 FALSE 0 <-- format 12 On file system: doprlcora12c dbs $ orapwd describe file=orapwdbcp121 Password file Description : format=12 <-- double check The standby: ddrrlcora12 dbs $ orapwd describe file=orapwdbcp12sb Password file Description : format=12.2 <-- here In sqlplus: SQL> select * from v$passwordfile_info; FILE_NAME --------------------------------------------------------------- FORMAT IS_AS CON_ID ------ ----- ---------- /u01/app/oracle/product/12.2.0/db/dbs/orapwdbcp12sb 12.2 FALSE 0 <-- note format 12.2 In other words, error ORA-46952 should be thrown now but not. And I should not have got the error earlier when the standby was using a format 12 password and I did get it. (Earlier, the primary and standby were using exactly the same password file, checksums matched and format matched, and yet redo apply stopped due to ORA-46952.) Another note: asmcmd `cp' and `pwcopy' can both be used to copy the password file from inside ASM to the file system and the result is exactly the same. But `orapwd file= input_file=' is different; the format of the newly created password file will be 12.2 instead of 12. Ref: 3-18382906051 opened on 09/23/2018