If the procedure is part of a package, you MUST recompile the entire package using the ALTER PACKAGE command. In other words, using ALTER PROCEDURE won't work.
I'd like to ask something, though ... what do you mean by "altering a stored procedure"? You modified its code or the declaration as well? If it's only the code, fine. You'll have to execute
ALTER PACKAGE name_of_the_package COMPILE BODY;
If it results in compilation errors, the body will be invalid but dependent objects will NOT be invalidated.
But, if you changed declaration of the procedure, you'll have to change other program objects that call this procedure. They'll have to be recompiled as well, right? Therefore, execute
ALTER PACKAGE name_of_the_package COMPILE PACKAGE;
If it results in compilation errors, all dependent objects will also be invalidated.
I don't know if you use TOAD (I'd suggest it) as it enables you to manipulate with packages and their objects easily.