Q:

Creating index on nested table column

    CREATE TYPE nums_list AS TABLE OF NUMBER;

    CREATE TABLE mytest (
        id NUMBER,
        num NUMBER,
        tagged nums_list
    )
    NESTED TABLE tagged STORE AS mytest_tagged_table;

Now I need creating index on tagged nested table column.
So according to documentation , Syntax is like this:
CREATE INDEX index_name
ON nested_storage_table(NESTED_TABLE_ID, document_typ);

I don't get what means second parameter document_typ ? and not found any explanation about this.
Any help is appreciated.

A:

This is an interesting example of the Oracle documentation being out of synch. The index example should include the definitions of the types. However we can find these examples in the the PL/SQL reference. So PRINT_MEDIA.AD_TEXTDOCS_NTAB is of type TEXTDOC_TAB which has this signature:
CREATE TYPE textdoc_typ AS OBJECT
    ( document_typ      VARCHAR2(32)
    , formatted_doc     BLOB
    ) ;

CREATE TYPE textdoc_tab AS TABLE OF textdoc_typ;

So, document_typ is some form of metadata column in a user-defined type. There is no equivalent of this column in your case because of the way you have defined the collection type: it has no named columns to index.
It is hard to give a definitive solution without understanding why you're using a nested table and why you think it needs an index. However, this might suit you:  
CREATE OR REPLACE TYPE num_t AS OBJECT (numcol NUMBER);

CREATE OR REPLACE TYPE nums_list AS TABLE OF num_t;

So you can then build an index on your table's nested storage:
CREATE INDEX index_name
    ON nested_storage_table(NESTED_TABLE_ID, numcol);

