Skip to content
pvmehta.com

pvmehta.com

  • Home
  • About Me
  • Toggle search form
  • Find_stale_dr.sql finding stale physical DR.. Oracle
  • catall.sh Linux/Unix
  • Session_info.ksh Linux/Unix
  • Find all users who have DML privileges Oracle
  • DBMS_SQL for alter session. Oracle
  • upload.html PHP/MYSQL/Wordpress
  • cp_filesystem.sql Oracle
  • Looping for remote servers and find its database from oratab file. Linux/Unix
  • Sending email with file attachment. Linux/Unix
  • How To Resolve Stranded DBA_2PC_PENDING Entries ID 401302.1 (Very Good prooven) Oracle
  • Vivek’s egrep commands to trace problem. (on linux x86-64) Linux/Unix
  • Find total file sizes Linux/Unix
  • lck.sql Oracle
  • RAC 11g with vmware Oracle
  • how to find VIP from ifconfig Linux/Unix

EXTPROC

Posted on 23-Jul-2009 By Admin No Comments on EXTPROC

EXTPROC

Scope and Application

A list of the essential components for executing an external procedure is included below, along with a brief description of the role of each.

Database:

Responsible for storing any information required to locate and execute an external procedure (e.g. the location of shared library, number and types of arguments, etc.)

Initiates the call to the procedure via the listener and external procedure agent

Both the library alias and call specification are stored in the database.

Llistener:

Listens for external procedure requests from databases and starts external procedure agent processes (one per session)

External procedure agent:

Accepts information (arguments, shared library location, etc.) from the database, loads the shared library as required, and executes the corresponding function in some other language

Corresponds to the extproc executable which resides in $ORACLE_HOME/bin

User-provided shared library:

Contains the user-written function that implements the desired functionality

Library alias:

Records the location of the shared library within the database

Used in the PL/SQL call specification

External procedure call specification:

Provides a description of the procedure, including its PL/SQL name, arguments and types, and the name of the library alias and the function (written in another language) implementing the procedure, or libunit in the case of a Java class method

External Procedures – Troubleshooting ORA-28575 Errors

A Typical Sequence of Events

The following is a typical sequence of events:

The user invokes the call specification corresponding to an external procedure via PL/SQL or some other programmatic interface.

The database examines the call specification to find the name of the shared library implementing the function, as well as the name of the function and the number and type of the arguments.

The database uses the extproc_connection_data service name in the tnsnames.ora file to contact the external procedure listener.

Note: This step only occurs the first time the external procedure is invoked within a given session. After that, the existing external procedure agent can be contacted directly

The listener starts an external procedure agent process to service the external procedure execution request and returns the address of the new extproc agent to the requesting database.

The database sends the external procedure agent the name of the shared library, the name of the function to invoke, and after performing the required conversions from PL/SQL to another language datatypes, the actual arguments.

The external procedure agent loads the shared library, invokes the appropriate function, converts any returned data from another language datatypes to the corresponding PL/SQL types, and sends the data back to the database.

Oracle, SQL scripts

Post navigation

Previous Post: How to remove blank lines using vi editor command
Next Post: Alter procedure auditing

Related Posts

  • oracle Dba site Oracle
  • Standby Database File Management in 10g with STANDBY_FILE_MANAGEMENT Oracle
  • Backup and Recovery Scenarios Oracle
  • _B_TREE_BITMAP_PLANS issue during 8.1.7 to 9.2.0.8 upgrade Oracle
  • Nice notes on wait events Oracle
  • Oracle 11g RAC on OEL 5 and Vmware 2 Oracle

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Categories

  • Ansible (0)
  • AWS (2)
  • Azure (1)
  • Django (0)
  • GIT (1)
  • Linux/Unix (149)
  • MYSQL (5)
  • Oracle (402)
  • PHP/MYSQL/Wordpress (10)
  • POSTGRESQL (1)
  • Power-BI (0)
  • Python/PySpark (7)
  • RAC (18)
  • rman-dataguard (26)
  • shell (150)
  • SQL scripts (350)
  • SQL Server (6)
  • Uncategorized (3)
  • Videos (0)

Recent Posts

  • runon_allpdbs_show_conname.sh23-Apr-2026
  • runon_allcdbs_find_pdbs.sql23-Apr-2026
  • Running PDB on single node in RAC09-Apr-2026
  • find_arc.sql09-Apr-2026
  • pvm_pre_change.sql08-Apr-2026
  • find_encr_wallet.sql08-Apr-2026
  • find_pdbs.sql08-Apr-2026
  • Creating a Container Database using dbaascli08-Apr-2026
  • track_autoupgrade_copy_progress.sql01-Apr-2026
  • refre.sql for multitenant01-Apr-2026

Archives

  • 2026
  • 2025
  • 2024
  • 2023
  • 2010
  • 2009
  • 2008
  • 2007
  • 2006
  • 2005
  • DBMS_UTILITY.ANALYZE_SCHEMA Oracle
  • Debugging Shell FIles Linux/Unix
  • Settting up get_vmstat.sh for colletinf CPU Usage. Oracle
  • remove archfiles only when it is applied to DR rm_archfiles.sh Linux/Unix
  • Find All internal Parameters Oracle
  • Giving Grant on v$DATABASE Oracle
  • DBMS_Shared_pool pinning triggers Oracle
  • Goog notes on X$ tables Oracle

Copyright © 2026 pvmehta.com.

Powered by PressBook News WordPress theme