Stored Procedure Function Oracle PLSQL

SQL>
SQL>
SQL> create or replace
  2    procedure default_values(
  3    p_parm1 varchar2,
  4    p_parm2 varchar2 default 'default 1',
  5    p_parm3 varchar2 default 'default 2' ) as
  6  begin
  7    dbms_output.put_line( p_parm1 );
  8    dbms_output.put_line( p_parm2 );
  9    dbms_output.put_line( p_parm3 );
 10  end default_values;
 11  /
Procedure created.
SQL>
SQL> exec default_values( 'Tom', p_parm3 => 'Joel' );
Tom
default 1
Joel
PL/SQL procedure successfully completed.
SQL>
SQL> exec default_values( p_parm4 => 'Tom' );
BEGIN default_values( p_parm4 => 'Tom' ); END;
      *
ERROR at line 1:
ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'DEFAULT_VALUES'
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored