Understanding ALERT_LOG_MAX_SIZE in Oracle Database 26ai (RU 23.9)
Starting with Oracle AI Database 26ai, Release Update 23.9, Oracle introduced a new initialization parameter called ALERT_LOG_MAX_SIZE. This parameter gives DBAs more control over the size and management of the alert log - one of the most important diagnostic files in an Oracle environment.
In this post,
we’ll break down what the parameter does, how it behaves, and what you need to
know before setting it in your database.
What Is ALERT_LOG_MAX_SIZE?
ALERT_LOG_MAX_SIZE
specifies the maximum size of the XML alert log, expressed in bytes. It
helps prevent the alert log from growing indefinitely and consuming unnecessary
disk space.
|
Property |
Description |
|
Parameter Type |
Big integer |
|
Syntax |
ALERT_LOG_MAX_SIZE
= integer [K,M,G] |
|
Default Value |
1000M |
|
Modifiable |
Yes (via ALTER
SYSTEM) |
|
Modifiable in PDB |
No |
|
Range |
0, and 50
MB up to OS-dependent maximum |
|
Basic Parameter |
No |
|
Oracle RAC |
Each
instance may have its own value |
How Oracle
Allocates Alert Log Space
Oracle
allocates the alert log in segments of 50 MB each.
This design is important because:
- The default value of 1000
MB becomes 20 segments × 50 MB.
- If you set a value not
divisible by 50 MB, Oracle rounds up to the next 50 MB segment
boundary.
Example
If you set:
ALTER SYSTEM
SET ALERT_LOG_MAX_SIZE = 130M;
You might
expect a 130 MB limit, but Oracle allocates:
- 130 MB → rounded up to 150 MB
- Effective size = 3 segments of
50 MB
This behaviour
is automatic and by design.
Special
Case: Setting the Parameter to 0
When you set:
ALTER SYSTEM
SET ALERT_LOG_MAX_SIZE = 0;
It means:
- The XML alert log can grow to an unlimited
number of 50 MB segments.
- The text alert log becomes a single unlimited
segment.
Use this
setting only when you want no restriction on alert log size — typically
in environments where storage is tightly monitored or logs are managed by
external tools.
Invalid
Values
Oracle
enforces constraints for safety:
- Any value less than 50 MB,
except 0, throws an error.
- This ensures the segment-based
architecture remains consistent.
When Should You Modify ALERT_LOG_MAX_SIZE?
You may want to adjust this parameter when:
✔ Your alert log grows rapidly
High-volume
environments with lots of diagnostics (e.g., RAC, DG, heavy PL/SQL logging).
✔ You want to restrict disk usage
To prevent
unexpected partition growth.
✔ You want more predictable log rotation
Especially
when integrating with monitoring/logging tools.
✔ Each RAC instance requires different limits
The parameter is instance-specific in RAC.
Example: Setting the Parameter
· To modify the maximum alert log size:
ALTER SYSTEM
SET ALERT_LOG_MAX_SIZE = 2G;
This would
allocate:
- 2 GB → automatically rounded to the
nearest multiple of 50 MB
- Effective size = 40 × 50 MB
segments = 2000 MB
Key
Takeaways
- Introduced in Oracle 26ai RU
23.9.
- Controls the maximum size of the XML
alert log.
- Allocation occurs in 50 MB
segments.
- Oracle rounds the size up
to the next multiple of 50 MB.
- Setting it to 0 means unlimited
growth.
- Not modifiable inside a PDB.
- RAC allows different values
per instance.
Comments
Post a Comment