Table Oracle PLSQL

SQL>
SQL> set serveroutput on
SQL>
SQL> CREATE OR REPLACE PROCEDURE P2 AS
  2  BEGIN
  3    DBMS_OUTPUT.PUT_LINE('Inside P2!');
  4  END P2;
  5  /
Procedure created.
SQL>
SQL> CREATE OR REPLACE PROCEDURE P1 AS
  2  BEGIN
  3    DBMS_OUTPUT.PUT_LINE('Inside P1!');
  4    P2;
  5  END P1;
  6  /
SQL>
SQL> 
SQL> SELECT object_name, object_type, status FROM user_objects WHERE object_name IN ('P1', 'P2');
OBJECT_NAME          OBJECT_TYPE         STATUS
-------------------- ------------------- ----------
P1                   TABLE               VALID
P1                   PACKAGE BODY        INVALID
P2                   PROCEDURE           VALID
P2                   PACKAGE BODY        INVALID
4 rows selected.
SQL>
SQL> 
SQL> ALTER PROCEDURE P2 COMPILE;
Procedure altered.
SQL>
SQL> SELECT object_name, object_type, status FROM user_objects WHERE object_name IN ('P1', 'P2');
OBJECT_NAME          OBJECT_TYPE         STATUS
-------------------- ------------------- ----------
P1                   TABLE               VALID
P1                   PACKAGE BODY        INVALID
P2                   PROCEDURE           VALID
P2                   PACKAGE BODY        INVALID
4 rows selected.
SQL>
SQL> CREATE DATABASE LINK loopback USING 'connect_string';
SQL>
SQL> 
SQL> CREATE OR REPLACE PROCEDURE P1 AS
  2  BEGIN
  3    DBMS_OUTPUT.PUT_LINE('Inside P1!');
  4    P2@loopback;
  5  END P1;
  6  /
SQL>
SQL> 
SQL> SELECT object_name, object_type, status
  2    FROM user_objects
  3    WHERE object_name IN ('P1', 'P2');
OBJECT_NAME          OBJECT_TYPE         STATUS
-------------------- ------------------- ----------
P1                   TABLE               VALID
P1                   PACKAGE BODY        INVALID
P2                   PROCEDURE           VALID
P2                   PACKAGE BODY        INVALID
4 rows selected.
SQL>
SQL> 
SQL> ALTER PROCEDURE P2 COMPILE;
Procedure altered.
SQL> SELECT object_name, object_type, status
  2    FROM user_objects
  3    WHERE object_name IN ('P1', 'P2');
OBJECT_NAME          OBJECT_TYPE         STATUS
-------------------- ------------------- ----------
P1                   TABLE               VALID
P1                   PACKAGE BODY        INVALID
P2                   PROCEDURE           VALID
P2                   PACKAGE BODY        INVALID
4 rows selected.
SQL>