List All Functions in Oracle Database

Here are several ways to get a list of functions in Oracle Database.

The user_objects View

The user_objects view lists all objects that are owned by the current user.

We can run a query against this view and filter its results to just functions:

SELECT 
    object_name
FROM 
    user_objects
WHERE
    object_type = 'FUNCTION';

As mentioned, this returns only those objects that are owned by the current user.

To return more than that, use one of the following views.

The all_objects View

The all_objects view lists all objects that are accessible to the current user:

SELECT 
    owner,
    object_name
FROM 
    all_objects
WHERE
    object_type = 'FUNCTION';

This view includes an owner column that tells us who the owner is, so I’ve included that in the query here.

The dba_objects View

The dba_objects view lists all objects in the database:

SELECT 
    owner,
    object_name
FROM 
    dba_objects
WHERE
    object_type = 'FUNCTION';

This view’s columns are the same as those in the all_objects view.

We can also use the user_procedures, dba_procedures, and all_procedures views to do the same thing. These views return info about functions and stored procedures.