Índice
Índice |
---|
maxLevel | 4 |
---|
outline | true |
---|
exclude | .*ndice |
---|
style | none |
---|
|
Versões homologadas do Oracle
...
Para verificar as versões homologadas do Oracle acesse a Matriz de Portabilidade.
Configuração do banco
...
Pré-requisitos
- É 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 fluig da 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.
...
Nota |
---|
|
Por questões de segurança é altamente recomendável efetuar a encriptação da senha conforme o procedimento informado na documentação encriptação de senha de banco do dados. |
Criação do usuário e concessão de privilégios
...
Deck of Cards |
---|
|
Card |
---|
|
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 |
---|
| CREATE USER userid IDENTIFIED BY password [DEFAULT TABLESPACE tablespace] [TEMPORARY TABLESPACE tablespace_temporaria]; |
Onde: - userid: Nome do usuário que será criado;
- password: Senha do usuário que será criado;
- tablespace (opcional): Tablespace padrão onde os objetos do banco de dados serão armazenados. Se essa opção for omitida, o Oracle assume a tablespace SYSTEM padrão;
- temp_tablespace (opcional): Tablespace padrão onde são armazenados os objetos temporários, como por exemplo tabelas temporárias. Se essa opção for omitida, o Oracle assume um tablespace temporário TEMP.
|
Card |
---|
|
Após criado o usuário é necessário conceder os privilégios de sistema (conexão e instruções DLL por exemplo) necessários para ele, 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;
|
Card |
---|
| |
Neste momento é necessário executar os procedimentos SQL abaixo com o usuário userid no banco de dados a ser usado para a plataforma: Aviso |
---|
| - É imprescindível conectar no banco de dados com o usuário userid para a execução dos procedimentos acima, a fim de garantir o
| fluig:- isolamento e integridade da operação.
- O servidor fluig deve estar parado no momento da execução do script.
|
Bloco de código |
---|
| DECLARE
AUX_USERCONNECTED VARCHAR2(30);
BEGIN
SELECT SYS_CONTEXT('USERENV', 'CURRENT_SCHEMA')USER
INTO AUX_USERCONNECTED
FROM DUAL;
IF (AUX_USERCONNECTED <> 'SYS') AND (AUX_USERCONNECTED <> 'SYSTEM') THEN
EXECUTE IMMEDIATE ('CREATE OR REPLACE VIEW ' ||AUX_USERCONNECTED|| '.ALL_OBJECTS AS' ||
' SELECT * FROM SYS.ALL_OBJECTS WHERE OWNER =' ||
' SYS_CONTEXT(' || CHR(39) || 'USERENV' || CHR(39) || ', ' ||IN (SELECT USER FROM DUAL)');
EXECUTE IMMEDIATE ('CREATE OR REPLACE CHR(39) || 'CURRENT_SCHEMA' || CHR(39) || ')');
EXECUTE IMMEDIATE ('CREATE VIEW VIEW ' ||AUX_USERCONNECTED|| '.ALL_SYNONYMS AS' ||
' SELECT * FROM SYS.ALL_SYNONYMS WHERE OWNER =' ||
' SYS_CONTEXT(' || CHR(39) || 'USERENV' || CHR(39) || ', ' ||IN (SELECT USER FROM DUAL)');
EXECUTE IMMEDIATE ('CREATE OR REPLACE VIEW CHR(39) || 'CURRENT_SCHEMA' || CHR(39) || ')');
EXECUTE IMMEDIATE ('CREATE VIEW ' ||AUX_USERCONNECTED|| '.ALL_SEQUENCES AS' ||
' SELECT * FROM SYS.ALL_SEQUENCES WHERE SEQUENCE_OWNER =' ||
' SYS_CONTEXT(' || CHR(39) || 'USERENV' || CHR(39) || ', ' ||IN (SELECT USER FROM DUAL)');
EXECUTE IMMEDIATE ('CREATE OR REPLACE CHR(39) || 'CURRENT_SCHEMA' || CHR(39) || ')');
EXECUTE IMMEDIATE ('CREATE VIEW VIEW ' ||AUX_USERCONNECTED|| '.ALL_CONSTRAINTS AS' ||
' SELECT * FROM SYS.ALL_CONSTRAINTS WHERE OWNER =' ||
' SYS_CONTEXT(' || CHR(39) || 'USERENV' || CHR(39) || ', ' ||IN (SELECT USER FROM DUAL)');
EXECUTE IMMEDIATE ('CREATE OR REPLACE CHR(39)VIEW ' || 'CURRENT_SCHEMA' AUX_USERCONNECTED|| CHR(39) || ')');
EXECUTE IMMEDIATE ('CREATE VIEW '.ALL_CONS_COLUMNS AS' ||
' SELECT * FROM SYS.ALL_CONS_COLUMNS WHERE OWNER =' ||
' SYS_CONTEXT(' || CHR(39) || 'USERENV' || CHR(39) || ', ' ||IN (SELECT USER FROM DUAL)');
EXECUTE IMMEDIATE ('CREATE OR REPLACE CHR(39) || 'CURRENT_SCHEMA' || CHR(39) || ')');
EXECUTE IMMEDIATE ('CREATE VIEW VIEW ' ||AUX_USERCONNECTED|| '.ALL_INDEXES AS' ||
' SELECT * FROM SYS.ALL_INDEXES WHERE OWNER =' ||
' SYS_CONTEXT(' || CHR(39) || 'USERENV' || CHR(39) || ', ' ||IN (SELECT USER FROM DUAL)');
EXECUTE IMMEDIATE ('CREATE OR REPLACE VIEW CHR(39) || 'CURRENT_SCHEMA' || CHR(39) || ')');
EXECUTE IMMEDIATE ('CREATE VIEW ' ||AUX_USERCONNECTED|| '.ALL_IND_COLUMNS AS' ||
' SELECT * FROM SYS.ALL_IND_COLUMNS WHERE TABLE_OWNER =' ||
' SYS_CONTEXT(' || CHR(39) || 'USERENV' || CHR(39) || ', ' ||IN (SELECT USER FROM DUAL)');
EXECUTE IMMEDIATE ('CREATE OR REPLACE CHR(39) || 'CURRENT_SCHEMA' || CHR(39) || ')');
EXECUTE IMMEDIATE ('CREATE VIEW VIEW ' ||AUX_USERCONNECTED|| '.ALL_TABLES AS' ||
' SELECT * FROM SYS.ALL_TABLES WHERE OWNER =' ||
' SYS_CONTEXT(' || CHR(39) || 'USERENV' || CHR(39) || ', ' ||IN (SELECT USER FROM DUAL)');
EXECUTE IMMEDIATE ('CREATE OR REPLACE VIEW CHR(39) || 'CURRENT_SCHEMA' || CHR(39) || ')');
EXECUTE IMMEDIATE ('CREATE VIEW ' ||AUX_USERCONNECTED|| '.ALL_TAB_COLUMNS AS' ||
' SELECT * FROM SYS.ALL_TAB_COLUMNS WHERE OWNER =' ||
' SYS_CONTEXT(' || CHR(39) || 'USERENV' || CHR(39) || ', ' ||
CHR(39) || 'CURRENT_SCHEMA' || CHR(39) || ')')IN (SELECT USER FROM DUAL)');
END IF;
END; |
Você pode baixar o script aqui. |
|
Aviso |
---|
|
- É imprescindível conectar no banco de dados com o usuário userid para a execução dos procedimentos acima a fim de garantir o isolamento e integridade da operação.
- O servidor fluig deve estar parado no momento da execução do script.
|
Oracle 12c
Caso seja utilizado Oracle 12c ou superior é necessário alterar o arquivo [Instalação fluig]\appserver\bin\domain.conf.bat (domain.conf em ambientes Linux) e incluir a seguinte linha:
Bloco de código |
---|
|
set "JAVA_OPTS=%JAVA_OPTS% -Dhibernate.dialect=org.hibernate.dialect.Oracle10gDialect" |
...
NLS (National Language Support) é utilizado para definir datas, números, moeda e configurações de idioma.
O NLS_CHARACTERSET para o Fluig é AL32UTF8.
Image Removed
O NLS (National Language Support) é utilizado para definir datas, números, moeda e configurações de idioma. O NLS_CHARACTERSET (charset) para a plataforma é AL32UTF8.
Image Added
Datasource - Finalidade da Tag new-connection-sql
...
No arquivo de configuração domain.xml ([diretório_instalação]/appserver/domain/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 |
---|
language | xml |
---|
theme | Eclipse |
---|
title | standalone.xml |
---|
|
<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 mais 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.
...