Histórico da Página
Informações | ||
---|---|---|
| ||
Página destinada a atualizações 1.5.13 e anteriores. Acesse a página original a partir da atualização 1.6: Configuração do banco de dados Oracle. |
Versões homologadas do Oracle
Para verificar as versões homologadas do Oracle acesse a Matriz de Portabilidade.
Configuração do banco
É necessário que o administrador do banco Oracle® (DBA) efetue algumas alterações de segurança no banco de dados Oracle®, fazendo com que o usuário (schema) informado na instalação do TOTVS Fluig Plataforma não possua permissão de leitura/alteração em outros schemas do banco Oracle®, caso existam.
Deve possuir permissão de leitura/alteração somente no usuário (schema) utilizado pelo Fluigpela plataforma.
Criação do usuário e concessão de privilégios
Para a criação de um novo usuário em banco de dados Oracle usamos a instrução CREATE USER, conforme sintaxe abaixo:
...
Bloco de código | ||
---|---|---|
| ||
GRANT CONNECT,RESOURCE TO userid;
GRANT CREATE VIEW TO userid;
GRANT CREATE TABLE TO userid; |
Onde:
- userid: Nome do usuário criado anteriormente;
Por fim, será Neste momento é necessário executar um comando SQL no os procedimentos SQL abaixo com o usuário userid no banco de dados a ser usado para o fluig:a plataforma:
Aviso | ||
---|---|---|
| ||
|
Bloco de código | |||
---|---|---|---|
| |||
DECLARE AUX_USERCONNECTED VARCHAR2(30); BEGIN SELECT USER INTO AUX_USERCONNECTED FROM DUAL; IF (AUX_USERCONNECTED <> 'SYS') AND (AUX_USERCONNECTED <> 'SYSTEM') THEN EXECUTE IMMEDIATE ('CREATE OR REPLACE VIEW ' ||AUX_USERCONNECTED|| '.CREATE VIEW ALL_OBJECTS AS' || ' SELECT * FROM SYS.ALL_OBJECTS WHERE OWNER =IN sys_context('USERENV', 'CURRENT_SCHEMA(SELECT USER FROM DUAL)'); CREATE VIEW EXECUTE IMMEDIATE ('CREATE OR REPLACE VIEW ' ||AUX_USERCONNECTED|| '.ALL_SYNONYMS AS' || ' SELECT * FROM SYS.ALL_SYNONYMS WHERE OWNER =IN sys_context('USERENV', 'CURRENT_SCHEMA(SELECT USER FROM DUAL)'); CREATE EXECUTE IMMEDIATE ('CREATE OR REPLACE VIEW ' ||AUX_USERCONNECTED|| '.ALL_SEQUENCES AS' || ' SELECT * FROM SYS.ALL_SEQUENCES WHERE SEQUENCE_OWNER =IN sys_context('USERENV', 'CURRENT_SCHEMA(SELECT USER FROM DUAL)'); CREATE VIEW EXECUTE IMMEDIATE ('CREATE OR REPLACE VIEW ' ||AUX_USERCONNECTED|| '.ALL_CONSTRAINTS AS' || ' SELECT * FROM SYS.ALL_CONSTRAINTS WHERE OWNER =IN sys_context('USERENV', 'CURRENT_SCHEMA(SELECT USER FROM DUAL)'); EXECUTE IMMEDIATE ('CREATE OR REPLACE VIEW ' ||AUX_USERCONNECTED|| '.ALL_CONS_COLUMNS AS' || ' SELECT * FROM SYS.ALL_CONS_COLUMNS WHERE OWNER =IN sys_context('USERENV', 'CURRENT_SCHEMA'); CREATE VIEW (SELECT USER FROM DUAL)'); EXECUTE IMMEDIATE ('CREATE OR REPLACE VIEW ' ||AUX_USERCONNECTED|| '.ALL_INDEXES AS' || ' SELECT * FROM SYS.ALL_INDEXES WHERE OWNER =IN sys_context('USERENV', 'CURRENT_SCHEMA(SELECT USER FROM DUAL)'); EXECUTE IMMEDIATE ('CREATE OR REPLACE VIEW ' ||AUX_USERCONNECTED|| '.ALL_IND_COLUMNS AS' || ' SELECT * FROM SYS.ALL_IND_COLUMNS WHERE TABLE_OWNER =IN sys_context('USERENV', 'CURRENT_SCHEMA'); CREATE VIEW (SELECT USER FROM DUAL)'); EXECUTE IMMEDIATE ('CREATE OR REPLACE VIEW ' ||AUX_USERCONNECTED|| '.ALL_TABLES AS' || ' SELECT * FROM SYS.ALL_TABLES WHERE OWNER =IN sys_context('USERENV', 'CURRENT_SCHEMA'); CREATE VIEW (SELECT USER FROM DUAL)'); EXECUTE IMMEDIATE ('CREATE OR REPLACE VIEW ' ||AUX_USERCONNECTED|| '.ALL_TAB_COLUMNS AS' || ' SELECT * FROM SYS.ALL_TAB_COLUMNS WHERE OWNER =IN sys_context('USERENV', 'CURRENT_SCHEMA'); |
Nota | ||
---|---|---|
| ||
O comando SQL acima deverá ser executado com o usuário "userid" criado nos passos anteriores. |
(SELECT USER FROM DUAL)');
END IF;
END; |
Oracle 12cOracle 12c:
Caso seja utilizado Oracle 12c ou superior é necessário alterar o arquivo <INSTALL_FLUIG>\jboss\bin\standalone.conf.bat(standalone.conf em ambientes Linux) e incluir a seguinte linha:
...
Nota | ||
---|---|---|
| ||
NLS (National Language Support) é utilizado para definir datas, números, moeda e configurações de idioma. O NLS_CHARACTERSET para o Fluig a plataforma é AL32UTF8.
|
CREATE VIEW ALL_OBJECTS AS
SELECT * FROM SYS.ALL_OBJECTS
WHERE OWNER = sys_context('USERENV', 'CURRENT_SCHEMA');
CREATE VIEW ALL_SYNONYMS AS
SELECT * FROM SYS.ALL_SYNONYMS
WHERE OWNER = sys_context('USERENV', 'CURRENT_SCHEMA');
CREATE VIEW ALL_SEQUENCES AS
SELECT * FROM SYS.ALL_SEQUENCES
WHERE SEQUENCE_OWNER = sys_context('USERENV', 'CURRENT_SCHEMA');
CREATE VIEW ALL_CONSTRAINTS AS
SELECT * FROM SYS.ALL_CONSTRAINTS
WHERE OWNER = sys_context('USERENV', 'CURRENT_SCHEMA');
CREATE VIEW ALL_CONS_COLUMNS AS
SELECT * FROM SYS.ALL_CONS_COLUMNS
WHERE OWNER = sys_context('USERENV', 'CURRENT_SCHEMA');
CREATE VIEW ALL_INDEXES AS
SELECT * FROM SYS.ALL_INDEXES
WHERE OWNER = sys_context('USERENV', 'CURRENT_SCHEMA');
CREATE VIEW ALL_IND_COLUMNS AS
SELECT * FROM SYS.ALL_IND_COLUMNS
WHERE TABLE_OWNER = sys_context('USERENV', 'CURRENT_SCHEMA');
CREATE VIEW ALL_TABLES AS
SELECT * FROM SYS.ALL_TABLES
WHERE OWNER = sys_context('USERENV', 'CURRENT_SCHEMA');
CREATE VIEW ALL_TAB_COLUMNS AS
SELECT * FROM SYS.ALL_TAB_COLUMNS
...
Datasource - Finalidade da Tag new-connection-sql
No arquivo de configuração standalone.xml ([Instalação fluig]/jboss/standalone/configuration) da plataforma é incluído pela wizard de instalação, quando selecionado o banco de dados Oracle, a tag abaixo, tendo a seguinte finalidade:
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
<new-connection-sql>alter session set nls_comp = 'LINGUISTIC' nls_sort = 'BINARY_CI'</new-connection-sql> |
- O parâmetro nls_comp especifica o comportamento de agrupamento da sessão do banco de dados. É utilizado como LINGUISTIC, aonde as comparações irão ignorar maiúsculos e minúsculos inclusive quando utilizamos LIKE, pois a busca passa a ser alfabética, e não a padrão binária.
- O parâmetro nls_sort especifica a sequência de agrupamento para consultas ORDER BY. É usado como BINARY_CI, ou seja valor BINARY. Significa que a ordenação dos caracteres seguirão de acordo com a ordem em que os caracteres aparecem no Character Set em uso, e o CI é para ignorar maiúsculas e minusculas.