ORA-28168: attempted to grant password-protected role
Cause : An ALTER USER ... GRANT CONNECT command was attempted specifying a role that is protected by a password as a role which the proxy may execute on behalf of a client.
Action - How to fix it : DBA Scripts :: www.high-oracle.com/scripts
Either specify a role that does not have a password or alter the role so that a password is not required.
Well, the reason for above error is that i have taken the above script from a 11g database and running it on 10g database. 11g has bring some changes in password management. Below code is executed on 11g and user created successfully, which is expected result.