Last active
April 30, 2022 03:03
-
-
Save sae13/0a2c2e7ddf5f39acba99386c51dcbd87 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
DECLARE | |
first_owner varchar2(40) := 'SOURCE_USER_NAME'; --SOURCE SCHEMA | |
grant_to varchar2(40) := 'TARGET_USER_NAME'; --USER WHO WANTS GRANT | |
BEGIN | |
FOR r IN ( | |
SELECT 'GRANT SELECT ON '|| OWNER || '.' || TABLE_NAME || ' TO ' || grant_to g FROM ALL_tables WHERE owner LIKE first_owner | |
) | |
LOOP | |
BEGIN | |
-- dbms_output.put_line(r.g); | |
EXECUTE IMMEDIATE r.g; | |
EXCEPTION WHEN OTHERS THEN | |
DBMS_OUTPUT.PUT_LINE(r.g); | |
END; | |
END LOOP; | |
FOR r IN ( | |
SELECT 'GRANT SELECT ON '|| OWNER || '.' || MVIEW_NAME || ' TO ' || grant_to g FROM ALL_MVIEWS WHERE owner LIKE first_owner | |
) | |
LOOP | |
BEGIN | |
-- dbms_output.put_line(r.g); | |
EXECUTE IMMEDIATE r.g; | |
EXCEPTION WHEN OTHERS THEN | |
DBMS_OUTPUT.PUT_LINE(r.g); | |
END; | |
END LOOP; | |
FOR r IN ( | |
SELECT 'GRANT SELECT ON '|| OWNER || '.' || SYNONYM_NAME || ' TO ' || grant_to g FROM ALL_SYNONYMS WHERE owner LIKE first_owner | |
) | |
LOOP | |
BEGIN | |
-- dbms_output.put_line(r.g); | |
EXECUTE IMMEDIATE r.g; | |
EXCEPTION WHEN OTHERS THEN | |
DBMS_OUTPUT.PUT_LINE(r.g); | |
END; | |
END LOOP; | |
FOR r IN ( | |
SELECT 'GRANT SELECT ON '|| SEQUENCE_OWNER || '.' || SEQUENCE_NAME || ' TO ' || grant_to g FROM ALL_SEQUENCES WHERE SEQUENCE_OWNER LIKE first_owner | |
) | |
LOOP | |
BEGIN | |
-- dbms_output.put_line(r.g); | |
EXECUTE IMMEDIATE r.g; | |
EXCEPTION WHEN OTHERS THEN | |
DBMS_OUTPUT.PUT_LINE(r.g); | |
END; | |
END LOOP; | |
FOR r IN ( | |
SELECT | |
'GRANT SELECT ON ' || OWNER || '.' || VIEW_NAME || ' TO ' || grant_to g | |
FROM | |
ALL_VIEWS | |
WHERE | |
owner LIKE first_owner | |
) | |
LOOP | |
BEGIN | |
-- dbms_output.put_line(r.g); | |
EXECUTE IMMEDIATE r.g; | |
EXCEPTION WHEN OTHERS THEN | |
DBMS_OUTPUT.PUT_LINE(r.g); | |
END; | |
END LOOP; | |
END; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment