A instalação silenciosa é um método de instalação de software que ocorre sem interação do usuário. Isso significa que não são exibidas janelas, mensagens ou prompts durante o processo, tornando-o ideal para cenários em que é necessário instalar o TOTVS Agro Multicultivo por meio de linha de comando ou através de esteiras automatizadas.
Os parâmetros de entrada são definidos por meio do preenchimento de um arquivo de propriedades, que pode ser totvs-agro-multicultivo-oracle.properties ou totvs-agro-multicultivo-sqlserver.properties, dependendo do banco de dados utilizado. Esses atributos, que serão aplicados durante a instalação, devem ser preenchidos previamente com todos os valores necessários, os quais normalmente seriam fornecidos pelo usuário em uma instalação convencional.
| Totvs custom tabs box |
|---|
| tabs | 1 - Downloads, 2 - Banco de Dados , 3 - Preparação do Ambiente, 4 - Arquivo de Proprieadades , 5 - Instalador |
|---|
| ids | ETAPA1,ETAPA2,ETAPA3,ETAPA4,ETAPA5 |
|---|
|
| Totvs custom tabs box items |
|---|
| default | no |
|---|
| referencia | ETAPA2 |
|---|
|
Nesta seção, serão apresentados os requisitos e os scripts de banco de dados necessários para a instalação do TOTVS Multicultivos.
| Totvs custom tabs box |
|---|
| tabs | Oracle,SQL Server - Schema |
|---|
| ids | ORACLE,SQLSERVER |
|---|
| | Totvs custom tabs box items |
|---|
| default | yes |
|---|
| referencia | ORACLE |
|---|
| | Nota |
|---|
|
A seguir, são apresentados os parâmetros, configurações e scripts utilizados para a criação do banco de dados Oracle.
Charset do banco que deverá ser atribuído nas configurações do banco de dados:
|
| Dica |
|---|
| | Totvs custom tabs box items |
|---|
| default | yes |
|---|
| referencia | ORACLE |
|---|
| O TOTVS Agro Multicultivo requer a criação das seguintes tablespaces: - Tablespace de Dados: PIMS_DATA
- Tablespace de Índice: PIMS_INDX
| Bloco de código |
|---|
| language | sql |
|---|
| title | Tablespace |
|---|
| CREATE TABLESPACE PIMS_DATA DATAFILE '/u01/oradata/orcl/PIMS_DATA.ORA' SIZE 20G;
CREATE TABLESPACE PIMS_INDX DATAFILE '/u01/oradata/orcl/PIMS_INDEX.ORA' SIZE 20G; |
Criação do Owner e Atribuição de Permissões | Bloco de código |
|---|
| language | sql |
|---|
| title | Criação do Owner |
|---|
| CREATE USER NOME_OWNER IDENTIFIED BY "SENHA_OWNER" DEFAULT TABLESPACE PIMS_DATA TEMPORARY TABLESPACE TEMP PROFILE DEFAULT ACCOUNT UNLOCK;
GRANT CONNECT TO "NOME_OWNER";
GRANT RESOURCE TO "NOME_OWNER";
GRANT UNLIMITED TABLESPACE TO "NOME_OWNER";
GRANT CREATE SYNONYM TO "NOME_OWNER";
GRANT CREATE VIEW TO "NOME_OWNER";
GRANT CREATE PROCEDURE TO "NOME_OWNER";
GRANT CREATE TRIGGER TO "NOME_OWNER";
GRANT CREATE SEQUENCE TO "NOME_OWNER";
GRANT CREATE MATERIALIZED VIEW TO "NOME_OWNER"; |
|
|
|
| Totvs custom tabs box items |
|---|
| default | no |
|---|
| referencia | SQLSERVER |
|---|
| | Nota |
|---|
| A seguir, são apresentados os parâmetros, configurações e scripts utilizados para a criação do banco de dados SQL Server.
Collate do banco que deverá ser atribuído nas configurações do banco de dados: |
| Dica |
|---|
| O modelo a seguir demonstra o processo de criação da estrutura do banco de dados com base no modelo de banco de dados com múltiplos schemas.
| Totvs custom tabs box |
|---|
| tabs | 1 - Criacão do Database,2 - Criação Schema SSMA_ORACLE, 3 - Criação do Schemas |
|---|
| ids | DATABASE,SSMA,SCHEMA |
|---|
|
| Totvs custom tabs box items |
|---|
| default | yes |
|---|
| referencia | DATABASE |
|---|
|
No script de criação do Banco de Dados, a propriedade {{DB_NAME}} deve ser substituída pelo nome do banco de dados que será criado no ambiente
| Bloco de código |
|---|
| language | sql |
|---|
| title | Criação do Banco de Dados |
|---|
| linenumbers | true |
|---|
| -- Description: Script de criação de banco de dados SQL Server. O Banco de dados Agro utiliza a collation Latin1_General_CI_AS.
CREATE DATABASE [{{DB_NAME}}]
CONTAINMENT = NONE
ON PRIMARY
( NAME = N'{{DB_NAME}}', FILENAME = N'{{DB_FILE_DATABASE}}{{DB_NAME}}.mdf' , SIZE = 8192KB , FILEGROWTH = 65536KB )
LOG ON
( NAME = N'{{DB_NAME}}_log', FILENAME = N'{{DB_FILE_DATABASE_LOG}}{{DB_NAME}}_log.ldf' , SIZE = 8192KB , FILEGROWTH = 65536KB )
COLLATE Latin1_General_CI_AS
GO
ALTER DATABASE [{{DB_NAME}}] SET COMPATIBILITY_LEVEL = 150
GO
ALTER DATABASE [{{DB_NAME}}] SET ANSI_NULL_DEFAULT OFF
GO
ALTER DATABASE [{{DB_NAME}}] SET ANSI_NULLS OFF
GO
ALTER DATABASE [{{DB_NAME}}] SET ANSI_PADDING OFF
GO
ALTER DATABASE [{{DB_NAME}}] SET ANSI_WARNINGS OFF
GO
ALTER DATABASE [{{DB_NAME}}] SET ARITHABORT OFF
GO
ALTER DATABASE [{{DB_NAME}}] SET AUTO_CLOSE OFF
GO
ALTER DATABASE [{{DB_NAME}}] SET AUTO_SHRINK OFF
GO
ALTER DATABASE [{{DB_NAME}}] SET AUTO_CREATE_STATISTICS ON(INCREMENTAL = OFF)
GO
ALTER DATABASE [{{DB_NAME}}] SET AUTO_UPDATE_STATISTICS ON
GO
ALTER DATABASE [{{DB_NAME}}] SET CURSOR_CLOSE_ON_COMMIT OFF
GO
ALTER DATABASE [{{DB_NAME}}] SET CURSOR_DEFAULT GLOBAL
GO
ALTER DATABASE [{{DB_NAME}}] SET CONCAT_NULL_YIELDS_NULL OFF
GO
ALTER DATABASE [{{DB_NAME}}] SET NUMERIC_ROUNDABORT OFF
GO
ALTER DATABASE [{{DB_NAME}}] SET QUOTED_IDENTIFIER OFF
GO
ALTER DATABASE [{{DB_NAME}}] SET RECURSIVE_TRIGGERS OFF
GO
ALTER DATABASE [{{DB_NAME}}] SET DISABLE_BROKER
GO
ALTER DATABASE [{{DB_NAME}}] SET AUTO_UPDATE_STATISTICS_ASYNC OFF
GO
ALTER DATABASE [{{DB_NAME}}] SET DATE_CORRELATION_OPTIMIZATION OFF
GO
ALTER DATABASE [{{DB_NAME}}] SET PARAMETERIZATION SIMPLE
GO
ALTER DATABASE [{{DB_NAME}}] SET READ_COMMITTED_SNAPSHOT OFF
GO
ALTER DATABASE [{{DB_NAME}}] SET READ_WRITE
GO
ALTER DATABASE [{{DB_NAME}}] SET RECOVERY FULL
GO
ALTER DATABASE [{{DB_NAME}}] SET MULTI_USER
GO
ALTER DATABASE [{{DB_NAME}}] SET PAGE_VERIFY CHECKSUM
GO
ALTER DATABASE [{{DB_NAME}}] SET TARGET_RECOVERY_TIME = 60 SECONDS
GO
ALTER DATABASE [{{DB_NAME}}] SET DELAYED_DURABILITY = DISABLED
GO
USE [{{DB_NAME}}]
GO
ALTER DATABASE SCOPED CONFIGURATION SET LEGACY_CARDINALITY_ESTIMATION = Off;
GO
ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET LEGACY_CARDINALITY_ESTIMATION = Primary;
GO
ALTER DATABASE SCOPED CONFIGURATION SET MAXDOP = 0;
GO
ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET MAXDOP = PRIMARY;
GO
ALTER DATABASE SCOPED CONFIGURATION SET PARAMETER_SNIFFING = On;
GO
ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET PARAMETER_SNIFFING = Primary;
GO
ALTER DATABASE SCOPED CONFIGURATION SET QUERY_OPTIMIZER_HOTFIXES = Off;
GO
ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET QUERY_OPTIMIZER_HOTFIXES = Primary;
GO
USE [{{DB_NAME}}]
GO
IF NOT EXISTS (SELECT name FROM sys.filegroups WHERE is_default=1 AND name = N'PRIMARY') ALTER DATABASE [{{DB_NAME}}] MODIFY FILEGROUP [PRIMARY] DEFAULT
GO
|
|
| Totvs custom tabs box items |
|---|
| No script de criação da estrutura do schema SSMA_ORACLE (também conhecido como SYSBA), é necessário substituir a propriedade {{DB_NAME}} pelo nome do banco de dados que será utilizado no ambiente. O script está disponível no arquivo totvs-agro-template_ssma_oracle.sql.
Devido ao extenso número de linhas, o conteúdo não será exibido diretamente nesta página, mas estará disponível como um arquivo anexo. Após realizar o download, substitua a propriedade {{DB_NAME}} pelo nome do banco de dados criado na seção anterior.
| View file |
|---|
| name | totvs-agro-template_ssma_oracle.sql |
|---|
| height | 250 |
|---|
|
|
| Totvs custom tabs box items |
|---|
| default | no |
|---|
| referencia | SCHEMA |
|---|
| Nesta etapa, será necessário modificar as propriedades indicadas entre {{ }}. Essas propriedades são responsáveis por configurar a criação das estruturas de Login, Usuário e Schema. Além disso, o processo inclui a atribuição das permissões necessárias e o estabelecimento dos relacionamentos entre os schemas e suas respectivas dependências. As propriedades que precisam ser ajustadas são: {{DB_USUARIO_MULTICULTIVO}}: Define o nome do usuário que terá acesso ao banco de dados. {{DB_SENHA_MULTICULTIVO}}: Define a senha associada ao usuário do banco de dados. {{DB_NAME}}: Define o nome do banco de dados que será utilizado.
| Bloco de código |
|---|
| language | sql |
|---|
| title | Criação do Usuario e Schena |
|---|
| -- Criação do Usuário do {{DB_USUARIO_MULTICULTIVO}}
CREATE LOGIN {{DB_USUARIO_MULTICULTIVO}} WITH PASSWORD = '{{DB_SENHA_MULTICULTIVO}}';
-- Utilizando o Banco de Dados {{DB_NAME}}
USE [{{DB_NAME}}];
GO
-- Criar Usuário no Banco de Dados {{DB_USUARIO_PCONNECTOR}}
CREATE USER {{DB_USUARIO_MULTICULTIVO}} FOR LOGIN {{DB_USUARIO_MULTICULTIVO}};
-- Concedendo as Permissões ao Usuário {{DB_USUARIO_MULTICULTIVO}}
GRANT SELECT, INSERT, UPDATE, DELETE TO {{DB_USUARIO_MULTICULTIVO}};
GRANT CREATE TABLE TO {{DB_USUARIO_MULTICULTIVO}};
GRANT EXECUTE TO {{DB_USUARIO_MULTICULTIVO}};
GRANT CONNECT TO {{DB_USUARIO_MULTICULTIVO}};
GRANT ALTER TO {{DB_USUARIO_MULTICULTIVO}};
GRANT VIEW DEFINITION TO {{DB_USUARIO_MULTICULTIVO}};
GRANT CREATE SYNONYM TO {{DB_USUARIO_MULTICULTIVO}};
GRANT CREATE PROCEDURE TO {{DB_USUARIO_MULTICULTIVO}};
GRANT CREATE VIEW TO {{DB_USUARIO_MULTICULTIVO}};
GRANT CREATE FUNCTION TO {{DB_USUARIO_MULTICULTIVO}};
GRANT CREATE SCHEMA TO {{DB_USUARIO_MULTICULTIVO}};
--Criação do Schema do {{DB_USUARIO_MULTICULTIVO}}
USE [{{DB_NAME}}]
GO
CREATE SCHEMA [{{DB_USUARIO_MULTICULTIVO}}] AUTHORIZATION [{{DB_USUARIO_MULTICULTIVO}}]
GO
--Atribuição do Schema Default do {{DB_USUARIO_MULTICULTIVO}}
USE [{{DB_NAME}}]
GO
ALTER USER [{{DB_USUARIO_MULTICULTIVO}}] WITH DEFAULT_SCHEMA=[{{DB_USUARIO_MULTICULTIVO}}]
GO
--Ajuste da Permissão do {{DB_USUARIO_MULTICULTIVO}} para acessar o Schema ssma_oracle
USE [{{DB_NAME}}]
GO
ALTER AUTHORIZATION ON SCHEMA::[ssma_oracle] TO [{{DB_USUARIO_MULTICULTIVO}}]
|
|
|
|
|
|
|
|
| Totvs custom tabs box |
|---|
| tabs | Etapa1,Etapa2,Etapa3 |
|---|
| ids | ETAPA1,ETAPA2,ETAPA3 |
|---|
|
| Totvs custom tabs box items |
|---|
| default | yes |
|---|
| referencia | ETAPA1 |
|---|
| | Totvs custom tabs box items |
|---|
| default | yes |
|---|
| referencia | ORACLE |
|---|
|
- Artefatos específicos para ambientes SQL Server
- Data base do SYSDB
- Scripts para criação do SYSDATE
|
|
| Totvs custom tabs box items |
|---|
| default | no |
|---|
| referencia | ETAPA2 |
|---|
| | Totvs custom tabs box items |
|---|
| default | yes |
|---|
| referencia | ORACLE |
|---|
| Nessa etapa vamos demonstrar o processo de criação das estrutura de banco de dados.
| Totvs custom tabs box items |
|---|
| default | yes |
|---|
| referencia | ORACLE,SQLSERVER |
|---|
| | Totvs custom tabs box items |
|---|
| default | yes |
|---|
| referencia | ORACLE |
|---|
|
|
| Totvs custom tabs box items |
|---|
| default | no |
|---|
| referencia | SQLSERVER |
|---|
|
|
|
|
|
|
Identificação das Propriedades
As propriedades representadas por ${} devem ser substituídas pelos valores específicos de cada cliente. As demais propriedades, que não seguem esse formato, não devem ser alteradas. Abaixo, listamos essas propriedades e suas respectivas funcionalidades:
${CAMINHO_DA_INSTALACAO}
Descrição: Define o diretório onde o TOTVS Agro Multicultivo será instalado.
Exemplo: C:\TOTVS-Agro\Multicultivo ou /opt/totvs/agro_multicultivo.
${NOME_INSTANCIA}
Descrição: Nome da instância que será criada durante a instalação.
Exemplo: PRODUCAO / HOMOLOGACAO.
${NOME_SERVICO}
Descrição: Nome do serviço que será registrado no sistema operacional.
Exemplo: TOTVS_AGRO_MULTICULTIVO_PRODUCAO.
${DESCRICAO_SERVICO}
Descrição: Descrição do serviço que será exibida no gerenciador de serviços do sistema operacional.
Exemplo: Serviço do TOTVS Agro Multicultivo - Produção.
${TIPO_CONEXAO_DATABASE}
Descrição: Tipo de conexão com o banco de dados (oracle ou sqlserver).
Exemplo: oracle.
${IP_DATABASE}
Descrição: Endereço IP ou hostname do servidor do banco de dados principal.
Exemplo: 192.168.1.100.
${PORTA_DATABASE}
Descrição: Porta utilizada para conexão com o banco de dados principal.
Exemplo: 1521.
${NOME_BASE_DATABASE}
Descrição: Nome da base de dados principal.
Exemplo: AGRO_DB.
${USER_DATABASE}
Descrição: Usuário para conexão com o banco de dados principal.
Exemplo: totvs_user.
${PASSWORD_DATABASE}
Descrição: Senha do usuário para conexão com o banco de dados principal.
Exemplo: SenhaSegura123.
${TIPO_CONEXAO_INTEGRATION}
Descrição: Tipo de conexão com o banco de dados de integração (oracle ou sqlserver).
Exemplo: oracle.
${IP_INTEGRATION}
Descrição: Endereço IP ou hostname do servidor do banco de dados de integração.
Exemplo: 192.168.1.101.
${PORTA_INTEGRATION}
Descrição: Porta utilizada para conexão com o banco de dados de integração.
Exemplo: 1521.
${NOME_BASE_INTEGRATION}
Descrição: Nome da base de dados de integração.
Exemplo: INTEGRATION_DB.
${USER_INTEGRATION}
Descrição: Usuário para conexão com o banco de dados de integração.
Exemplo: integration_user.
${PASSWORD_INTEGRATION}
Descrição: Senha do usuário para conexão com o banco de dados de integração.
Exemplo: SenhaIntegracao123.
${IP_APLICACAO}
Descrição: Endereço IP ou hostname da aplicação.
Exemplo: 192.168.1.200.
${OFFSET_APLICACAO}
Descrição: Offset da porta da aplicação. Ao definir um valor diferente de 0 as porta subsequentes precisaram ser modificadas seguindo o valor definido no atributo OFFSET_APLICACAO
Exemplo: 0.
${IP_APLICACAO_HTTPS}
Descrição: Endereço IP ou hostname da aplicação para conexões HTTPS.
Exemplo: 192.168.1.200.
${USUARIO_TPROVIDER}
Descrição: Usuário para autenticação no TReports.
Exemplo: treports_user.
${SENHA_TPROVIDER}
Descrição: Senha do usuário para autenticação no TReports.
Exemplo: SenhaTReports123.
${USUARIO_EMAIL}
Descrição: Usuário para autenticação no servidor SMTP.
Exemplo: email_user.
${TLS_EMAIL}
Descrição: Define se o TLS será utilizado para conexão com o servidor SMTP (true ou false).
Exemplo: true.
${PORTA_EMAIL}
Descrição: Porta do servidor SMTP.
Exemplo: 587.
${SENHA_EMAIL}
Descrição: Senha do usuário para autenticação no servidor SMTP.
Exemplo: SenhaEmail123.
${HOST_EMAIL}
descrição: Endereço do servidor SMTP.
Exemplo: smtp.totvs.com.
${DOMINIO_CLIENTE}
Descrição: Domínio do cliente para configurações de autorização, login e auditoria.
Exemplo: cliente.totvs.com.
${AMBIENTE_CLIENTE}
Descrição: Ambiente do cliente (ex: PROD, HOMOL, DEV).
Exemplo: PROD.
${IP_LICENSE_SERVER}
Descrição: Endereço IP ou hostname do servidor de licenças.
Exemplo: 192.168.1.150.
${PORTA_LICENSE_SERVER}
Descrição: Porta do servidor de licenças.
Exemplo: 5555.
#TOTVS Agro Multicultivo 12.1.2412
target.os=unix
unix.distro=RedHat
action=NEW_INSTANCE
ISO2_LANG=pt
ISO3_LANG=bra
#target
path=${CAMINHO_DA_INSTALACAO}
#first
selected.instance.name=${NOME_INSTANCIA}
selected.service.name=${NOME_SERVICO}
selected.service.description=${DESCRICAO_SERVICO}
#database
database.dbms=oracle
database.oracle.connection.type=${TIPO_CONEXAO_DATABASE}
database.host=${IP_DATABASE}
database.port=${PORTA_DATABASE}
database.name=${NOME_BASE_DATABASE}
database.user=${USER_DATABASE}
database.password=${PASSWORD_DATABASE}
database.url=jdbc:oracle:thin:@//${IP_DATABASE}:${PORTA_DATABASE}/${NOME_DATABASE}
#integration
integration.dbms=oracle
integration.oracle.connection.type=${TIPO_CONEXAO_INTEGRATION}
integration.host=${IP_INTEGRATION}
integration.port=${PORTA_INTEGRATION}
integration.name=${NOME_BASE_INTEGRATION}
integration.user=${USER_INTEGRATION}
integration.password=${PASSWORD_INTEGRATION}
integration.url=jdbc:oracle:thin:@//${IP_INTEGRATION}:${PORTA_INTEGRATION}/${NOME_INTEGRATION}
#network
network.ip=${IP_APLICACAO}
network.port.offset=${OFFSET_APLICACAO} #DEFAULT 0
network.http=${IP_APLICACAO}:8080/pimsmc
network.https=${IP_APLICACAO_HTTPS}:8443/pimsmc
network.management.http=${IP_APLICACAO}:9990/console/index.html
network.management.https=${IP_APLICACAO_HTTPS}:9993/console/index.html
#treports
treports.username=${USUARIO_TPROVIDER}
treports.tenant=totvs_tenant
treports.scope=openid
treports.password=${SENHA_TPROVIDER}
treports.client_secret=totvs_client_secret
treports.client_id=treports
#SMTP
email.user=${USUARIO_EMAIL}
email.tls=${TLS_EMAIL}
email.port=${PORTA_EMAIL}
email.password=${SENHA_EMAIL}
email.host=${HOST_EMAIL}
#authorization
authorization.application.authorization.domains=${DOMINIO_CLIENTE}
authorization.application.authorization.service.class=br.agr.proxima.framework.security.authorization.DatabaseAuthorizationServiceImpl
authorization.application.authorization.datasource.name=java:jboss/datasources/PIMSMulticulturaDS
authorization.application.authorization.menu.type=database
#login
login.application.authentication.domains=${DOMINIO_CLIENTE}
login.application.configParam=${AMBIENTE_CLIENTE},DatabaseLogin,RCMP,OSCAMPO,PAGSERV,JMSEAI,BNF
login.application.implementation=br.agr.proxima.framework.security.login.DatabaseLoginServiceImpl
login.application.login.datasource.name=java:jboss/datasources/PIMSMulticulturaDS
login.application.licensing.enabled=true
login.application.login.audit=true
login.application.instance=${AMBIENTE_CLIENTE}
#audit
audit.application.login.audit.domains=${DOMINIO_CLIENTE}
audit.application.login.audit=true
audit.application.login.audit.service.class=br.agr.proxima.framework.loginaudit.LoginDatabaseAuditService
audit.application.login.audit.datasource.name=java:jboss/datasources/PIMSMulticulturaDS
#license
license.application.authentication.domains=${DOMINIO_CLIENTE}
license.application.license.implementation=br.agr.proxima.framework.license.TOTVSLicenseService
license.application.license.server.host=${IP_LICENSE_SERVER}
license.application.license.server.port=${PORTA_LICENSE_SERVER}
license.application.license.federation=
license.application.license.pulse.time=120
license.application.license.modules=4007