SYS as SYSDMA is needed.

Originally Posted by
hany
what user are using to run the catproc.sql script? This needs to be SYS.
Exactly, look at the message:
SQL> @C:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\catproc.sql
DOC>######################################################################
DOC>######################################################################
DOC> The following PL/SQL block will cause an ORA-20000 error
and
DOC> terminate the current SQLPLUS session if the user is not SYS.
DOC> Disconnect and reconnect with AS SYSDBA.
DOC>######################################################################
DOC>######################################################################
DOC>#
Also I agree with davey23uk, use dbca to create the database.
"The person who says it cannot be done should not interrupt the person doing it." --Chinese Proverb