blocoanonimogrants
Bloco Anônimo - Aplicar Grants Read-Only (PL/SQL)
Olá, nesse artigo gostaria de compartilhar com vocês um bloco anônimo de PL/SQL, para aplicação de grants (somente leitura) de um schema para outro schema ou role:
Considerações:
O script abaixo deve ser validado num ambiente não produtivo 1), antes de ser aplicado em produção.
1 - Segue abaixo o bloco anônimo PL/SQL:
- plsql_apply_grants.sql
--------------------------------- --- DBAHero --- --- Author: Leonardo Lopes --- --- Date: 09/12/2023 --- --- v1 --- --------------------------------- DECLARE LV_OBJECT_OWNER VARCHAR2(100); --- schema owner of the objects LV_APPLY_TO VARCHAR2(100); --- schema or role which receives the grant BEGIN LV_OBJECT_OWNER := 'REPLACE_ME' LV_APPLY_TO := 'REPLACE_ME'; FOR O IN ( SELECT OBJECT_NAME, OBJECT_TYPE FROM ALL_OBJECTS WHERE OWNER = LV_OBJECT_OWNER AND OBJECT_TYPE IN ('TABLE','VIEW','PROCEDURE','FUNCTION','PACKAGE') ) LOOP IF O.OBJECT_TYPE IN ('TABLE','VIEW') THEN EXECUTE IMMEDIATE 'GRANT SELECT, UPDATE, INSERT, DELETE ON ' || LV_OBJECT_OWNER || '.' || O.OBJECT_NAME || ' TO ' || LV_APPLY_TO; ELSIF O.OBJECT_TYPE IN ('PROCEDURE','FUNCTION','PACKAGE') THEN EXECUTE IMMEDIATE 'GRANT EXECUTE ON ' || LV_OBJECT_OWNER || '.' || O.OBJECT_NAME || ' TO ' || LV_APPLY_TO; END IF; END LOOP; END; /
- Não se esqueça de substituir "REPLACE_ME" pelos valores desejados.
- LV_OBJECT_OWNER ⇒ O valor dessa variável deve conter o nome do schema owner 2) dos objetos.
- LV_APPLY_TO ⇒ O valor dessa variável deve conter o nome do schema ou role que receberá os grants 3) aos objetos.
- Até a próxima.
Bloco Anônimo - Aplicar Grants Read-Only (PL/SQL)
— Autor: Leonardo Lopes 09/12/2023 03H:57
blocoanonimogrants.txt · Última modificação: 09/12/2023 04H:48 por admin