Intermediate

Q:

22-9.

Surprisingly, your pipe name can have up to 128 characters in it. In other words, you are not constrained to the usual 30 characters. Oracle also requests that you not use/create any pipes whose names start with “ORA$”.

Q:

22-10.

The statements are:

  1. False. A DBMS_PIPE message consists of a single VARCHAR2 string. A message may contain any combination of packets with the following datatypes: VARCHAR2, NUMBER, DATE, RAW, and ROWID.

  2. False. The maximum size of a pipe is 2 GB. There is no maximum pipe size; the only limitation is your SGA and, by extension, the real memory of your database server.

  3. True.

  4. True.

  5. False. You can send a LONG value through a database pipe. Well, this is actually a yes and no statement. You can send a LONG value as long as it contains no more than 32 KB (i.e., it can fit into a PL/SQL VARCHAR2 variable).

  6. False. If a database pipe is “private,” you must provide a password to read/write the contents of the pipe. There is no password protection for a pipe. If a pipe is private, you can read/write the pipe only if you are connected to the same schema (not session, just same schema name) as the creator of the pipe) or if you have SYSDBA privileges.

  7. True.

  8. True.

Q:

22-11.

Use the CREATE_PIPE function to get the job done:

DECLARE
   stat PLS_INTEGER;
BEGIN
   stat := DBMS_PIPE.CREATE_PIPE (
      'national_security',
      2000*1024,
      private=>TRUE);
END;
/

Q:

22-12.

Call RESET_BUFFER if you want to make sure there are no packets of information previously packed into the buffer since ...

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.