Can new parameter be used?
Since GoldenGate updates its version pretty fast, we don't know the new parameter we saw in Oracle documentation is valid for our GoldenGate version or not. So we need a tool to check the syntax before engaging it.
In this case, I want to specify ROLLOVER instead of APPEND in DISCARDFILE, which is an option we saw in GoldenGate documentation for HP NonStop.
[oracle@standby ~]$ cd $OGG_HOME/dirprm
[oracle@standby dirprm]$ diff r_erpap-original.prm r_erpap-candidate.prm
18c18
< discardfile /ogghome/dirrpt/R_ERPAP.dsc, append, megabytes 4000
---
> discardfile /ogghome/dirrpt/R_ERPAP.dsc, rollover, megabytes 4000
But I don't know ROLLOVER is supported here or just valid only in HP non-stop version.
checkprm
Here we use checkprm command to check the syntax of a parameter file in GoldenGate.
[oracle@standby dirprm]$ $OGG_HOME/checkprm ./r_erpap-candidate.prm
2024-12-22 10:35:48 INFO OGG-02095 Successfully set environment variable NLS_LANG=AMERICAN_AMERICA.AL32UTF8.
2024-12-22 10:35:48 INFO OGG-02095 Successfully set environment variable ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1.
(r_erpap-candidate.prm) line 18: Parsing error, parameter [discardfile] has unrecognized keyword or extra value "rollover".
2024-12-22 10:35:48 INFO OGG-10139 Parameter file ./r_erpap-candidate.prm: Validity check: FAIL. Which means, the parameter cannot be used here.
OK, the validation is FAIL.
So we change into another method to rollover the discard file.
[oracle@standby dirprm]$ checkprm ./r_erpap-candidate.prm
2024-12-22 10:50:58 INFO OGG-02095 Successfully set environment variable NLS_LANG=AMERICAN_AMERICA.AL32UTF8.
2024-12-22 10:50:58 INFO OGG-02095 Successfully set environment variable ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1.
2024-12-22 10:50:58 INFO OGG-10139 Parameter file ./r_erpap.prm: Validity check: PASS.
Runtime parameter validation is not reflected in the above check.
We PASS the check.