At the end of the month, the server administrators are changing the IP address of our smtp server.
I was given a list of all servers registered in the server log over the last few weeks.
On these servers are EDI apps, task scheduler jobs, databases and application servers and it was my task to drill through each and everyone, finding all the instances of where the smtp server was utilized directly through IP. Most of the stuff was simple, but I did struggle initially to find the smtp preferences for APEX installations, scheduler job notifications and plain old job notifications.
There locations can be found using the following queries and blocks of pl/sql.
To find the SMTP relay for an APEX schema:
SELECT
APEX_040200.WWV_FLOW_PLATFORM.GET_PREFERENCE('SMTP_HOST_ADDRESS'),
APEX_040200.WWV_FLOW_PLATFORM.GET_PREFERENCE('SMTP_HOST_PORT'),
APEX_040200.WWV_FLOW_PLATFORM.GET_PREFERENCE('SMTP_USERNAME'),
APEX_040200.WWV_FLOW_PLATFORM.GET_PREFERENCE('SMTP_PASSWORD'),
APEX_040200.WWV_FLOW_PLATFORM.GET_PREFERENCE('SMTP_TLS_MODE')
FROM dual
To change the SMTP relay for APEX:
EXEC APEX_UTIL.SET_PREFERENCE(p_preference=>'SMTP_HOST_ADDRESS', p_value =>'smtprelay.<smtpserver>.net');
To see the settings of the SMTP relay for the scheduler jobs:
SET SERVEROUTPUT ON
DECLARE
V_VALUE VARCHAR(100);
BEGIN
DBMS_SCHEDULER.GET_SCHEDULER_ATTRIBUTE('email_server',V_VALUE);
DBMS_OUTPUT.PUT_LINE(V_VALUE);
END;
/
To see the settings for the old dba jobs system:
SELECT attribute_name,
value
FROM dba_scheduler_global_attribute
WHERE attribute_name like '%EMAIL%';
ATTRIBUTE_NAME VALUE
------------------------------ -------------------------------------
EMAIL_SERVER smtprelay.<smtpserver>.net:25
EMAIL_SERVER_ENCRYPTION NONE
EMAIL_SERVER_CREDENTIAL
EMAIL_SENDER
No comments:
Post a Comment