Oracle 19c | New Commands to Manage Initialization Parameters via Data Guard Broker
In Oracle 19c, enhancements in the Data Guard Broker enable DBAs to set, reset, and display database initialization parameters directly through the broker interface. These commands allow parameter changes to take effect immediately on the active database (or standby, or Far Sync) without first editing the broker configuration file.
This article explains these new commands, when to use them, and shows examples of usage and output.
Why This Matters
Traditionally, changes to initialization parameters in a Data Guard setup often involved:
- Logging into the target or standby database directly
- Editing SPFILE or parameter files
- Restarting or bouncing instances
- Ensuring consistency across broker configuration
With the new Broker commands in 19c, you can perform many of these tasks centrally via DGMGRL, simplifying management and reducing human error.
Supported Commands in Broker (19c+)
- EDIT DATABASE
- EDIT DATABASE RESET
- SET TRACE_LEVEL
These commands apply parameter changes directly to the database, not stored in the broker’s configuration file. They support scopes like SPFILE
, MEMORY
, or BOTH
. By default, the scope is BOTH
.
- For static parameters, you must use
SCOPE = SPFILE
. - You may specify a particular instance via
SID
; else useSID = '*'
to apply across all instances.
Command Syntax & Examples
1. EDIT DATABASE … SET PARAMETER
Use this to change the value of an initialization parameter:
DGMGRL> EDIT DATABASE 'chennai' SET PARAMETER log_archive_trace = 1 SCOPE = BOTH;
Parameter "log_archive_trace" updated
This command updates the parameter log_archive_trace
on the database named chennai
.
2. EDIT DATABASE … RESET PARAMETER
This returns a parameter to its default or previous setting:
DGMGRL> EDIT DATABASE 'chennai' RESET PARAMETER log_archive_trace;
Parameter "log_archive_trace" reset
3. SET TRACE_LEVEL
This controls the broker tracing verbosity. (In versions prior to 19c, DEBUG
was used. In 19c+, it’s TRACE_LEVEL
.)
DGMGRL> SET TRACE_LEVEL SUPPORT;
DGMGRL> SHOW ALL
trace_level SUPPORT
echo OFF
time OFF
observerconfigfile = observer.ora
Default trace level is USER
, which records standard operational events. Setting it to SUPPORT
will increase the trace details, useful when troubleshooting or working with Oracle Support.
New Mapping of Broker Properties to Database Parameters
Another powerful change: many Data Guard Broker properties are now directly mapped to the underlying database parameters. Examples include:
ArchiveLagTarget
DataGuardSyncLatency
LogArchiveMaxProcesses
LogArchiveMinSucceedDest
LogArchiveTrace
StandbyFileManagement
DbFileNameConvert
LogArchiveFormat
LogFileNameConvert
Thus, when you use EDIT DATABASE SET PARAMETER ...
, you’re effectively updating these Broker properties at the database level.
Rules, Limitations & Considerations
- The target database must be OPEN and running when executing these commands.
- You cannot connect to a remote database with OS authentication for these changes.
- For static parameters, use
SCOPE = SPFILE
(you may need to bounce the instance for changes to take effect). - In RAC environments, changes affect all instances by default.
Summary & Best Practices
- Use
EDIT DATABASE SET PARAMETER
andEDIT DATABASE RESET PARAMETER
in DGMGRL to streamline parameter changes in Data Guard setups. - Use
SET TRACE_LEVEL
instead of the oldDEBUG
keyword in 19c+. - Always validate parameter changes and ensure your scope is correct (MEMORY, SPFILE, or BOTH).
- For production systems, test changes in a controlled environment before applying.
No Comments