System Packages Oracle PLSQL Tutorial

SQL>
SQL> set echo on
SQL> set serverout on
SQL>
SQL> declare
  2      type vcArray is table of varchar2(30);
  3      l_types vcArray := vcArray( null, null, null, null, 'synonym',null, 'procedure', 'function','package' );
  4      l_schema   varchar2(30);
  5      l_part1    varchar2(30);
  6      l_part2    varchar2(30);
  7      l_dblink   varchar2(30);
  8      l_type     number;
  9      l_obj#     number;
 10  begin
 11    dbms_utility.name_resolve( name => 'DBMS_UTILITY',
 12                               context       => 1,
 13                               schema        => l_schema,
 14                               part1         => l_part1,
 15                               part2         => l_part2,
 16                               dblink        => l_dblink,
 17                               part1_type    => l_type,
 18                               object_number => l_obj# );
 19    if l_obj# IS NULL
 20    then
 21      dbms_output.put_line('Object not found or not valid.');
 22    else
 23      dbms_output.put( l_schema || '.' || nvl(l_part1,l_part2) );
 24      if l_part2 is not null and l_part1 is not null
 25      then
 26          dbms_output.put( '.' || l_part2 );
 27      end if;
 28      dbms_output.put_line( ' is a ' || l_types( l_type ) ||
 29                            ' with object id ' || l_obj# ||
 30                            ' and dblink "' || l_dblink || '"' );
 31    end if;
 32  end;
 33  /
SYS.DBMS_UTILITY is a package with object id 4224 and dblink ""
PL/SQL procedure successfully completed.