(*) if you grant any role to grantee while grantee is connected to database. He cannot use that role immediately. To use it immediately he needs to execute “Set role role_name” in his session. This will enable that role for him or he needs to logoff and login again.
(*) If you have given any object level grant to grantee, grantee need to execute that as fully qualified path for accessing that object. To access object with simple name you need to create private synonym in grantee’s schema.
(*) If a table is aletered,
(1) its associated trigger & views (dba_dependencies) become invalid.
(2) If some other user are accessing this then trigger and views are compiled automatically and executed if they compiled successfully.
(3) Grants remain intact while this process.
(*) If a table is renamed then
(1) associated trigger, views become invalid.
(2) synonyms that are pointing to this table from other user also unable to resolve target object name and gives ORA-00980 “synonym trnaslation is no longer valid”.
(3) Grantee has all object level grants intact on this new object and this renamed object can be still access with fully qualified name (with schemaname). so user can user those grant. If grantee/owner is able to execute some DML that initiate trigger then trigger will be compiled and validated.
(4) The only problem is view. For views, you need to modify its definition manually and compile. You donot need to re-grant again.
(*) if table is droppped then
(1) Associated trigger also dropped. Views become invalid.
(2) Synonyms that are pointing to this table from other user also unable to resolve target object name and gives ORA-00980 “synonym trnaslation is no longer valid”.