class OCI8::Metadata::Schema

def all_objects

This includes unusable objects.
array of objects in the schema.
def all_objects
  @all_objects ||=
    begin
      begin
        objs = list_objects
      rescue OCIError => exc
        if exc.code != -1
          raise
        end
        # describe again.
        objs = __con.describe_schema(obj_schema).list_objects
      end
      objs.to_a.collect! do |elem|
        case elem
        when OCI8::Metadata::Type
          # to avoid a segmentation fault
          begin
            __con.describe_type(elem.obj_schema + '.' + elem.obj_name)
          rescue OCIError
            # ignore ORA-24372: invalid object for describe
            raise if $!.code != 24372
          end
        else
          elem
        end
      end.compact
    end
end