By Brian Fitzgerald
Introduction
New in Oracle Database 19c, you can set a database initialization parameter directly from dgmgrl, the Data Guard broker command-line interface. The documentation is not clear or the feature is unstable.
Edit database set parameter
The basic functionality works as documented.
DGMGRL> edit database PRIM set parameter pga_aggregate_target='752m'; Parameter "pga_aggregate_target" updated
However:
DGMGRL> edit database PRIM set parameter pga_aggregate_target='753m' sid='PRIM';
edit database PRIM set parameter pga_aggregate_target='753m' sid='PRIM';
^
Syntax error before or at "="
DGMGRL> edit database PRIM set parameter sga_target=2256m scope = both;
edit database PRIM set parameter sga_target=2256m scope = both;
^
Syntax error before or at "="
Options SID and SCOPE are documented but are not working for me.
Edit database reset parameter
You can use edit database to reset a database initialization parameter. Suppose spfile initially contains:
*.use_large_pages='ONLY' PRIM.use_large_pages='ONLY'
Now reset.
DGMGRL> edit database PRIM reset parameter use_large_pages; ORA-16675: database instance restart required for property value modification to take effect Parameter "use_large_pages" reset DGMGRL>
This appears in the alert log
2019-10-17T19:43:49.034727+00:00 ALTER SYSTEM RESET use_large_pages SCOPE=SPFILE;
Here is what is remains:
PRIM.use_large_pages='ONLY'
The “sid=’*'” entry is gone. The dgmgrl reset behavior, then, is the same as the alter system syntax with an assumed “sid=’*'”.
The dgmgrl edit database reset parameter command has no sid option.
DGMGRL> edit database PRIM reset parameter use_large_pages sid = 'PRIM';
edit database PRIM reset parameter use_large_pages sid = 'PRIM';
^
Syntax error before or at "sid"
Conclusion
The dgmgrl edit database set and reset parameter commands are incomplete or have unexpected behavior today, or I misunderstand them. I will not use them for now.