Criação de Owner e Atribuição de Permissões


O TOTVS Agro Pesagem Offline não terá um owner específico, pois não possui tabelas ou recursos próprios de banco de dados. Ele realiza a conexão diretamente com a base do TOTVS Agro Bioenergia. Para esse processo, deve ser criada uma trigger de logon para o owner do TOTVS Agro Bioenergia.

CREATE USER {{DB_USUARIO_PESAGEM_OFFLINE_INTEGRACAO}} IDENTIFIED BY "DB_SENHA_PIMS_SERVER_INTEGRACAO"  DEFAULT TABLESPACE PIMS_DATA TEMPORARY TABLESPACE TEMP PROFILE DEFAULT ACCOUNT UNLOCK; 
 
GRANT CONNECT                       TO {{DB_USUARIO_PESAGEM_OFFLINE_INTEGRACAO}};
GRANT RESOURCE                      TO {{DB_USUARIO_PESAGEM_OFFLINE_INTEGRACAO}};
GRANT UNLIMITED TABLESPACE          TO {{DB_USUARIO_PESAGEM_OFFLINE_INTEGRACAO}};
GRANT CREATE SYNONYM                TO {{DB_USUARIO_PESAGEM_OFFLINE_INTEGRACAO}};
GRANT CREATE VIEW                   TO {{DB_USUARIO_PESAGEM_OFFLINE_INTEGRACAO}};
GRANT CREATE PROCEDURE              TO {{DB_USUARIO_PESAGEM_OFFLINE_INTEGRACAO}};
GRANT CREATE TRIGGER                TO {{DB_USUARIO_PESAGEM_OFFLINE_INTEGRACAO}};
GRANT CREATE SEQUENCE               TO {{DB_USUARIO_PESAGEM_OFFLINE_INTEGRACAO}}; 
GRANT CREATE MATERIALIZED VIEW      TO {{DB_USUARIO_PESAGEM_OFFLINE_INTEGRACAO}};
GRANT CREATE ANY TABLE              TO {{DB_USUARIO_PESAGEM_OFFLINE_INTEGRACAO}};
GRANT ALTER ANY TABLE               TO {{DB_USUARIO_PESAGEM_OFFLINE_INTEGRACAO}};
GRANT INSERT ANY TABLE              TO {{DB_USUARIO_PESAGEM_OFFLINE_INTEGRACAO}};
GRANT UPDATE ANY TABLE              TO {{DB_USUARIO_PESAGEM_OFFLINE_INTEGRACAO}};
GRANT DELETE ANY TABLE              TO {{DB_USUARIO_PESAGEM_OFFLINE_INTEGRACAO}};
GRANT SELECT ANY TABLE              TO {{DB_USUARIO_PESAGEM_OFFLINE_INTEGRACAO}};
GRANT CREATE ANY TRIGGER            TO {{DB_USUARIO_PESAGEM_OFFLINE_INTEGRACAO}};
GRANT CREATE ANY SEQUENCE           TO {{DB_USUARIO_PESAGEM_OFFLINE_INTEGRACAO}};
 
 
ALTER USER {{DB_USUARIO_PESAGEM_OFFLINE_INTEGRACAO}} QUOTA UNLIMITED      ON PIMS_DATA;
ALTER USER {{DB_USUARIO_PESAGEM_OFFLINE_INTEGRACAO}} QUOTA UNLIMITED      ON PIMS_INDX;  



CREATE OR REPLACE TRIGGER TG_LOGON_OWNER_INTEGRACAO_PESAGEM_OFFLINE
 AFTER LOGON ON DATABASE
BEGIN
    IF SYS_CONTEXT('USERENV', 'SESSION_USER') = 'DB_USUARIO_PESAGEM_OFFLINE_INTEGRACAO' THEN
        EXECUTE IMMEDIATE 'ALTER SESSION SET CURRENT_SCHEMA = OWNER_BIOENERGIA';
    END IF;
END;