Built-in Packages

Print debug output (PUT_LINE, ENABLE) Read and write OS files via DIRECTORY objects

LOB manipulation (SUBSTR, INSTR, APPEND, LOADCLOBFROMFILE, temporary LOBs) Dynamic SQL method 4

Jobs, programs, schedules, chains, windows (Module 44) Legacy jobs (deprecated) Optimizer statistics (Module 49) Display execution plans

Extract DDL: SELECT DBMS_METADATA.GET_DDL('TABLE','EMPLOYEES') FROM dual; Encryption and hashing Random values (VALUE, STRING) DBMS_LOCK / DBMS_SESSION.SLEEP User locks, sleep DBMS_ALERT, DBMS_PIPE DBMS_AQ, DBMS_AQADM

Advanced Queuing / Transactional Event Queues UTL_HTTP, UTL_SMTP, UTL_MAIL, UTL_TCP

Network calls (need network ACLs via DBMS_NETWORK_ACL_ADMIN)

Object storage, external data, REST (Autonomous DB / 19c+) Online table redefinition

DBMS_FLASHBACK, DBMS_FLASHBACK_ARCHIVE Flashback (Module 33) Virtual Private Database (Module 41)

FORMAT_ERROR_BACKTRACE, GET_TIME, COMPILE_SCHEMA AWR snapshots and reports DBMS_SQLTUNE, DBMS_SPM SQL tuning, SQL plan management Chunked parallel DML Compare and converge data between DBs DML error logging tables DBMS_VECTOR, DBMS_VECTOR_CHAIN AI vector embedding and chunking (23ai)

Select AI: natural language to SQL (ADB, 23ai)

-- UTL_FILE example
CREATE DIRECTORY data_dir AS '/u01/data';   GRANT READ, WRITE ON DIRECTORY data_dir TO hr;
DECLARE f UTL_FILE.FILE_TYPE;
BEGIN
    f := UTL_FILE.FOPEN('DATA_DIR', 'emps.csv', 'w', 32767);
    FOR r IN (SELECT employee_id, last_name FROM employees) LOOP
        UTL_FILE.PUT_LINE(f, r.employee_id || ',' || r.last_name);
    END LOOP;
    UTL_FILE.FCLOSE(f);
END;
/