Intermediate

22-9.

What is the maximum length of a pipe name?

22-10.

Which of the following statements are true, and which are false?

  1. A DBMS_PIPE message consists of a single VARCHAR2 string.

  2. The maximum size of a pipe is 2 GB.

  3. The maximum size of a message is 4 KB.

  4. The default wait time for a send or receive operation is 1,000 days (86,400,000 seconds).

  5. You can send a LONG value through a database pipe.

  6. If a database pipe is “private,” you must provide a password to read/write the contents of the pipe.

  7. Once you read a message from a pipe, that information is removed from the pipe.

  8. Each session maintains a separate message buffer for each of its pipes.

22-11.

Write a block of code to create a private pipe named “national_security” with an initial size of 2 MB.

22-12.

Why might you want to call DBMS_PIPE.RESET_BUFFER before packing your message for sending?

22-13.

You send a message to a pipe as follows:

DECLARE
   stat INTEGER;
BEGIN
   DBMS_PIPE.PACK_MESSAGE (SYSDATE);
   stat := DBMS_PIPE.SEND_MESSAGE ('when');
END;

But when you try to read the contents of the pipe with the following block, you get an error. What are you doing wrong?

DECLARE
   stat INTEGER;
BEGIN
   stat := DBMS_PIPE.RECEIVE_MESSAGE ('when');
   DBMS_PIPE.UNPACK_MESSAGE (stat);
END;

22-14.

Write a block of code that sets up an infinite loop to receive a single numeric value from a pipe named “production”; specify that you are willing to wait up to 10 minutes for a message to appear in the pipe. If the message is not received successfully, display an ...

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.