ammoQ технически правильно.
Учитывая, что пользователь, созданный как указано выше, не имеет привилегии CREATE SESSION, он фактически не может войти в систему или сделать что-либо еще.
Другой пользователь с соответствующей привилегией CREATE ANY ... может создавать объекты (такие как процедуры, функции, триггеры) в схеме / пользователе JOHN. Если это так, то JOHN автоматически получит права на удаление этих объектов (но без привилегии CREATE SESSION им будет трудно этого добиться).
С точки зрения безопасности у Oracle действительно есть набор привилегий, предоставленных PUBLIC. Как только пользователь создан, у него есть куча вещей, которые он может сделать (например, выбрать из представлений, таких как ALL_USERS).