Expert

Q:

27-30.

One of the most common mistakes is forgetting to refresh the information available to the listener. If information in the LISTENER.ORA file is changed while the listener is up, it does not take effect until the listener is stopped and restarted. Alternatively, the reload command can be used to refresh the information while the listener is up.

Q:

27-31.

One of the most common requests from developers or clients is to have an email message sent based on some triggering event in the database. The solution for the email-notification problem is to use an external procedure to call an operating system library to send the email. Here are the steps in the process:

  1. Ensure that the DBA for your site has properly configured an external procedure listener to handle the calls you make to OS libraries. This requires a combination of entries in both the TNSNAMES.ORA and LISTENER.ORA files.

  2. Create a shared library to call the appropriate OS command to send an email message. For this example, assume that the underlying operating system is Unix, and that the following code has been compiled into a shared library in the directory /usr/local/bin:

    #include <stdio.h>
    #include <stdlib.h>
    #include <unistd.h>
    #include <signal.h>
    
    void send_email(char * address, char * message) {
      char command[256];
      FILE * PIPE;
      sprintf(command, "/usr/bin/mailx %s", address);
      PIPE = popen (command, "w");
      if (PIPE)
      {
        fprintf(PIPE, message);
        pclose(PIPE);
      }
    }
  3. Create a library to reference the OS object that contains ...

Get Oracle PL/SQL Programming: A Developer's Workbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.