Você está na página 1de 212

Treinamentos TOTVS 2011

Treinamento Banco
de dados

TOTVS 2011
SUMARIO

Sumrio
TREINAMENTO BANCO DE DADOS.................................................................... 1
INTRODUO ....................................................................................................... 7
DESCRIO DO FUNCIONAMENTO DO BANCO DE DADOS ........................... 8
FUNES BSICAS DE UM SGBD: .................................................................... 8
ARQUITETURA SUPORTADAS ............................................................................ 9
INSTALAO DO SQL SERVER 2008 ............................................................... 15
PREPARANDO A INSTALAO - MS SQL SERVER 2008 .......................................... 15
INICIANDO A INSTALAO SQL SERVER 2008 ..................................................... 16
1.2 CENTROS DE INSTALAO DO SQL SERVER ................................................. 17
1.3 ESPECIFICAES DA EDIO SQL SERVER 2008.......................................... 18
1.4 LICENCIAMENTO DO PRODUTO ..................................................................... 19
1.5 INSTALAO DOS ARQUIVOS DE SUPORTE DE INSTALAO. ............................... 20
Clique no boto Install. .......................................................................... 20
1.6 CHECANDO CONFIGURAO DO SISTEMA ...................................................... 21
1.7 SELECIONANDO COMPONENTES PARA A INSTALAO ..................................... 22
1.8 NOME DA INSTNCIA ................................................................................... 23
1.9- VERIFICAO DO ESPAO EM DISCO .............................................................. 24
1.10 CONFIGURAO DO SERVER ........................................................................ 25
1.11 CONFIGURAO DE COLLATION .................................................................... 27
2.1 - CONFIGURAO ACCOUNT PROVISIONIG:......................................... 28
2.2 - NA JANELA ERROR AND USAGE REPORTING.................................................... 30
2.3 - NA OPO DE INSTALLATION RULES:............................................................. 31
2.4- NA OPO READY TO INSTALL ...................................................................... 32
2.5 - NO FINAL DA INSTALAO CLIQUE EM CLOSE: ................................................ 33
VERIFICAO DO COLLATION DAS BASES SQL SERVER ............................ 34
SCRIPTS PARA CRIAO DE USURIOS NAS VERSES 2000,2005 E 2008
DO SQL SERVER. .................................................................................................... 37
SQL SERVER 2000 ............................................................................................ 37
SQL SERVER 2005 ............................................................................................ 38
SQL SERVER 2008 ............................................................................................ 39
CONFIGURAES DO SERVIDOR ................................................................... 40
PARAMETRIZANDO O BANCO CORPORE NO SERVIDOR SQL SERVER ..... 41
LIMITES DO SQL SERVER 2005 ........................................................................ 44
CONFIGURAO DAS MQUINAS CLIENTES SQL SERVER: ........................ 46
DEMONSTRANDO ALGUMAS FUNES BSICAS DE UM SGDB (SQL
SERVER): ................................................................................................................. 47
FUNO BACKUP PARA BASE DE DADOS NO SQL SERVER: .................... 48

TOTVS-2011 Lets Share 2


DEMONSTRANDO COMO FAZER UM BACKUP NO SQL SERVER 2005: ..... 49
FUNO RESTAURAO DE UM BACKUP DE BASE DE DADOS NO SQL SERVER: ....... 55
DEMONSTRANDO COMO RESTAURAR UM BACKUP NO SQL SERVER
2005: ...................................................................................................................... 55
FUNO DETACH DE UMA BASE DE DADOS NO SQL SERVER: ................ 61
FUNO ATTACH DE UM BASE DE DADOS NO SQL SERVER: ................... 63
PROCEDIMENTOS PARA EXECUTAR O PROFILER DO SQL SERVER 2005. 66
MANUTENO NA BASE DE DADOS DA RM: .................................................. 71
DICAS DE PERFORMANCE SQL SERVER ....................................................... 74
1)CONFIGURAR A MEMRIA UTILIZADA PELO SQL SERVER................................... 74
2) UTILIZAO DE PROCESSADORES .................................................................... 75
3) ALOCAO DE ESPAO EM DISCO .................................................................... 75
4) DISTRIBUIO DE ARQUIVOS DO BANCO DE DADOS NO DISCO ............................ 76
5) SOLUES BASEADAS EM HARDWARE .............................................................. 76
6) RODAR DIARIAMENTE ATUALIZAO DE ESTATSTICAS ........................................ 77
RECRIAR TODOS OS NDICES DA BASE DE DADOS SEMANALMENTE. ......................... 77
RODAR SEMANALMENTE O DBCC CHECKDB ...................................................... 77
DESMARQUE AS SEGUINTES OPES NO BANCO DE DADOS:................................... 78
DICAS PARA QUALQUER BANCO DE DADOS ................................................. 78
1) TRABALHAR COM SERVIDOR DEDICADO PARA O BD ............................................ 78
2) DESABILITAR ANTI VIRUS ................................................................................. 78
3)VERIFICAR SE O DISCO EST FRAGMENTADO. ..................................................... 78
INSTALAO DO ORACLE 11G SERVER ......................................................... 79
1.1 - INICIANDO A INSTALAO ............................................................................. 79
Observaes: ................................................................................................ 80
VERIFICANDO AS CONFIGURAES DO MICRO: ....................................................... 81
1.2 - W ELCOME .................................................................................................. 82
1.3 - TIPOS DE INSTALAO E LINGUAGEM............................................................. 83
1.4 - DEFININDO A LOCALIZAO DOS ARQUIVOS ................................................... 84
1.5 VERIFICAO DE PR-REQUISITOS ............................................................... 86
1.6 OPO DE CONFIGURAO DO BANCO ........................................................ 87
1.7 CONFIGURAO DO BANCO ......................................................................... 88
1.8 OPES DE CONFIGURAO DO BANCO DE DADOS ...................................... 89
1.9 DETALHES DE CONFIGURAO DO BANCO DE DADOS .................................... 90
1.10 OPO DE GERENCIAMENTO DE BANCO DE DADOS ..................................... 92
1.11 OPES DE ARMAZENAMENTO DE ARQUIVOS DO BANCO ............................. 93
1.12 OPES DE BACKUP E RECUPERAO ....................................................... 95
1.13 SENHAS DO BANCO DE DADOS .................................................................. 96
1.14 GERENCIAMENTO DE CONFIGURAO DE REGISTROS ................................... 97
1.15 LISTA DE PRODUTOS A SEREM INSTALADOS ................................................ 98
1.16- AGUARDANDO A INSTALAO ...................................................................... 99
1.17 - CONFIGURANDO AS FERRAMENTAS ........................................................... 100
1.18- IDENTIFICAO DA INSTNCIA.................................................................... 101
1.19 FIM DA INSTALAO ................................................................................ 102
CRIANDO UMA INSTNCIA NO ORACLE 11G................................................ 103

TOTVS-2011 Lets Share 3


0 BEM-VINDO ................................................................................................. 103
1 OPERAES ............................................................................................... 103
2 MODELOS DE BANCO DE DADOS ................................................................... 103
3 IDENTIFICAO DO BANCO DE DADOS ........................................................... 103
4 OPES DE GERENCIAMENTO ...................................................................... 103
5 CREDENCIAIS DO BANCO DE DADOS ............................................................. 103
6 OPES DE ARMAZENAMENTO ...................................................................... 104
7 LOCALIZAO DOS ARQUIVOS DE BANCO DE DADOS ...................................... 104
8 CONFIGURAO DE RECUPERAO .............................................................. 104
9 CONTEDO DO BANCO DE DADOS................................................................. 104
10 PARMETROS DE INICIALIZAO ................................................................. 104
11 DEFINIES DE SEGURANA ...................................................................... 104
12 TAREFAS DE MANUTENO AUTOMTICA .................................................... 105
13 - ARMAZENAMENTO DE BANCO DE DADOS ...................................................... 105
14 OPES DE CRIAO ................................................................................ 105
NETCA ............................................................................................................... 106
CRIANDO ALIAS PARA A BASE....................................................................... 109
1.4 - ATIVANDO O UTILITRIO SQL PLUS ............................................................ 114
1.5 - EXECUTANDO O SCRIPT PARA GERAO DOS TABLESPACES ........................ 116
1.5 EXCLUINDO O SCHEMA RM (OPCIONAL) .................................................. 117
1.6 - EXECUTANDO O SCRIPT PARA CRIAO DE USURIOS ................................. 118
CRIANDO ARQUIVO DE PARMETROS PARA IMPORTAO DE DADOS DA BASE EXEMPLO
............................................................................................................................. 119
IMPORTAR A BASE ............................................................................................. 119
COMANDOS TEIS ORACLE........................................................................... 123
SEGURANA NO CORPORE RM .................................................................... 126
BDE ADMINISTRATOR: .................................................................................... 127
1 - CONFIGURANDO O BDE PARA ACESSAR O SQL SERVER: ................................ 128
CONFIGURANDO O BDE PARA ACESSAR O ORACLE ............................... 130
PARAMETRIZAO DO BDE ........................................................................ 131
CONVERSO DA BASE DE DADOS VERSO 11.20 ...................................... 133
PROCEDIMENTOS DE ANLISE E MANUTENO DA BASE DE DADOS. .. 140
SQL SERVER .................................................................................................... 140
PROCEDIMENTOS PARA EXECUTAR O PROFILER DO SQL SERVER 2005.
............................................................................................................................. 140
DBCC DATABASE CONSISTENCY CHEKER ............................................... 145
COMANDOS DE MANUTENO .................................................................. 146
COMANDOS DE STATUS.............................................................................. 147
COMANDOS DE VALIDAO ....................................................................... 148
SENTENAS SQL ............................................................................................. 149
DML - Linguagem de Manipulao de Dados ............................................. 149
SELECT .................................................................................................. 149
INSERT ................................................................................................... 150

TOTVS-2011 Lets Share 4


UPDATE ................................................................................................. 150
DELETE .................................................................................................. 150
DDL - Linguagem de Definio de Dados................................................... 150
CREATE ................................................................................................. 150
DROP...................................................................................................... 150
DCL - LINGUAGEM DE CONTROLE DE DADOS ............................................. 150
GRANT ................................................................................................... 150
REVOKE ................................................................................................. 150
BEGIN TRAN .......................................................................................... 150
COMMIT ................................................................................................. 150
ROLLBACK ............................................................................................. 151
CONSULTANDO DADOS ATRAVS DE SENTENAS SQL PELO SQL
SERVER:................................................................................................................. 151
CONSULTANDO DADOS ATRAVS DE SENTENAS SQL PELO ORACLE: 152
PROPRIEDADES DE UMA TABELA NO SQL SERVER ................................... 153
CLUSULAS...................................................................................................... 154
ORDER BY - Utilizada para ordenar os registros selecionados com uma
ordem especifica. ............................................................................................. 155
UNION - Utilizada para unir duas ou mais colunas. .................................... 155
Operadores Lgicos.................................................................................... 155
Operadores de Comparao ...................................................................... 155
FUNES DE AGRUPAMENTO ............................................................................. 155
As funes de agrupamento se usam dentro de uma clusula SELECT em
grupos de registros para devolver um nico valor que se aplica a um grupo de
registros. Elas ignoram valores nulos. ............................................................. 155
EXPRESSES ARITMTICAS: ............................................................................... 156
EXEMPLIFICANDO ALGUMAS SENTENAS SQL: ......................................... 157
SELECTS ....................................................................................................... 157
CONSULTAS COM JUNO ......................................................................... 168
OUTER JOINS ................................................................................................ 169
SUBQUERY ................................................................................................... 171
INSERT .............................................................................................................. 172
UPDATE ............................................................................................................ 172
DELETE ............................................................................................................. 173
CREATE ............................................................................................................ 174
ALTER TABLE ................................................................................................... 175
DROP................................................................................................................. 177
GRANT .............................................................................................................. 178
REVOKE ............................................................................................................ 179
BEGIN TRAN ..................................................................................................... 180
ROLLBACK ........................................................................................................ 181

TOTVS-2011 Lets Share 5


OTIMIZAO DE CONSULTAS SQL ................................................................ 183
HARDWARE ...................................................................................................... 184
ARQUIVOS ........................................................................................................ 185
OTIMIZANDO O DESEMPENHO DO SERVIDOR USANDO OPES DE
CONFIGURAO DE MEMRIA ........................................................................ 188
OTIMIZANDO O DESEMPENHO DO SERVIDOR USANDO OPES DE
CONFIGURAO DE E/S ................................................................................... 189
RAID ............................................................................................................... 189
UTILIZANDO GRUPOS DE ARQUIVOS COM RAID ...................................... 192
BOAS PRTICAS E TUNNING ......................................................................... 198
ORACLE ........................................................................................................... 198
CONFIGURAO DE BANCO DE DADOS EXTERNO - MSSQL .................... 202
INTRODUO ............................................................................................... 202
ERROS COMUNS OCORRIDOS NO BDE ADMINISTRATOR. ........................ 206

TOTVS-2011 Lets Share 6


INTRODUO

Aviso

Em se tratando de banco de dados podemos ter uma grande variedade de


utilizaes e procedimentos, porm as informaes abaixo so aplicveis aos
ambientes internos da TOTVS para anlise e testes dos atendentes do Help Desk,
em ambientes complexos e de produo algumas configuraes podem ter
abordagens diferentes, portanto este material uma material de treinamento interno
e que no deve ser usado para criao de ambientes complexos e de produo.

TOTVS-2011 Lets Share 7


Para esta abordagem necessrio um contato com a equipe de Infra-Estrutura e
Banco de dados.

Descrio do funcionamento do banco de dados

Podemos entender por banco de dados qualquer sistema gerenciador que


rena e mantenha organizada uma srie de informaes relacionadas a um
determinado assunto em uma determinada ordem.

Funes bsicas de um SGBD:

O trabalho com uma base de dados implica diversos tipos de operaes sobre
as tabelas e os dados que eles contm, tais como:

Funo Backup para uma Base de Dados.

Funo Restaurao de um backup j feito para uma base de dados.

Inserir novos registros;

Procurar e visualizar um registro;

Eliminar registros existentes;

Selecionar registros e/ou campos;

Ordenar os registros de uma tabela;

Juntar ou intercalar registros de tabelas diferentes;

TOTVS-2011 Lets Share 8


Fazer cpias ou duplicaes de Tabelas;

Alterar a estrutura de campos de uma Tabela;

Eliminar Tabelas;

OBS: As Funes acima so geralmente feitas atravs de Sentenas feitas na


Linguagem SQL, tambm chamados de Scripts ou Query.Visando melhor
aproveitamento da soluo de gesto empresarial que rene todos os aplicativos, o
Corpore RM composto de uma base de dados que contm as tabelas de todos os
aplicativos que a TOTVS oferece.

ARQUITETURA SUPORTADAS

CLIENTE/SERVIDOR

A arquitetura Cliente/Servidor estruturada em duas camadas. A primeira


camada onde se localiza o aplicativo. Essa camada responsvel pela regra de
negcio, comandos de manipulao de dados e interface com o usurio. A segunda
camada onde se encontra a base de dados, responsvel pelo armazenamento de
informaes e execuo dos comandos oriundos da camada cliente.

TOTVS-2011 Lets Share 9


- Multi-camadas A arquitetura Multi-Camadas estruturada para poder dar uma
maior mobilidade, desempenho e facilidade de manutenes na aplicao. Em seu
conceito geral, essa arquitetura, possui no mnimo 3 camadas. A primeira camada
contempla a interface com o usurio. A segunda camada responsvel pelo
tratamento da regra de negocio do aplicativo. J a terceira camada responsvel
pelas transaes do banco de dados.

- Web

TOTVS-2011 Lets Share 10


A arquitetura Web, o cliente acessa o Servidor Web, onde est instalado o
TOTVS Portal, via intranet ou extranet. O Servidor Web possui uma camada de
Biblioteca cliente, onde se localiza a camada de interface com o usurio, que acessa
via Remoting o Servidor de Aplicaes. Este por sua vez acessa ao Servidor de
Banco de Dados via ADO.Net

TERMINAL SERVICE

A arquitetura RM via Terminal Service permite o cliente acessar o Servidor de


Terminal Service na rede da empresa ou via internet e utilizar os produtos da Linha
RM seguindo a mesma arquitetura de Winform e Webform.

TOTVS-2011 Lets Share 11


Observaes

Para ambiente com grande volume de processamento, a TOTVS recomenda o


uso de um servidor de aplicao.
O modelo de arquitetura Multi-Camadas ser o padro do software da linha RM
em 2011.
Processos para Gerao de Cubos e Relatrios, Clculo de Folha, devem ser
agendados para perodos de menor carga de processamento dos servidores.
Utilize filtros que retornem no mximo 200 registros na viso.
No cadastro de Servidores de Aplicao, utilize o campo Nmero mximo de
Registros para limitar os registros retornados do banco de dados.
No utilize a base de produo para Armazenamento dos Cubos

TOTVS-2011 Lets Share 12


Os aplicativos da linha CorporeRM so homologados para trabalhar nos servidores
de BD:

A TOTVS recomenda aos usurios do banco de dados Microsoft SQL Server 2000,
o upgrade para o SQL Server 2005 ou 2008 e reconfigurao do seu nvel de
isolamento, para obter melhorias de desempenho.
Bancos de dados do MS-SQL 2005 e MS-SQL 2008 devem ter o Nvel de
Compatibilidade SQL Server 2000 (8). necessrio instalar os servidores SQLs
com essa compatibilidade para manter a estabilidade de comunicao entre o BDE e
o banco de dados.
O banco de dados da RM no suporta replicao total (de todas as tabelas) da
base de dados.
recomendado pela TOTVS que o software de banco de dados no seja
virtualizado.
Consulte previamente a TOTVS caso voc queira criar triggers ou stored
procedures na base de dados RM.
A TOTVS recomenda que o produto RM BIS (Gesto Estratgica) seja
executado em uma base de dados D-1 para no comprometer o desempenho da
base de dados de produo.

Atualmente, totalizamos um banco de aproximadamente 4468 tabelas onde


existem mais de 13053 relacionamentos que contribuem com o bom funcionamento
e desempenho do sistema.

TOTVS-2011 Lets Share 13


As tabelas so diferenciadas pelas letras iniciais, onde so referenciadas da
seguinte forma:

A tabela GDIC (GCAMPOS) contm a descrio de todas as tabelas, colunas e


o que o campo armazena. A chamamos de Dicionrio de Dados.
A tabela GLINKSREL contm a descrio de todas as constraints
(relacionamento entre tabelas) que o Corpore RM possui na verso especfica.
A tabela GAUTOINC utilizada para o controle de auto incremento de algumas
colunas nos diversos sistemas.

Ex: A consulta select * from gautoinc where codautoinc='codpessoa' ir retornar o


nmero de pessoas que esto cadastradas no Corpore, este valor vai conferir com o
da sentena SELECT MAX(CODIGO) FROM PPESSOA
As tabelas GPARAMS, GUSUARIO, GPERMIS, GACESSO, GSISTEMA,
GCOLIGADA, GUSRPERFIL so alimentadas ao importar o arquivo de licena e as

TOTVS-2011 Lets Share 14


mesmas contm os dados da empresa e suas permisses de acesso, veja mais
detalhes no item de segurana.

INSTALAO DO SQL SERVER 2008

Este guia tem como objetivo auxiliar a instalao do gerenciador de banco


de dados SQL Server 2008 para a execuo padro do Corpore RM.

1. O Assistente de Instalao instalar os pr-requisitos do SQL Server se eles


ainda no estiverem no computador. Os pr-requisitos incluem:
.NET Framework 3.5 SP1
SQL Server Native Client
Arquivos de Suporte Instalao do SQL Server
Para instalar os pr-requisitos, clique em Instalar.
2. O Verificador de Configurao do Sistema verificar o estado do sistema do
computador antes da continuao da Instalao.

Preparando a instalao - MS SQL Server 2008

Para efetuar a instalao do MS SQL Server 2008, necessrio mapear um


drive de rede para o CD-ROM caso o computador no possua CD-ROM.

TOTVS-2011 Lets Share 15


Iniciando a instalao SQL Server 2008

No Windows Explorer

1 Acesse o CD ou o caminho mapeado do SQL Server 2008 e d um duplo


clique no arquivo Setup.exe.

TOTVS-2011 Lets Share 16


1.2 Centros de Instalao do SQL Server

No dilogo apresentado, escolha a opo New SQL Serverstand-alone


installations or add features to an existing installation:

TOTVS-2011 Lets Share 17


1.3 Especificaes da edio SQL Server 2008

Clique no boto Next

Clique no 1 boto OK.

TOTVS-2011 Lets Share 18


1.4 Licenciamento do Produto

1 Leia o termo de responsabilidade.


2 Marque a opo I accept the licensing terms.
3 Clique no boto Next.

TOTVS-2011 Lets Share 19


1.5 Instalao dos arquivos de suporte de instalao.

Clique no boto Install.

TOTVS-2011 Lets Share 20


1.6 Checando configurao do sistema

TOTVS-2011 Lets Share 21


1.7 Selecionando componentes para a instalao

TOTVS-2011 Lets Share 22


No dilogo Components to Install:
Os componentes listados abaixo so os essenciais para utilizao do produto
TOTVS, porm os demais componentes podem ser selecionados de acordo com a
necessidade do cliente.

1 Selecione a opo Database Engine Services.


2 Selecione as opes Managment Tools- Basic , SQL Server Books Online e
Managment Tools- Complete
3 Clique no boto Next.

1.8 Nome da instncia

TOTVS-2011 Lets Share 23


No dilogo Instance Configuration:

1 Selecione a opo Default Instance.


2 Clique no boto Next.

Esta etapa define o nome pelo qual seu servidor SQL ir responder. Se escolher
pela instncia padro o SQL ter o mesmo nome de seu servidor, se for uma
instncia nomeada o SQL ir atender por: NOME_SERVIDOR\NOME_SQL.

1.9- Verificao do espao em disco

TOTVS-2011 Lets Share 24


Clique em Next:

1.10 Configurao do Server

TOTVS-2011 Lets Share 25


No dilogo Service Account:

1 Marque a opo SQL Server Agent.


2 Selecione a opo SQL Server Database Engine.
3 Marque a opo SQL Server Browser.
4 Clique no boto Next.

Use the same account for all SQL Server services

TOTVS-2011 Lets Share 26


1.11 Configurao de Collation

Marque a opo Customize

Marque a opo: SQL_Latin1_General_CP1_CI_AI


Clique em Ok

TOTVS-2011 Lets Share 27


2.1 - CONFIGURAO ACCOUNT PROVISIONIG:

1. Marque a opo Mixed Mode - Nessa opo, podero autenticar tanto contas
Windows e contas criadas posteriormente dentro do SQL.
2. Defina a senha do usurio SA - Ateno: O SA o usurio master do seu
SQL Server, por isso no atribua uma senha fraca e no ESQUEA a senha .

3. Adicionar uma conta Windows ao grupo de administradores do SQL. Clicando


em ADD ou pode adicionar uma conta de administrador e tambm o usurio
atual clicando no boto Add Current User

TOTVS-2011 Lets Share 28


TOTVS-2011 Lets Share 29
2.2 - Na janela error and usage reporting

1- Clique em Next

TOTVS-2011 Lets Share 30


2.3 - Na opo de Installation Rules:

1- Clique em Next

TOTVS-2011 Lets Share 31


2.4- Na opo Ready To Install

1- Clique em Install

TOTVS-2011 Lets Share 32


2.5 - No final da instalao clique em Close:

Instalao concluda com Sucesso.

Os produtos TOTVS utilizam o modo de autenticao pelo Windows e pelo SQL


Server. Isso significa que alm do usurio poder se conectar no banco atravs de
um usurio/senha j previamente cadastrado no Windows NT/2000/XP/VISTA/...,
como descrito no modo acima, ele tambm pode se conectar atravs de logins
exclusivos do SQL Server. No caso das aplicaes da linha rm, so utilizados dois
logins especficos: Os logins RM e SYSDBA.
O login rm tem permisso de dbo(database owner) ou dono da base, j o usurio
sysdba possui permisso para selecionar apenas algumas tabelas de controle da
aplicao. Default language: English
Usurios: So utilizados por padro os seguintes usurios/alias para acesso ao
Banco de Dados.
Usurio SYSDBA (cujo nome e senha no devem ser alterados). Este usurio
tem acesso apenas s tabelas de LOGIN e deve ser criado/configurado atravs do
script USUARIOS.SQL.

TOTVS-2011 Lets Share 33


Alias RM (que tratado como Dono do Banco de Dados). Este usurio deve ser
criado/configurado atravs do script USUARIOS.SQL ou ACERTAUSUARIOS.SQL
Deve-se atentar para a seguinte questo: No deve existir na base um usurio
rm, e sim um alias que age como dono das tabelas, portanto na pasta security>users
do SQL Server Management Studio ou Enterprise Manager no deve existir o
usurio rm, j em security>logins deve existir ambos os logins rm e sysdba.
Veja o padro em security>users

Propriedades do banco de dados:


Ansi Null Default: ON;
Auto Create Statistics: OFF;
Auto Update Statistics: OFF.
Autenticao: Feita pelo SQL Server e Windows.

Verificao do collation das bases SQL Server

TOTVS-2011 Lets Share 34


Seguindo o padro da TOTVS, na criao do banco Corpore SQL SERVER,
deve-se utilizar o collation CP1_Latin1_General_CP1_CI_AI, (DICTIONARY
ORDER, CASE-INSENSITIVE, ACCENT-INSENSITIVE, FOR USE WHITH 1252
CHARACTER SET) lembramos que na instalao o default o sort order 52;
Para verificar qual o collation est alocado em um cliente, basta logar no SQL
Server Enterprise Manager, clicar com o boto da direita no nome do servidor,
propriedade | collation. Caso o collation esteja incorreto, para acert-lo colocando o
padro Corpore, deve-se reinstalar o SQL Serve, selecionando a opo correta.

Para verificar o colation da database, deve clicar com o boto da direita do


mouse no nome da database | propriedades.
Para acertar um collation incorreto de acordo com o padro Corpore, apenas
pode ser executado via banco de dados atravs de customizao.

TOTVS-2011 Lets Share 35


TOTVS-2011 Lets Share 36
Scripts para criao de usurios nas verses 2000,2005 e 2008 do SQL Server.

Criao do SYSDBA e RM no SQL Server:

SQL Server 2000

SP_CONFIGURE 'ALLOW UPDATES', '1'


go
RECONFIGURE WITH OVERRIDE
go
DELETE SYSUSERS WHERE NAME = '\RM'
DELETE SYSUSERS WHERE NAME = '\SYSDBA'
DELETE SYSUSERS WHERE NAME = 'RM'
DELETE SYSUSERS WHERE NAME = 'SYSDBA'
/* CRIAO DOS USURIOS */
IF NOT EXISTS(SELECT * FROM MASTER.DBO.SYSLOGINS WHERE NAME = 'RM')
EXEC SP_ADDLOGIN RM,RM
GO
sp_addalias RM,dbo
GO
IF NOT EXISTS(SELECT * FROM MASTER.DBO.SYSLOGINS WHERE NAME = 'SYSDBA')
EXEC SP_ADDLOGIN SYSDBA,masterkey
GO
sp_adduser SYSDBA,SYSDBA
GO
GRANT SELECT ON GPARAMS TO SYSDBA
GO
GRANT SELECT, UPDATE ON GUSUARIO TO SYSDBA
GO
GRANT SELECT ON GPERMIS TO SYSDBA
GO
GRANT SELECT ON GACESSO TO SYSDBA
GO
GRANT SELECT ON GSISTEMA TO SYSDBA
GO
GRANT SELECT ON GCOLIGADA TO SYSDBA
GO
GRANT SELECT ON GUSRPERFIL TO SYSDBA
GO
GRANT SELECT ON GSISTEMA TO SYSDBA
GO
SP_CONFIGURE 'ALLOW UPDATES', '0'
go
RECONFIGURE WITH OVERRIDE
go

TOTVS-2011 Lets Share 37


SQL Server 2005

IF EXISTS(SELECT * FROM DBO.SYSUSERS WHERE NAME = 'SYSDBA')


EXEC sp_dropuser 'SYSDBA'
GO
IF EXISTS(SELECT * FROM DBO.SYSUSERS WHERE NAME = '\SYSDBA')
EXEC sp_dropuser 'SYSDBA'
GO
IF EXISTS(SELECT * FROM DBO.SYSUSERS WHERE NAME = 'sysdba')
EXEC sp_dropuser 'sysdba'
GO
IF EXISTS(SELECT * FROM DBO.SYSUSERS WHERE NAME = '\sysdba')
EXEC sp_dropuser 'sysdba'
GO
IF EXISTS(SELECT * FROM DBO.SYSUSERS WHERE NAME = '\rm')
EXEC sp_dropalias 'rm'
GO
IF EXISTS(SELECT * FROM DBO.SYSUSERS WHERE NAME = '\RM')
EXEC sp_dropalias 'RM'
GO
IF EXISTS(SELECT * FROM DBO.SYSUSERS WHERE NAME = '\RM')
EXEC sp_dropalias '\RM'
GO
IF NOT EXISTS(SELECT * FROM MASTER.DBO.SYSLOGINS WHERE NAME = 'rm')
CREATE LOGIN rm WITH PASSWORD = 'rm',CHECK_POLICY=OFF
GO
EXEC sp_addalias rm,dbo
GO
IF NOT EXISTS(SELECT * FROM MASTER.DBO.SYSLOGINS WHERE NAME = 'sysdba')
CREATE LOGIN sysdba WITH PASSWORD = 'masterkey',CHECK_POLICY=OFF
GO
EXEC sp_adduser sysdba,sysdba
GO
GRANT SELECT ON GPARAMS TO sysdba
GO
GRANT SELECT , UPDATE ON GUSUARIO TO sysdba
GO
GRANT SELECT ON GPERMIS TO sysdba
GO
GRANT SELECT ON GACESSO TO sysdba
GO
GRANT SELECT ON GSISTEMA TO sysdba
GO
GRANT SELECT ON GCOLIGADA TO sysdba
GO
GRANT SELECT ON GUSRPERFIL TO sysdba
GO
GRANT SELECT ON GSERVICO TO sysdba
GO

TOTVS-2011 Lets Share 38


SQL Server 2008

/* 1 Parte */

SP_DROPUSER SYSDBA
GO
EXEC SP_CHANGEDBOWNER sa
GO

/* 2 Parte */

/* Criao dos usurios RM e SYSDBA */

IF NOT EXISTS(SELECT * FROM MASTER.DBO.SYSLOGINS WHERE NAME = 'rm')


CREATE LOGIN rm WITH PASSWORD = 'rm',CHECK_POLICY=OFF
GO

EXEC SP_CHANGEDBOWNER rm
GO

IF NOT EXISTS(SELECT * FROM MASTER.DBO.SYSLOGINS WHERE NAME = 'sysdba')


CREATE LOGIN sysdba WITH PASSWORD = 'masterkey',CHECK_POLICY=OFF
GO

sp_adduser sysdba,sysdba
GO

GRANT SELECT ON GPARAMS TO sysdba


GO
GRANT SELECT , UPDATE ON GUSUARIO TO sysdba
GO
GRANT SELECT ON GPERMIS TO sysdba
GO
GRANT SELECT ON GACESSO TO sysdba
GO
GRANT SELECT ON GSISTEMA TO sysdba
GO
GRANT SELECT ON GCOLIGADA TO sysdba
GO
GRANT SELECT ON GUSRPERFIL TO sysdba
GO
GRANT SELECT ON GSERVICO TO sysdba
GO

TOTVS-2011 Lets Share 39


CONFIGURAES DO SERVIDOR

Verso do RTM SP1 SP2 SP3 SP4


SQL Server (sem SP)

SQL Server 2008 10.00.1600.22

SQL Server 2005 9.00.1399.06 9.00.2047 9.00.3042

SQL Server 2000 8.00.194 8.00.384 8.00.532 8.00.760 8.00.2039

SQL Server 7.0 7.00.623 7.00.699 7.00.842 7.00.961 7.00.1063

No servidor ser necessrio instalar apenas o banco de dados e o Service Pack


do mesmo. SQL Server.
Para verificar a verso do Service Pack no SQL Server, execute o seguinte
comando no Query Analyser: select @@version

Para verificar uma lista completa de builds acesse:


http://sqlserverbuilds.blogspot.com/

TOTVS-2011 Lets Share 40


O select abaixo nos traz informaes como a verso,edio e service Pack do
SQL alm do nome da instancia, collation se est como single user etc...

select serverproperty('productversion') as verso,


cast(serverproperty('machinename') as sysname) as nome_maquina,
cast(serverproperty('instancename')as sysname) as instancia_nomeada,
cast(serverproperty('edition') as sysname) as edio,
cast(serverproperty('productlevel') as sysname) as service_pack,
cast(serverproperty('isclustered') as bit) as isclustered,
cast(serverproperty('issingleuser') as bit) as issingleuser,
cast(serverproperty('engineedition') as int) as engineedition,
cast(databasepropertyex('nomedabase','collation')as sysname) as collation_base,
convert(sysname, serverproperty('collation')) as collation_servidor

PARAMETRIZANDO O BANCO CORPORE NO SERVIDOR SQL SERVER

Primeiramente, verifique a autenticao que est sendo realizada para conexo


do SQL. Para isso, basta clicar com o boto direito do mouse no nome do servidor
(Entreprise Manager), ir em propriedades. Na guia security, marque a autenticao
SQL Server and Windows, o CorporeRM utiliza o usurio do banco de dados para
realizar a autenticao do sistema, por este motivo, precisamos da autenticao do
SQL para acessar o sistema; verifique se o servio vai reiniciar aps confirmar esta
opo.
Partindo do pressuposto que a base vazia foi criada com o nome de Corpore, o
script de usurios tambm j foi executado na mesma, vamos conferir alguns
parmetros no banco:
Ao selecionar o menu propriedades, clicando com o boto direito do mouse em
cima da base Corpore, estaro todas as informaes sobre a base de dados nas
guias que iremos descrever:

TOTVS-2011 Lets Share 41


1. General esta guia contm informaes gerais da base, como data de
criao, nome, tamanho, ltimo backup...
2. Data files contm o nome do file name, a localizao do arquivo mdf que
contm os dados, e o tamanho do mesmo. Podemos criar arquivos
secundrios apontando discos diferentes, que assim que esgotar o espao do
primeiro arquivo ir dar continuidade ao prximo. Sugerimos que seja
parametrizado para o crescimento automtico (Automatically Grow File) e no
File Growth utilizar o file percent (10); j no Maximum File Size devemos ter
muito critrio ao marcar a opo de Unrestrict File Growth, apesar de
recomendarmos, pois enquanto tiver espao em disco e o banco necessitar
ele ir expandir sem problemas, porm se o espao estourar poder danificar
o banco de dados.

3. Transaction Log - contm o nome do file name, a localizao do arquivo ldf


que contm o log, e o tamanho do mesmo. Quanto configurao, podemos
basear nos critrios do Data files.

4. Filegroupes Os grupos de arquivos permitem que os arquivos de banco de


dados e objetos sejam logicamente agupados. A configurao padro da RM
no utiliza este recuro.

5. Options Nesta guia, fazemos a seguinte recomendao:


No Recovery Model, utilize a opo Simple que para bancos pequenos
ou os dados no so alterados com alta freqncia. Este modelo usa cpias
completas ou diferenciais do banco de dados e a recuperao limitada
restaurao do banco at o ponto em que foi feito o ltimo backup, porm os
logs ocupam menos espaos no servidor. Caso deseje, poder alterar este
modelo a qualquer momento, de acordo com a sua necessidade, basta
realizar um backup antes de alterar. Veja mais detalhes

Na guia Settings solicitamos que marque somente o parmetro:

TOTVS-2011 Lets Share 42


Ansi Null Default quando esta opo setada, os tipos de dados ou
colunas que no esto explicitamente definidas como NOT NULL durante
a criao ou alterao da tabela ir permitir valores nulos.

Verificando os demais parmetros:


Auto Close quando esta opo est marcada, o banco criar overhead
adicional associado com abertura e fechamento de arquivos do banco de
dados, o que no recomendamos para bancos que esto constantemente
em utilizao.
Recursive Trigger se no for adequadamente implementada, a
recurso pode levar a loop sem fim.
Auto Shrink caso esta opo esteja setada o banco e os arquivos de
log se encolhem automaticamente, reduzindo o espao de disco rgido e
isso pode degradar o desempenho, caso seja necessrio encolher o
banco, poder utilizar o comando DBCC SHRINKDATABASE.
Auto Update Statistics configurada como True, as estatsticas de ndice
so automaticamente atualizadas, podendo gerar queda de desempenho
Auto Create Statistics configurada como True, as estatsticas de ndice
so automaticamente criadas, sempre que voc criar um ndice, o SQL
Server cria um conjunto de estatsticas sobre os dados contidos dentro do
ndice. O otimizador de consulta utiliza essas estatsticas para determinar
se ele deve ou no utilizar o ndice para ajudar a processar a consulta.
Esta opo deve estar desmarcada para no gerar estatsticas em todas
as tabelas, nosso banco j tem os ndices devidamente criados, por isso,
agende uma rotina para executar a procedure
RMATUALIZAESTATISTICAS que s atualiza das tabelas do Corpore. Ex:
Quando o sistema executa um comando e que tenha uma clusula
WHERE e o Create Statistics est habilitado, o otimizador de consultas
cria estatsticas at mesmo para colunas que no tm ndices, mas que
aparecem na clusula WHERE.
Torn Page Detection este parmetro marcado detecta se uma pgina
est danificada, listando no event viewer, fica a critrio do cliente marcar
ou no esta opo, pois no influenciar no desempenho do banco

TOTVS-2011 Lets Share 43


Use Quoted Identifiers marcando esta opo, os nomes de objetos
dentro de aspas duplas no precisam obedecer conveo para
atribuio de nomes reservados ao SQL, como date, primary,
sugerimos a no marcao deste parmetro.
Compatibility Level favor deixar com compatibilidade 8.0, caso
contrrio o banco ir preservar as caractersticas dos bancos anteriores,
podendo trazer perda de desempenho por utilizar planos de execuo de
verses mais antigas.

LIMITES DO SQL SERVER 2005

Limites do Sistema
Endereamento de Memria 32TB (64-bit)
64GB (32-bit using PAE)
Nmero mximo de 64 (64-bit)
processadores 32 (32-bit)
Nmero mximo de ns em 8 verso Enterprise no Windows Server
Cluster 2003
2 verso Standard
Instncias por servidor 50
Locks por isntncia Limitada pela memria (64-bit)
2,147,483,647 (32-bit)

Limites do Database
Databases por servidor 32,767
Tamanho do Database 1,048,516TB
Arquivos por database 32,767
Filegroups por database 265
Tamanho arquivo de dados 32TB
Tamanho arquivo de log 32TB

TOTVS-2011 Lets Share 44


Objetos no database 2,147,483,647
Identifier length 128

Limites das Tabelas


Tabelas por database Limitado pelo nmero de objetos em um
database
Linhas por tabela Limitado pelo disco
PRIMARY KEY por tabela 1
FOREIGN KEY por tabela 253
References por tabela 253
Triggers por tabela Limitado pelo nmero de objetos em um
database
ndices Clustered por tabela 1
ndices NonClustered por 249
tabela
UNIQUE constraints por 249 nonclustered, 1 clustered
tabela

Limites de Colunas
Colunas por ndice 16
Colunas por primary key 16
Colunas por foreign key 16
Colunas por table 1024
Tamanho da chave do ndice 900 bytes
Bytes por coluna caractere ou coluna binria 8000
(binary )
Bytes por text, ntext, ou image 2GB
Bytes por row 8060
Bytes por ndice 900
Bytes por primary key 900

TOTVS-2011 Lets Share 45


Bytes por foreign key 900

Limites do T-SQL
Batch size 65,536 multiplicados pelo tamanho do
pacote de rede
Tabelas por SELECT 256
Bytes no source text de at 250MB
uma stored procedure
Parmetros por stored 1024
procedure
Nested subqueries 32
Nested trigger levels 32
Colunas por SELECT 4096
Colunas por INSERT 1024

CONFIGURAO DAS MQUINAS CLIENTES SQL SERVER:

Nas estaes devemos instalar:

1) Client do banco de dados (Para SQL 2000 e Oracle)


2) BDE (verso 5.20 para conferncia, clique com o boto direito do mouse em
cima de CoporeRM e em Version Information certifique a verso da maioria
das DLLs).
3) MDAC 2.81 ou superior (para certificar que a verso est correta, v no
iniciar, executar e digite regedit, abrindo o regedit pea para localizar MDAC,
aperte a tecla F3 que a prxima chave mostra a verso)
4) Framework
5) Habilitar Protocolos e Servios.

TOTVS-2011 Lets Share 46


6) Biblioteca e Aplicativos Corpore

No SQL Server, necessrio habilitar os protocolos de comunicao:

SQL 2000 -> Ir no Iniciar/Executar, digite cliconfg, na guia Geral desmarque as


opes Forar criptografia de protocolo e habilite os protocolos Shared Memory e
TCP/IP.
SQL 2005 -> Ir no Iniciar, Microsoft SQL Server 2005, Configurations Tools, e
habilite os protocolos.
SQL 2008 -> Vide SQL 2005
O servio SQL Browser deve estar iniciado nos servios do Windows em todas
as verses do SQL, para que outras pessoas em outras maquinas consigam acessar
sua instncia SQL Server. No Oracle necessrio estar sempre iniciado o servio
OracleServiceNome da instancia e o servio OracleHome Listener (ouvinte) que
responsvel pela comunicao do servidor com as estaes clients.

DEMONSTRANDO ALGUMAS FUNES BSICAS DE UM SGDB (SQL SERVER):

Acessando o SGDB SQL Server:

Para executar qualquer funo no seu banco de dados, necessrio acessar o


seu SGDB, no nosso caso usaremos o Microsoft SQL Server por ser o mais utilizado
por Clientes da RM Sistemas.
OBS: Usaremos a verso 2005 do Microsoft SQL Server por ser a mais atual.
Para acess-lo, acesse primeiramente em sua rea de trabalho do Windows o Menu
Iniciar Programas - Microsoft SQL Server 2005 SQL Server Management Studio ou
Server Management Studio Express.
TOTVS-2011 Lets Share 47
Logo na tela inicial conectar ao servidor que esta contida a Base de dados como
demonstra a tela abaixo:

OBS: permitido conexo a banco de dados SQL tanto local (em sua maquina)
quanto em outra maquina, para isto basta informar a maquina a se conectar no
campo Server Name, e com qual autenticao (Usurio).
Dica: Na opo Server Authentication optando no campo Authenticationpor
Windows Autentication, o SQL Server ir considerar como usurio, o usurio de
rede atual, caso opte por SQL Server Autentication onde o SQL Server ir lhe
solicitar um Login (usurio) e Password (Senha) para realizar a conexo.

FUNO BACKUP PARA BASE DE DADOS NO SQL SERVER:

Refere-se cpia de uma base dados com o objetivo de posteriormente recuper-


los, caso haja necessidade ou algum problema com os dados originais. O backup
consistente do banco de dados de extrema importncia para que possamos
manter a integridade dos dados caso haja uma falha do sistema, hardware ou at
mesmo para corrigir eventuais falhas de usurios, como por exemplo, a remoo

TOTVS-2011 Lets Share 48


acidental de um banco de dados. Para isto, importante a adoo de uma poltica
consistente de backup, bem como conhecer as possveis tcnicas para faz-lo.

DEMONSTRANDO COMO FAZER UM BACKUP NO SQL SERVER 2005:

Feito o procedimento demonstrado na seo Acessando o SGDB SQL Server


(Pagina 19), procure a base de dados a ser feito o backup, geralmente a mesma se
encontra dentro da pasta Databases clique com o boto direito do mouse sobre a
base a ser feito o backup e acesse a opo Tasks Back up..., como demonstrado
na figura a seguir:

OBS: Geralmente as opes demonstradas acima, se encontram lateral esquerda


da janela do aplicativo (Microsoft SQL Server Management Studio).

TOTVS-2011 Lets Share 49


Aps procedimento acima, abrir automaticamente uma janela, onde se deve
informar o nome para o backup no campo Name e informar o caminho a ser salvo
este backup clicando na opo Add conforme demonstrado na figura abaixo:

Obs.: Sempre atentem a observar se o campo Database esta com a base de


dados corretamente preenchida.

Aps acessar a opo ADD, ser aberta uma outra janela onde se deve informar o
caminho a ser salvo o backup, para tal deve ser usado o campo ...:

TOTVS-2011 Lets Share 50


Abrir automaticamente uma nova janela onde se deve localizar a pasta ou disco e
atribuir um nome ao backup:

TOTVS-2011 Lets Share 51


Obs.: Note que no exemplo anterior selecionei a pasta C:\Bases\Backup Exemplo,
para que o SQL Server salve na mesma meu backup criado, o caminho escolhido
demonstrado no campo Selected path:.

Tambm necessrio nesta mesma janela, escolher um tipo para este backup
no campo Files of type (o SQL Server opta por defaut as extenses *.bak; *.trn) e
nomear este backup, no exemplo acima, coloquei o nome Exemplo para meu
Backup, como pode se verificar no campo File name.

Aps feito todo o procedimento acima, clique em OK, o sistema apresentar


na tela anterior o caminho escolhido com o respectivo nome:

Agora, para iniciar o processo de Backup, basta clicar em OK como demonstra a


tela seguinte:

TOTVS-2011 Lets Share 52


OBS: Note que o caminho escolhido, se encontra demonstrado no campo
Destination.
Aps clicar em Ok como demonstrado na janela acima, o sistema ir fazer o
backup demonstrando em sua margem inferior da lateral esquerda o status do
processo:

TOTVS-2011 Lets Share 53


Para finalizar, o SQL Server lhe apresentar a seguinte tela:

Pronto, s clicar em OK , pois seu Backup j foi feito com Sucesso e gravado
com o nome e no caminho escolhido no processo acima:

TOTVS-2011 Lets Share 54


Funo Restaurao de um Backup de Base de Dados no SQL Server:

Uma restaurao ou RESTORE de um banco de dados, nada mais do que a


operao de trazer os dados de um backup criado de volta para o SGDB.

DEMONSTRANDO COMO RESTAURAR UM BACKUP NO SQL SERVER 2005:

Feito o procedimento demonstrado na seo Acessando o SGDB SQL Server


(Pagina 19), procure a pasta Databases clique com o boto direito do mouse sobre
a mesma e acesse a opo Restore Database..., como demonstrado na figura a
seguir:

TOTVS-2011 Lets Share 55


Aps procedimento acima, abrir automaticamente uma janela, onde se deve
informar um nome para a Base de dados no campo To database: e informar o
caminho onde se encontra o backup a ser restaurado, para tal, habilite a opo
From device e clique na opo ... conforme demonstrado na figura a seguir:

OBS: Para demonstrar tal operao, usaremos o backup anteriormente feito na


seo Demonstrando como se fazer um Backup no SQL Server 2005.

TOTVS-2011 Lets Share 56


Note que informei o Nome Exemplo_10 para minha base de dados em To
database, j optei pela opo From device e selecionei na opo ...:

Abrir uma nova janela onde se deve informar a localizao do backup a ser
restaurado:

Para Localizar tal backup, clique em Add conforme demonstrado anteriormente,


localize o mesmo e clique em OK conforme demonstrao abaixo:

TOTVS-2011 Lets Share 57


OBS: Note que informei o mesmo diretrio em que o salvei o backup feito na seo
Demonstrando como se fazer um Backup no SQL Server 2005 (Pagina 23).
Aps o procedimento acima, o SQL Server apresentar a tela Specify Backup com
o caminho informado:

Clique na opo OK.

Aps o SQL Server voltar tela principal j com alguns dados preenchidos, tais
como o caminho escolhido no campo From Device e o Backup informado logo
abaixo na opo para se selecionar o Backup a restaurar, deve-se marcar ao backup
em questo e clicar na opo Options, localizada no canto superior esquerdo da
tela:

TOTVS-2011 Lets Share 58


Na Tela Options, deve-se informar o caminho para que o sistema salve os arquivos
da Base de Dados restaurada, cuja extenso so .mdf e .ldf respectivamente:

TOTVS-2011 Lets Share 59


Para informar um caminho diferente ao sugerido pelo SQL Server, basta clicar nas
opes ..., localizadas a frente dos caminhos informados.
Basta clicar em OK e o backup ser automaticamente restaurado no caminho
informado:

Aps restaurao, o SQLServer apresentar a mensagem de Restaurao executada


com Sucesso:

TOTVS-2011 Lets Share 60


FUNO DETACH DE UMA BASE DE DADOS NO SQL SERVER:

Detach o processo que desativa (desliga) a base de dados. Note que aps efetuar o
Detach, base de dados deixa de estar disponvel no servidor.
Demonstrando a Funo Detach no SQL Server 2005:
Feito o procedimento demonstrado na seo Acessando o SGDB SQL Server (Pagina
19), procure a pasta Databases, encontre a Base de Dados a ser desativada, clique com
o boto direito do mouse sobre a mesma, acesse a opo Tasks Detach...

Na Prxima janela apresentada, basta clicar em Ok, e a desativao desta base ser
feita:

TOTVS-2011 Lets Share 61


Aps executado este processo, a base em questo ser excluda da guia Databases
de seu SQL Server:

Mas continuar existindo no diretrio em que foi restaurado anteriormente, na seo


Demonstrando como restaurar um Backup no SQL Server 2005 (Pagina 26):

TOTVS-2011 Lets Share 62


FUNO ATTACH DE UM BASE DE DADOS NO SQL SERVER:

Attach o processo que a ativa (liga) ou volta a ativar uma base de dados.
Demonstrando a Funo Detach no SQL Server 2005:
Feito o procedimento demonstrado na seo Acessando o SGDB SQL Server (Pagina
19), procure a pasta Databases, clique com o boto direito do mouse sobre a mesma,
acesse a opo Attach...:

Na Prxima janela apresentada, clique em ADD... para localizar a base a ser ativada:

TOTVS-2011 Lets Share 63


Localize a Base de dados e clique em OK:

O SQL Server automaticamente levar esta base e seu respectivo caminho para tela
anterior, apresentando-o em Databases to attach e detalhando como ficar em
Exemplo_10 databases details:

TOTVS-2011 Lets Share 64


Agora basta clicar em OK para executar a ativao da Base de Dados em questo.
Aps Ativao, a mesma estar sendo apresentada novamente na guia Databases de
seu SQL Server:

Outras funes comuns como Deletar, Renomear, Atualizar ou Verificar


propriedades de uma base de dados, tambm podem ser feitas, bastando clicar com o
boto direito do mouse sobre a mesma:

TOTVS-2011 Lets Share 65


PROCEDIMENTOS PARA EXECUTAR O PROFILER DO SQL SERVER 2005.

Menu Programas  Microsoft SQL Server 2005  Performance Tools  SQL


Server Profiler conforme figura abaixo.

TOTVS-2011 Lets Share 66


Ser aberta a janela principal do Profiler.

Clicar no cone New Trace conforme figura abaixo

Ser aberta a janela para logar no servidor conforme figura abaixo:

Em SQL Server informar o nome do servidor que se encontra o banco de dados


Caso seja Administrador da mquina poder utilizar Windows authentication
caso contrario utilizar SQL Server authentication e logar com o usurio SA.

TOTVS-2011 Lets Share 67


Ser exibida a janela abaixo, solicitando o nome para o Arquivo de trace (trace
name), neste dever ser colocado qualquer nome conforme tela abaixo.

Selecionar a guia orelha Events Selection, marque as opes Show all


events e Show all coluns para que possa ter uma melhor visualizao dos
eventos, na coluna events marque os eventos que voc deseja que sejam gravados
a serem gravados no log a ser gerado conforme tela abaixo.Geralmente os eventos
a serem adicionados so: Errors and Warnings,Stored Procedure,Transactions e
TSQL
Obs.: O eventos (Security Audit,Sessions,Stored Procedures,TSQL) por
padro vem marcados podendo manter os mesmos.

TOTVS-2011 Lets Share 68


Selecionar o boto Column Filters... . Nesta janela ser configurado os
critrios para realizar a monitorao do log, desta forma podemos monitorar
isoladamente o que uma determinada estao esta realizando no banco de dados
especificado, dever ser configurado os critrios DataBaseName e HostName. Em
DataBaseName expandir ( clicar no sinal de + mais ao lado deste critrio) e no item
like adicionar o nome do banco de dados Ex: EXEMPLO, CORPORE. Conforme
janela abaixo.
Obs.: Caso no saiba o nome do banco de dados, este poder ser verificado na
propriedade DATABASE NAME do alias no BDE.

Conforme citado acima o outro critrio a ser configurado ser o HostName, neste
dever ser adicionado o nome da mquina na rede Ex: SERVER, STENOVATO,
conforme janela abaixo :

TOTVS-2011 Lets Share 69


Aps este procedimento, clicar no boto OK e logo em seguida no boto RUN, o
profiler ir comear a gravar todas as transaes enviadas para o banco de dados,
simular o erro no aplicativo logo aps clicar no boto STOP conforme janela abaixo

Logo aps clicar na opo STOP , ir ao menu File  Save as  Trace File e
informar um nome qualquer para o arquivo e clique no boto Salvar. Conforme
janela abaixo.

TOTVS-2011 Lets Share 70


MANUTENO NA BASE DE DADOS DA RM:

Para obtermos uma rotina de preveno na base, os analistas de banco de dados


da RM disponibilizam alguns scripts, e neste contm as seguintes funes do SQL:

Esta procedure atualiza as estatsticas do seu banco, melhorando a performance


da seguinte maneira:
Exemplo:
Suponhamos que uma tabela criada apenas com 10 registros, e ao decorrer do
tempo, a mesma contm 1000 registros. Para evitar que o banco de dados no
realize um plano de execuo como se a tabela tivesse apenas 10 registros,
necessrio atualizar as estatsticas da mesma.
Alm dessa Procedure, temos tambm os scripts de manuteno de base de
dados que tem como funo fazer as seguintes rotinas;

Reindexando os ndices da Tabela


Verificando estrutura das tabelas e do Banco
Verificando espao alocado das tabelas e do Banco
TOTVS-2011 Lets Share 71
Alocao
Reduo do log

Os scripts possuem os nomes de Manuteno.sql e mandatabase.sql, e podem


ser adquiridos com o pessoal da equipe de suporte de banco de dados.

Sugerimos que estas rotinas sejam executadas diariamente, porm caso seja
executado com usurios conectados, os mesmos podem questionar queda de
performance no sistema.

Manuteno de bases SQL Server

1-manuteno.sql
2-man_database.sql
3-RMATUALIZAESTATISTICAS (Procedure de Sistema, basta digitar o nome da
procedure e executar no Query Analyzer)

A execuo dos scripts visa uma melhoria considervel na base.

Favor realizar as seguintes consultas na base e enviar o resultado:

SELECT * FROM SYSOBJECTS WHERE XTYPE='TR'


SELECT OBJECT_NAME(ID),NAME FROM SYSINDEXES WHERE NAME LIKE
'_WA_SYS%'
SELECT * FROM SYSOBJECTS WHERE UID<>1

RECOMENDADO QUE A EXECUO DOS SCRIPTS DE MANUTENO


SEJA REALIZADA NO MOMENTO DE MENOR UTILIZAO DA BASE CORPORE.

TOTVS-2011 Lets Share 72


Caracter set/ordenao/case: O padro utlizado pelo CORPORE RM o
Caracter Set 1252, Dictionary Order, Case Insensitive, Acent insensitive.
Default language: English
Usurios: So utilizados por padro dois usurios para acesso ao Banco de
Dados.
Usurio SYSDBA (cujo nome e senha no devem ser alterados). Este
usurio tem acesso apenas s tabelas de LOGIN e deve ser
criado/configurado atravs do script USUARIOS.SQL.
Usurio RM (que tratado como Dono do Banco de Dados). Este
usurio deve ser criado/configurado atravs do script USUARIOS.SQL.
Este usurio pode ter seu nome e senha alterados, porm caso isto
seja feito, deve ser feito de acordo com o script USUARIOS.SQL.
Deve-se atentar para a seguinte questo: No deve existir na base um usurio
rm, e sim um alias que age como dono das tabelas, portanto na pasta security>users
do SQL Server Management Studio ou Enterprise Manager no deve existir o
usurio rm, j em security>logins deve existir ambos os logins rm e sysdba.
Veja o padro em security>users

TOTVS-2011 Lets Share 73


Propriedades do banco de dados:
Ansi Null Default: ON;
Auto Create Statistics: OFF;
Auto Update Statistics: OFF.
Autenticao: Feita pelo SQL Server e Windows.

DICAS DE PERFORMANCE SQL SERVER

Seguem abaixo algumas dicas para assegurar a performance em um Banco de


Dados. Vale a pena lembrar que toda a tarefa de manuteno em um banco de
Dados deve ser feita em um momento em que o banco de dados no esteja sendo
utilizado por outros usurios. A maior parte das alteraes feitas no Banco de Dados
requer que o mesmo seja reinicializado para que a alterao tenha efeito.Toda
alterao na configurao de um servidor de Banco de Dados deve ser monitorada
de forma a verificar se o resultado esperado foi atingido.
As dicas relacionadas abaixo so genricas e teis para grande parte dos
servidores, porm em alguns casos estas no so suficientes para garantir uma boa
performance. Neste caso, deve-se procurar uma ajuda especializada e fazer um
ajuste fino e personalizado na configurao do servidor.

1)Configurar a memria utilizada pelo SQL SERVER


Sugere-se utilizar a alocao dinmica de Memria para o SQL Server.
Caso esteja utilizando um servidor SQL Server Dedicado, sugerimos que a
metade da memria disponvel no servidor seja alocada como quantidade de
memria mnima para o servidor (Minimum (MB)).
Assim, caso o Servidor tenha 1GB de memria, deve-se alocar como mnimo
para o SQL Server 512MB.
Sugere-se calcular a memria mxima para o SQL Server da seguinte forma:
deve-se reservar 20% da memria do servidor para o Sistema Operacional
(considerando-se mltiplos de 128 MB), subtrai-se do total da memria do Servidor,
o valor reservado para o Sistema Operacional, e esta quantidade de memria deve

TOTVS-2011 Lets Share 74


ser a quantidade mxima de memria utilizada pelo SQL Server. No caso de um
servidor com 1GB de memria como o citado acima, a quantidade mxima para o
SQL Server deve ser 768MB.

2) Utilizao de Processadores

-Quando tiver mais que um processador, sugere-se fazer com que o


SQLServer os
utilize.
Deve-se verificar, de acordo com cada edio do SQL Server (ver Books on
Line) o nmero mximo de Processadores que o SQL Server pode usar. Quando o
nmero de processadores no servidor ultrapassar o limite utilizado pela edio do
SQL Server, o limite da Edio deve ser utilizado.
Para permitir a utilizao de mais de um processador pelo SQL Server, basta
marcar o Check Box relativo a cada processador em "Processor".
- Desmarque a opo "Boost SQL Server priority on Windows".(Quando esta
opo est marcada, a prioridade do processador para o SQL Server. Marcar est
opo pode fazer com que todo o processamento da mquina seja direcionado para
o SQL Server fazendo com que o Sistema Operacional seja prejudicado.)
c ) Marcar a opo "Use All avaiable Processors to use for parallel execution of
Queries" (SQL Server 2005).
Esta opo ir fazer com o SQL Server utilize de forma otimizada mais de um
processador para a execuo de Queries em paralelo quando isto acarretar em um
melhor plano de execuo de uma determinada query.

3) Alocao de Espao em Disco

-Deve-se alocar espao alm do suficiente no disco para os DataFiles do Banco


de Dados. (Desta forma no haver uma frequente alocao de espao em disco.)
Deve-se configurar tambm o crescimento automtico dos DataFiles. Sugere-se
que seja configurado um crescimento de 20% em 20% do Data File e que este
crescimento seja ilimitado.

TOTVS-2011 Lets Share 75


- Deve-se alocar para o Log de transaes um espao correspondente a 25% ou
30% do tamanho dos DataFiles.
Sugere-se adotar o crescimento automtico de 10% e limitar o crescimento do
log a 50% do tamanho dos DataFiles.
Obs:A configurao da alocao de espao em disco deve ser revisada
periodicamente. Sugere-se que esta reviso seja feita mensalmente ou a cada dois
meses.

4) Distribuio de arquivos do Banco de Dados no Disco

-Crie um novo Filegroup e o coloque como default Filegroup


Em geral uma boa deciso armazenar e gerenciar objetos do sistema (SQL
Server) e objetos de usurio (base Corpore) separadamente. Desta forma, os
objetos do sistema no competem por espao no primary Filegroup com os objetos
de usurio.
-Caso voc tenha diversos discos fsicos, tente criar um filegroup com um arquivo
por disco fsico.
-Isto ir favorecer a performance, porque quando uma tabela acessada
sequencialmente, uma thread separada criada para cada arquivo para fazer a
leitura dos dados em paralelo.
- Coloque o arquivo de Log em um disco fsico diferente do arquivo de Dados
Isto importante para performance pois escrever no Log uma atividade de
escrita intensiva.

5) Solues baseadas em Hardware

Em geral RAID baseado em hardware oferece vantagens de performance se


comparados com o RAID implementado no Sistema Operacional. Pode-se
melhorar significativamente a performance do sistema implementando um RAID 5
baseado em hardware.
- Arquivo de Paginao e Sistema Operacional

TOTVS-2011 Lets Share 76


Sempre que possvel coloque os arquivos do Banco de Dados em discos
diferentes do sistema operacional e arquivo de paginao. Isto tambm ir favorecer
a performance do sistema.

6) Rodar diariamente atualizao de estatsticas

A atualizao de estatsticas serve para que o SQL Server conhea melhor os


dados que esto armazenados no Banco e atravs deste conhecimento escolha
sempre o melhor plano de execuo para as consultas ao Banco de Dados.A
atualizao de estatsticas no Banco de Dados Corpore RM pode ser feita atravs
da execuo da procedure RMATUALIZAESTATISTICAS. Deve-se criar uma tarefa
responsvel por executar diariamente e automaticamente esta procedure na Base
de Dados.

Recriar todos os ndices da Base de Dados semanalmente.

A recriao dos ndices permite a desfragmentao dos mesmos, o que reflete


diretamente na performance do Banco de Dados.A recriao de ndices no Banco de
Dados Corpore RM deve ser feita semanalmente atravs de uma tarefa agendada.
Esta tarefa deve executar um script contendo comandos para a reconstruo dos
ndices em todas as tabelas do Banco de Dados. O comando a ser utilizado deve
seguir o seguinte padro:
DBCC DBREINDEX (<nome da tabela>)

Rodar semanalmente o DBCC CHECKDB

O DBCC CHECKDB serve para verificar a integridade fsica do Banco de


Dados.No basta que o comando seja executado. Deve-se verificar o Log de
execuo do mesmo a fim de identificar algum segmento corrompido.Rode o
utilitrio e localize ocorrncias da palavra "MSG", elas podem indicar problemas com
integridade fsica no Banco de Dados.

TOTVS-2011 Lets Share 77


Desmarque as seguintes opes no Banco de Dados:

Auto update statistics


Torn page detection
Auto close
Auto shrink
Auto create statistics

DICAS PARA QUALQUER BANCO DE DADOS

1) Trabalhar com servidor dedicado para o BD

Verificar se no h servios desnecessrios rodando na mquina alm dos


Servios do Gerenciador de Banco de Dados.

2) Desabilitar Anti Virus

Caso exista Anti-Virus habilitado no servidor de Banco de Dados, configurar o


anti-virus para que o mesmo no faa verificao de arquivos do banco. Isto no
necessrio, e degrada muito a performance do Banco de Dados, uma vez que a
cada alterao no arquivo de Banco de Dados o Anti-virus deve fazer uma
verificao do mesmo.

3)Verificar se o disco est fragmentado.

TOTVS-2011 Lets Share 78


Verificar mensalmente a fragmentao no disco onde est o Banco de Dados.
Caso necessrio, deve-se fazer a desfragmentao do mesmo. Caso seu Banco de
Dados esteja rodando em um Sistema Operacional Windows, e rode o utilitrio
"Desfragmentador de Disco" do Windows para efetuar a desfragmentao. Antes de
rodar o utilitrio, tire um backup do Banco de Dados. Caso necessrio, apague o
banco de Dados e restaure o mesmo novamente.

INSTALAO DO ORACLE 11G SERVER

Este guia tem como objetivo auxiliar a instalao do gerenciador de banco de


dados Oracle 11g nos sistemas operacionais Windows NT Server, Windows NT
Workstation, Windows 2000 Server, Windows 2000 Professional, Windows XP ,
Windows Vista, Windows Server 2003 e Windows Server 2008.
Pr-requisitos para instalao:

o Antes de iniciar a instalao, recomendvel serem fechadas todas as


janelas de programas do Windows;

o O computador servidor deve estar em rede com os computadores


clientes;

o A instalao deve ser executada por um usurio com atribuies de


administrador local.

1.1 - Iniciando a Instalao

1- No Windows Explorer, acesse o CD de instalao do Oracle11g;

TOTVS-2011 Lets Share 79


Observaes:

Caso o servidor, onde o Oracle11g ser instalado, no tenha drive de CD-


ROM, coloque o CD em uma mquina que tenha drive de CD-ROM e
compartilhe-o.
Para maiores informaes veja o tpico Mapeando o Drive de Rede para o
CD ROM.

1- Execute o programa de instalao SETUP.EXE e aguarde at que as


configuraes do micro sejam verificadas.

TOTVS-2011 Lets Share 80


Verificando as configuraes do micro:

TOTVS-2011 Lets Share 81


1.2 - Welcome
No dilogo "Select Installation Method":
1- Selecione a opo [ADVANCED INSTALLATION]:

2- Clique em [NEXT].

TOTVS-2011 Lets Share 82


1.3 - Tipos de Instalao e linguagem

No dilogo "Select Installation Type":


1 - Selecione a opo [Enterprise Edition (2.69GB)];
2 - Clique no boto [PRODUCT LANGUAGES].

3 - No dilogo "Language Selection", mantenha apenas ENGLISH no quadro


Select Languages (quadro direita da janela).

TOTVS-2011 Lets Share 83


4 - Clique no boto [OK].
5 - Ainda no dilogo " Select Installation Type ", pressione [NEXT].

1.4 - Definindo a Localizao dos Arquivos

No dilogo "Install Location":


1 - No campo [Oracle Base]: Verifique o caminho onde esto localizados os
arquivos necessrios para a instalao do Oracle11g. Voc deve clicar no boto
Browse e encontrar a pasta STAGE na instalao e selecionar o arquivo
PRODUCTS.XML conforme a figura abaixo.
2 - Caso o caminho especificado no campo [Oracle Base] no esteja correto,
utilize o boto [BROWSE] para especific-lo corretamente.

TOTVS-2011 Lets Share 84


3 - Como por padro o Instalador do Oracle 11G utiliza a pasta de perfil do
usurio para fazer a instalao, sugerimos que seja criada uma pasta chamada
ORACLE em c:\ conforme print abaixo:

Crie
uma nova
pasta

Em [Software Location]

TOTVS-2011 Lets Share 85


4 - No campo [NAME]: Entre com o OraDb11g_home1.
5 - No campo [PATH]: Entre com o caminho onde ser instalado o Oracle.
Sugere-se deixar o caminho default: C:\ORACLE\PRODUCT\11.1.0\db_1.
6 - Caso queira alterar o caminho, clique no boto [BROWSE].
7 - Clique em [NEXT].

1.5 Verificao de pr-requisitos

No dilogo "Product-Specific Prerequisite Checks":


1 Certifique que a verificao dos pr-requisitos foi executada com
sucesso.
2 - Clique em [NEXT].

TOTVS-2011 Lets Share 86


1.6 Opo de Configurao do Banco

No dilogo "Select Configuration Option":


1 - Escolha [CREATE A DATABASE] para criar uma instancia Oracle.
2 - Clique em [NEXT].

TOTVS-2011 Lets Share 87


1.7 Configurao do Banco

No dilogo "Select Database Configuration":


1 - Escolha [GENERAL PURPOSE].
2 - Clique em [NEXT].

TOTVS-2011 Lets Share 88


1.8 Opes de Configurao do Banco de Dados

No dilogo "Specify Database Configuration Options":

TOTVS-2011 Lets Share 89


1 - No campo GLOBAL DATABASE NAME coloque o nome completo com
domnio do seu banco de dados.
2 - No campo SID coloque o nome da instncia que ser criada.
3 - Clique em [NEXT].

1.9 Detalhes de Configurao do Banco de Dados

TOTVS-2011 Lets Share 90


No dilogo "Specify Database Configuration Details":

1 - No guia MEMORY, verifique a porcentagem de memria que ser alocada


para a instancia que esta sendo criada.
2 - Por padro o Oracle deixa 40% da memria da maquina disponvel para
instancia.
Sugerimos que para instancias de teste seja alocada apenas 15% da
memria para a instancia por motivo de otimizao de performance da maquina.

3 V na guia CHARACTER SET


4 Marque a opo [CHOOSE FROM THE LIST OF CARACTER SETS]
5 No campo SELECT DATABASE CHARACTER SET escolha o conjunto
de caracteres [West European WE8ISO8859P15].
6 - Clique em [NEXT].
TOTVS-2011 Lets Share 91
1.10 Opo de Gerenciamento de Banco de Dados

TOTVS-2011 Lets Share 92


No dilogo "Select Database Management Option":
1 - Escolha a opo [USE DATABASE CONTROL FOR DATABASE
MANAGEMENT].
2 - Clique em [NEXT].

1.11 Opes de Armazenamento de Arquivos do Banco

TOTVS-2011 Lets Share 93


No dilogo "Specify Database Storage Option":
1 - Escolha a opo [FILE SYSTEM].
2 - Caso queira mudar a localizao dos arquivos do banco de dados, clique
no boto [BROWSE].
3 - Clique em [NEXT].

TOTVS-2011 Lets Share 94


1.12 Opes de Backup e Recuperao

No dilogo "Specify Backup and Recovery Options":


1 - Selecione a opo [DO NOT ENABLE AUTOMATED BACKUPS].
2 - Clique em [NEXT].

TOTVS-2011 Lets Share 95


1.13 Senhas do Banco de Dados

No dilogo "Specify Database Schema Passwords":


1 - Marque a opo [USE THE SAME PASSWORD FOR ALL THE
ACCOUNTS]
2 - Coloque uma senha no campo [ENTER PASSWORD] repetindo a mesma
no campo [CONFIRM PASSWORD].
3 - Clique em [NEXT].

TOTVS-2011 Lets Share 96


1.14 Gerenciamento de configurao de registros

No dilogo "Oracle Configuration Manager Registration":


1 - Clique em [NEXT].

TOTVS-2011 Lets Share 97


1.15 Lista de Produtos a serem Instalados

No dilogo "Summary":
1 - Clique no boto [INSTALL].

TOTVS-2011 Lets Share 98


1.16- Aguardando a Instalao

No dilogo "Install":
1 - Aguarde at que os arquivos de instalao sejam copiados ou que o
boto [NEXT] seja habilitado novamente.

TOTVS-2011 Lets Share 99


1.17 - Configurando as Ferramentas

No dilogo "Configuration Assistants":


1 - Aguarde at que o boto [NEXT] seja habilitado novamente.
2 - Clique em [NEXT].

TOTVS-2011 Lets Share 100


1.18- Identificao da Instncia

No dilogo "Database Configuration Assistant":


1 Clique em OK.

TOTVS-2011 Lets Share 101


1.19 Fim da Instalao

No dilogo "End of Installation":


1 - Clique no boto [EXIT].

2 Na caixa de dilogo, clique no boto Yes.

TOTVS-2011 Lets Share 102


Criando uma Instncia no Oracle 11g
Acesse o menu: INICIAR | Todos os Programas | Oracle - OraDb11g_home1 |
Ferramentas de Configurao e Migrao | Assistente de Configurao de Bancos
de Dados

0 Bem-vindo
Na tela Bem-vindo
1 Clique em Prximo

1 Operaes
Na tela Operaes
1 Selecione a opo Criar um Banco de Dados;
2 Clique em Prximo.

2 Modelos de Banco de Dados


Na tela Modelos de Banco de Dados
1 Selecione a opo Finalidade Geral ou Processamento de Transao;
2 Clique em Prximo.

3 Identificao do Banco de Dados


Na tela Identificao do Banco de Dados
1 Digite o nome da instncia que est sendo criada no campo Nome do Banco de
Dados Global;
2 Confirme o mesmo nome no campo SID;
3 Clique em Prximo.

4 Opes de Gerenciamento
Na tela Opes de Gerenciamento
1 Desmarque a opo Configurar o Enterprise Manager;
2 Clique em Prximo.

5 Credenciais do Banco de Dados


Na tela Credenciais do Banco de Dados
1 Marque a opo Usar a mesma senha Administrativa para todas as contas;
2 Digite uma senha para as contas do Banco de Dados no campo Senha;
3 Confirme a mesma senha no campo Confirmar Senha;

TOTVS-2011 Lets Share 103


4 Clique em Prximo.

6 Opes de Armazenamento

Na tela Opes de Armazenamento


1 - Clique em Prximo.

7 Localizao dos Arquivos de Banco de Dados


Na tela Localizao dos Arquivos de Banco de Dados
1 - Clique em Prximo.

8 Configurao de Recuperao
Na tela Configurao de Recuperao
1 Desmarque a opo Especifique a rea de recuperao Flash, a mesma e
utilizada para o recurso de flashback que tem utilidade em sistemas de produo
alm de ser o local padro para onde o backup automtico feito.
2 - Clique em Prximo.

9 Contedo do Banco de Dados


Na tela Contedo do Banco de Dados
1 - Clique em Prximo.

10 Parmetros de Inicializao

Na tela Parmetros de Inicializao


1 Defina a quantidade de memria do sistema que ficar disponvel para o banco
de dados Oracle, quanto maior mais performance, em contrapartida menos recursos
para o sistema operacional Recomendado o mnimo por se tratar de uma ambiente
de desenvolvimento e teste.
2 Dimensionamento set os processos para 900.
3 Conjunto de caracteres Deve ser usado a terceira opo Escolha na lista de
conjuntos de caracteres, desmarque a opo Mostrar apensa conjuntos de
caracteres recomendados, o padro TOTVS WE8ISO8859P1
4 - Clique em Prximo.

11 Definies de Segurana

TOTVS-2011 Lets Share 104


Na tela Definies de Segurana
1 Marque a opo Reverter para definies de segurana default anterior a 11g e
mantenha as duas opes marcadas.
2 - Clique em Prximo.

12 Tarefas de Manuteno Automtica


Na tela Tarefas de Manuteno Automtica
1 Desmarque a opo Ativar tarefas de manuteno automtica;
2 - Clique em Prximo.

13 - Armazenamento de Banco de Dados


Na tela Armazenamento de Banco de Dados
1 - Clique em Prximo.

14 Opes de Criao

Na tela Opes de Criao


Dica: Em instalaes no Windows 7 poder ocorrer o erro:
"ora-12638 credential retrieval failed"
Para solucionar o problema dever se alterada a informao abaixo antes da
instalao:

No arquivo sqlnet.ora \\Oracle\product\11.1.0\db_1\NETWORK\ADMIN


Original - SQLNET.AUTHENTICATION_SERVICES= (NTS)

Modificado - SQLNET.AUTHENTICATION_SERVICES= (NONE)


Ativando um LISTENER no Oracle 11g

TOTVS-2011 Lets Share 105


NETCA
Algumas vezes necessrio acionar manualmente o netca para configurar um
Listener para a base de dados recm-criada. No ORACLE 11g normalmente
aparece uma mensagem emitida pelo DATABASE CONTROL CONFIGURATION...
Acesse pelo INICIAR EXECUTAR digitando o comando netca...

Aguarde at abrir o programa configurador e selecione LISTENER


CONFIGURATION...

Selecione Add e avance pelo NEXT (ou AVANAR)...

TOTVS-2011 Lets Share 106


Digite no nome do seu LISTENER (Normalmente digitamos LISTENER
mesmo)...

Selecione TCP como protocolo nico e avance...

TOTVS-2011 Lets Share 107


Selecione a porta padro 1521 (ou outra que lhe for passada pela infra-estrutura
de rede) e avance...

TOTVS-2011 Lets Share 108


Aguarde a mensagem de sucesso do prompt...

Verifique no servio do Windows (services.msc) se o servio de Listener foi


ativado (iniciado).

CRIANDO ALIAS PARA A BASE

1 - Atravs do Menu INICIAR | PROGRAMAS | ORACLE ORAHOME | CONFIGURATION


AND MIGRATION TOOLS, acesse o utilitrio "Net Manager".

TOTVS-2011 Lets Share 109


2 No dilogo do "Oracle Net Manager, v no Explorer a esquerda nas opes:
Oracle Net Configuration | Local | Service Naming e clique no cone + a esquerda
para adicionar um novo alias.

3 Informe no campo Net Service Name o nome que voc deseja dar para o
Alias que ir criar.

TOTVS-2011 Lets Share 110


4 Seleciono o tipo de Protocolo TCP/IP

5 Informe no campo Host Name o nome do servidor onde se encontra a


instncia a ser apontada, e no campo Port Number o nmero da Porta da mesma.

6 Informe no campo Service Name o nome da instancia a ser acessada.

TOTVS-2011 Lets Share 111


7 Clique no boto Testar para verificar a consistncia do login.

8 Entre com o Usurio System, senha do mesmo e clique em OK.

TOTVS-2011 Lets Share 112


9 Caso a conexo e configurao seja executada com sucesso conforme
mensagem abaixo, clique em Close para finalizar.

10 Salve a configurao atravs do menu: File | Save Network Configuration.

TOTVS-2011 Lets Share 113


1.4 - Ativando o Utilitrio SQL Plus

1 - Atravs do Menu INICIAR | Todos os Programas | Oracle


OraDb11g_Home1| Desenvolvimento de Aplicaes, acesse o utilitrio "SQL Plus".

No dilogo "Log On":

TOTVS-2011 Lets Share 114


1 - No campo [USER NAME:], digite SYSTEM.
2 - No Campo [PASSWORD:], digite a senha definida para o usurio system
Para se conectar a uma instncia especifica voc dever informar o nome da
instancia.

A sintaxe do comando rm/rm@rm3

TOTVS-2011 Lets Share 115


Onde considera-se usurio/senha@instancia

1.5 - Executando o Script para Gerao dos TableSpaces

1 - Edite o arquivo TBSPACE.SQL (utilize para esta operao utilitrios do tipo


WordPad ou NotePad) que se encontra no diretrio onde foram instalados os
arquivos para gerao da Base de Dados. Caso necessrio, altere os caminhos
onde sero criados os Datafiles, para caminhos vlidos no Servidor.

TOTVS-2011 Lets Share 116


Execute o script para gerao de TableSpaces. Digite:
@C:\CORPORERM\DADOS\TBSPACE9i.SQL (Onde o caminho digitado deve ser o
caminho onde foram instalados os arquivos para gerao de Base de Dados) e tecle
ENTER

1.5 Excluindo o schema RM (OPCIONAL)

ATENO: Esse passo deve ser executado apenas na ocasio de j se ter uma
instancia criada com uma base de dados importada e deseja-se alterar o arquivo de backup
(dmp).

Drop o schema RM (dono das tabelas Corpore) da seguinte maneira conectado no SQL
PLUS (ou tools) com o usurio SYSTEM:
Conecte com o usurio System:
Execute o comando:
COMANDO: DROP USER RM CASCADE;

TOTVS-2011 Lets Share 117


1.6 - Executando o Script para Criao de Usurios

Aps a finalizao da excluso do schema acima (opcional), ainda conectado com o


usurio SYSTEM no SQL Plus (ou Tools), execute o script de criao dos usurios do
Corpore RM (SYSDBA E RM) Usurios.txt
No SQL PLUS, execute o script para criao de Usurios. Digite:
@C:\CORPORERM\DADOS\USUARIOS.SQL (Onde o caminho digitado deve ser o
caminho onde foram instalados os arquivos para gerao de Base de Dados)

TOTVS-2011 Lets Share 118


CRIANDO ARQUIVO DE PARMETROS PARA IMPORTAO DE DADOS DA BASE
EXEMPLO

Crie um arquivo texto com o nome de IPORT.TXT (utilize para esta operao
utilitrios do tipo WordPad ou NotePad), com o seguinte contedo:

Observe que:
1- O primeiro RM o usurio, o segundo a senha e ORCL o alias que aponta
para a instncia que se quer importar a base.
2- O caminho especificado na linha FILE =
C:\CorporeRM\Dados\EXEMPLOORACLE.DMP, o local onde se encontra o
arquivo EXEMPLOORACLE.DMP que ser importado.
3- O caminho especificado na linha LOG = C:\CorporeRM\Dados\IMPORT.TXT,
o local onde ser criado o arquivo de log da importao.

Importar a Base

Atravs do Menu Iniciar | Programas, Acesse o "Command Prompt".No


"Command Prompt" digite o seguinte comando: IMP Parfile = C:\Temp\IMPORT.txt
Onde o caminho deve corresponder ao caminho onde foi criado o arquivo
IMPORT.txt Quando acabar de importar os dados rode o script acesso.sql para que
seja concedida as devidas permisses dos usurios do Banco as tabelas.

TOTVS-2011 Lets Share 119


No SQL Plus, execute o script de Permisso de Acesso para Usurios. Digite:
@C:\CORPORERM\DADOS\ACESSO.SQL (Onde o caminho digitado deve ser o
caminho onde foram instalados os arquivos para gerao de Base de Dados)

Tecle Enter, aguarde at finalizar a execuo do Script, feche o Log e digite


SPOOL OFF

A base estar pronta para uso.

Existe um outro processo de importao chamado de Oracle data pump que


deve ser realizado da seguinte maneira.

copiar o arquivo dmp para a pasta dpdump do oracle Exemplo:


C:\oracle\product\10.2.0\admin\ORCL1\dpdump
Acesse o prompt de comando e execute o seguinte comando.
impdp dumpfile=<Nome do arquivo> logfile=<nome Arquivo de log> schemas=rm

DICA: para saber se o arquivo um Dump criado pelo Expdp ou pelo Exp basta
executar no DOS o comando Type no arquivo.

Sintaxe: Type <nome do arquivo dmp> <pipe> more

TOTVS-2011 Lets Share 120


Exemplo: Type c:\rm.dmp | more

Se for um arquivo exportado pelo Exp ele trar no cabealho a verso do Oracle
em que foi realizado o export
Se for um arquivo exportado pelo Expdp ele trar o cabealho cdigo binrio
(ilegivel)

No caso de existirem vrios dumps, geralmente em casos de bases muito


grandes utilize os seguintes procedimentos:
No exemplo abaixo o nome da instancia era RM7
1-logar com o usurio SYSTEM no SQL Plus (Criao de diretrios)

CREATE DIRECTORY datadir1 AS 'E:\oracle\product\10.2.0\oradata\RM7';


CREATE DIRECTORY datadir2 AS 'E:\oracle\product\10.2.0\oradata\RM7';
CREATE DIRECTORY datadir3 AS 'E:\oracle\product\10.2.0\oradata\RM7';

2-Permisso para o usurio

GRANT READ,WRITE ON DIRECTORY datadir1 TO RM;


GRANT READ,WRITE ON DIRECTORY datadir2 TO RM;
GRANT READ,WRITE ON DIRECTORY datadir3 TO RM;

3-Copiar os arquivos de Dump para o diretorio


E:\oracle\product\10.2.0\oradata\RM7'

4-No DOS digitar : impdp rm/rm SCHEMAS=RM


DUMPFILE=datadir1:dp1.dmp,datadir2:dp2.dmp,datadir3:dmp
logfile=datadir1:logimpdp.log

Scripts de criao de usurios Oracle:

TOTVS-2011 Lets Share 121


Aps criar a instncia voc dever se conectar a base com o usurio SYSTEM e
executar o script para criao dos usurio rm e SYSDBA.

CREATE USER RM
IDENTIFIED BY RM
DEFAULT TABLESPACE RM_DADOS
TEMPORARY TABLESPACE RM_TMP; \\ Cria no BD um login RM de senha RM

CREATE USER SYSDBA


IDENTIFIED BY masterkey
DEFAULT TABLESPACE RM_DADOS
TEMPORARY TABLESPACE RM_TMP; \\ Cria login SYSDBA de senha MASTERKEY

CREATE ROLE ACESSO_RM;

GRANT CONNECT,DBA,RESOURCE TO RM; \\ D ao RM permisso total as tabelas

GRANT CONNECT, RESOURCE TO ACESSO_RM;

GRANT CONNECT,RESOURCE,ACESSO_RM TO SYSDBA; \\ Estabelecendo permisses ao SYSDBA

ALTER USER SYSDBA


DEFAULT ROLE ALL;

Verificar verso do Oracle


Para verificar a verso do Oracle basta executar o select abaixo.
SELECT VERSION FROM V$INSTANCE

Verificao dos parmetros no Oracle


TOTVS-2011 Lets Share 122
No padro corpore a linguagem padro para o SGBD Oracle o NLS_Lang
WE8ISO8859P1. Certifique que a linguagem do Oracle da estao esteja igual a do
servidor. Para isso, execute na estao a seguinte consulta:
Select * from nls_database_parameters (ir listar a linguagem do servidor)
Select * from nls_session_parameters (ir listar a linguagem da estao)

No caso de estarem diferentes do padro, siga os passos do exemplo abaixo:


Na instalao do Oracle o idioma escolhido foi brazilian e deveria ser american
na estao, conforme o servidor.
Os seguintes procedimentos devero ser executados na estao:
Ir no iniciar/executar, digitar regedit e teclar ok.
Apertar a tecla F3 e mandar localizar NLS_LANG
Todas as chaves NLS_LANG que esto como Brazilian... devero ser alterada
para AMERICAN_AMERICA.WE8ISO8859P1
Ir teclando F3 at terminar todas as NLS_LANG.

COMANDOS TEIS ORACLE

Abaixo alguns comandos teis na administrao de bases Oracle.

TOTVS-2011 Lets Share 123


-- VERIFICA INSTANCIA (IDENTIFICAR NOME DA INSTANCIA E INFORMAES
DA MESMA)
SELECT * FROM GLOBAL_NAME;
SELECT * FROM V$INSTANCE;

--VERSAO DO ORACLE (VERIFICAR QUAL A VERSAO DO ORACLE)


SELECT VERSION FROM V$INSTANCE

-- VERIFICAR QUAIS SO OS USURIOS DO SISTEMA (VERIFICAR TODOS OS


USURIOS EXISTENTES)
SELECT * FROM DBA_USERS

-- CONTA OBJETOS DO SCHEMA (CONTA E LISTA TODOS OS TIPOS DE


OBJETOS COM UM OWNER ESPECFICO)
SELECT COUNT(OBJECT_TYPE), OBJECT_TYPE
FROM DBA_OBJECTS
WHERE OWNER LIKE 'RM%'
GROUP BY OBJECT_TYPE;
SPOOL OFF

-- VERIFICA ATRIBUTOS DO USURIO (ATRIBUTOS GERAIS DE USURIOS)


SELECT * FROM DBA_USERS
WHERE USERNAME LIKE 'RM%';
SELECT * FROM DBA_TAB_PRIVS
WHERE GRANTOR LIKE 'RM%';

-- VERIFICA PREVILEGIOS DO USURIO


SELECT * FROM DBA_SYS_PRIVS
WHERE GRANTEE LIKE 'RM%';
SELECT * FROM DBA_ROLE_PRIVS
WHERE GRANTEE LIKE 'RM%';

-- DESATIVA USURIO / ATIVA


ALTER USER USER RM ACCOUNT LOCK;
ALTER USER USER RM ACCOUNT UNLOCK;
ALTER USER USER RM PASSWORD EXPIRE;

-- VERIFICA STATUS DA CONTA


SELECT USERNAME, ACCOUNT_STATUS FROM DBA_USERS

-- VERIFICAR SE TEM ALGUM USURIO USANDO O SISTEMA (BOM CASO


DESEJE PARAR O SERVICO DO ORACLE SERVER)
SELECT SADDR, SID, USERNAME, LOGON_TIME, STATUS,
OSUSER, MACHINE, PROGRAM
FROM V$SESSION;

-- VERIFICA PREVILEGIOS DE ROLE


SELECT * FROM DBA_ROLE_PRIVS;

TOTVS-2011 Lets Share 124


-- CONTA OBJETOS DO SCHEMA
SELECT COUNT(OBJECT_TYPE), OBJECT_TYPE
FROM DBA_OBJECTS
GROUP BY OBJECT_TYPE;

-- CONTA OBJETOS DE UM SCHEMA ESPECFICO


SELECT COUNT(OBJECT_TYPE), OBJECT_TYPE
FROM DBA_OBJECTS
WHERE OWNER LIKE 'RM%'
GROUP BY OBJECT_TYPE;

-- CONTA OBJETOS INVALIDOS


SELECT COUNT (*)
FROM DBA_OBJECTS
WHERE STATUS='INVALID'
AND OWNER LIKE 'RM%';

-- VERIFICA OBJETOS INVALIDOS


SELECT OBJECT_TYPE, OBJECT_NAME, STATUS
FROM DBA_OBJECTS
WHERE STATUS='INVALID'
AND OWNER LIKE 'RM%';

-- GERA SCRIPTS DOS OBJETOS INVALIDOS


SELECT 'ALTER'||' '|| OBJECT_TYPE ||' '||OWNER ||'.'|| OBJECT_NAME || '
COMPILE;'
FROM DBA_OBJECTS
WHERE STATUS='INVALID'
AND OWNER LIKE 'RM%';

-- VERIFICA AS ROLES RM
SELECT * FROM DBA_ROLES WHERE ROLE LIKE '%RM%';
SELECT * FROM DBA_SYS_PRIVS WHERE LIKE '%RM%';

--ALTERAR SENHA DE USUARIO


ALTER USER USER RM IDENTIFIED BY 'NOVA_SENHA';

--PROPRIEDADES DO SERVER (lANGUAGE, CHARACTER SET E ETC..)


SELECT * FROM NLS_DATABASE_PARAMETERS

--PROPRIEDADES DA SESSAO (lANGUAGE, CHARACTER SET E ETC..)


SELECT * FROM NLS_SESSION_PARAMETERS

--MOSTRA INFORMES GERAIS DA PARAMETRIZAO (NO FUNCIONA NO


SQL TOOLS)
SHOW PARAMETERS

TOTVS-2011 Lets Share 125


--VERIFICAR TRIGGERS NA BASE
SELECT * FROM DBA_TRIGGERS WHERE TABLE_OWNER='RM'

--VARIAVEIS DE AMBIENTE
CONN SYSTEM@INSTANCIA
SPOOL C:\LOGS
SET ECHO ON
SET TIMING ON
SET LINES 1000
SET SQLBL ON
ALTER SESSION SET NLS_DATE_FORMAT = 'DD/MM/YYYY HH24:MI:SS';
SELECT SYSDATE FROM DUAL;
SHOW USER

Segurana no Corpore RM

Alterando a senha do usurio RM

Para se alterar a senha do usurio RM, necessrio seguir a seguinte ordem:


Tire um backup do banco de dados
Logar na aplicao como mestre (usurio supervisor)
Acessar a opo: Cadastros / Segurana / Cdigos de Acesso
Alterar os campos Senha: e Confirmao de Senha: para a futura senha do
usurio de banco RM.
Alterar no banco a senha do usurio RM.

Alterando a senha do usurio SYSDBA

A DLL de login permite ao cliente escolher um usurio diferente do SYSDBA


para realizar a conexo com o banco de dados de modo a obter os parmetros de
conexo para o usurio.
Esta escolha se d atravs da existncia do arquivo:
\CorporeRM\CorporeRM.ini, que deve ter o seguinte formato:

TOTVS-2011 Lets Share 126


[LOGIN]
DBUSERNAME=usuario
DBPASSWORD=senha

Assim, a DLL procurar pela existncia deste arquivo. Caso ele exista, ao invs
do SYSDBA/masterkey, sero utilizados os parmetros de conexo informados
(usurio/senha).
Mas essa modificao no necessria e nem recomendada pela TOTVS, tendo
em vista que este usurio s tem permisso de leitura nas tabelas globais.

BDE Administrator:

O BDE Administrator um engine ou programa que atua como uma interface entre o
SGDB e o Aplicativo, ou seja atravs deste programa que sero configuradas todas
as propriedades para se conectar o aplicativo usado (ex: Softwares da RM Sistemas) a
uma base de dados qualquer (ex:Banco de Dados contido no SQL Server).
Caso voc no saiba onde encontrar esta ferramenta, ela se encontra no painel de
controle de seu sistema operacional. Caso no tenha o BDE instalado, ser necessrio
sua instalao para conseguir conectar sua aplicao ao banco de dados.

Na pgina Database do BDE Administrator esto os aliases para os Banco de Dados


disponveis. E a pgina Configuration, exibe e permite que seja configurado os drivers
instalados usados pelo BDE para gerenciar as tabelas.
TOTVS-2011 Lets Share 127
1 - Configurando o BDE para acessar o SQL Server:
Inicie o BDE Administrator - Lembre-se, ele se encontra no Painel de Controle.Utilize
a opo Object e aps em New. Selecione o nome do driver respectivo ao Banco
que voc deseja trabalhar. Neste caso, o SQL Server, seu driver o MSSQL.

Agora informaremos um nome para nosso alias. Por Padro, bases que sero
utilizadas por sistemas do Corpore RM devem ser iniciados com o nome CoporeRM .
Aps nomeado, passaremos a configurar o alias criado:
Altere o campo Server Name para o nome da maquina onde se encontra o banco
de dados restaurado.
Altere o campo Database Name para o nome do banco de dados em questo criado
no SGDB do SQL Server j restaurado.
Preencha o campo Host Name com o nome da sua maquina.
Preencha o campo User Name com o nome de um usurio com acesso para este
banco de dados. (Por padro usamos o nome rm ou sysdba).

Veja no exemplo abaixo como ficaria:

TOTVS-2011 Lets Share 128


Aps estes preenchimentos, vamos testar a conexo com o banco: Primeiramente,
salve estas alteraes pelo cone , localizado na parte superior do BDE Administrator,
e aps clique, 2 vezes sobre o alias criado, o BDE solicitar uma senha para executar tal
conexo, por padres, para o usurio rm deve-se usar a senha rm e para o usurio
sysdba deve-se usar a senha masterkey:

Caso a conexo seja bem sucedida, aps digitar a senha e clicar em OK o sistema
apresentara os dados relativos a este alias em negrito:

TOTVS-2011 Lets Share 129


CONFIGURANDO O BDE PARA ACESSAR O ORACLE

Inicie o BDE Administrator - Lembre-se, ele se encontra no Painel de Controle. Utilize


a opo Object e aps em New. Selecione o nome do driver respectivo ao Banco que
voc deseja trabalhar. Neste caso, o SQL Server, seu driver o Oracle.

Agora informaremos um nome para nosso alias. Por Padro, bases que sero utilizadas
por sistemas do Corpore RM devem ser iniciados com o nome CoporeRM .Aps
nomeado, passaremos a configurar o alias criado:
Altere o campo Server Name para o nome do alias que aponta para a instancia pr
configurado no Net Manager.
Preencha o campo User Name com o nome de um usurio com acesso para este
banco de dados. (Por padro usamos o nome rm ou sysdba).Veja no exemplo
abaixo como ficaria:

TOTVS-2011 Lets Share 130


Salve estas alteraes pelo cone , localizado na parte superior do BDE
Administrator, e aps clique, 2 vezes sobre o alias criado, o BDE solicitar uma senha
para executar tal conexo, por padres, para o usurio rm deve-se usar a senha rm e
para o usurio sysdba deve-se usar a senha masterkey.Pronto, seu alias esta pronto e
testado, agora basta executar a aplicao RM e selecionar este alias, conforme
representado na tela a seguir:

PARAMETRIZAO DO BDE

Na guia Database, ainda no alias CorporeRM:


Type selecionando o banco de dados (ORACLE)

"BLOB" (Binary Large OBject), recipiente para campos de origem diversas,


podendo ser at mesmo objetos definidos pelo prprio usurio. Num BLOB pode-se
guardar imagem, som, textos longos, textos longos formatados. Este parmetro
pode comprometer a performance do sistema, por isso sugerimos que seja
aumentado gradativamente.
TOTVS-2011 Lets Share 131
O Blob Size Limita o tamanho que a rea temporria utilizada na memria
(buffer) pode chegar. Setando este parmetro para 64, significa que sua aplicao
pode chegar a um blob de 64 K. >32 e <1000. Sugerido inicialmente: 64
O Blob Cache Determina a quantidade de Blobs que poder armazenar na
estao. Setando este parmetro para 128, significa que a aplicao poder
trabalhar com o mximo de 128 blobs armazenados, caso ultrapasse, o sistema ir
emitir a seguinte mensagem: "Invalid Blob handle in record buffer", neste caso s
aumentar. >64 e < 65536. Sugerido inicialmente: 128

Iremos destacar alguns parmetros que podem comprometer a performance do


sistema e prevenir alguns erros:
Na guia Configuration:
Drivers/Native/oracle
DLL32 - dever ser parametrizada com SQLORA8.DLL (favor verificar a
verso desta DLL se a 5.2.0.2, na guia Database , basta clicar com o boto direito
do mouse no CorporeRM, ir em Version Information e conferir a verso)
VENDOR INIT - OCI.DLL
System/Init
Langdriver Driver da linguagem do sistema apropriado para a verso do
Windows do seu pas: 'ascii' ANSI
Local Share - False
Memsize Mximo de memria que o BDE poder utilizar. Mnimo 16 MB,
mximo 205 MB. Sugerimos que coloque o valor da memria da estao, desde que
seja menor que 205, se for maior, coloque 205.
Maxfilehandles Mximo de arquivos concorrentes que o BDE poder
suportar, o valor alto dar impacto a uma boa performance no sistema, porm
utilizar mais recurso do sistema operacional. Dever ser usado somente valor inteiro
de 5 a 4096.
OBS: apresentado no final desta apostila os principais erros apresentados pelo
BDE Administrator.

TOTVS-2011 Lets Share 132


CONVERSO DA BASE DE DADOS VERSO 11.20

Antes de iniciar o processo de converso certifique-se dos seguintes requisitos.


1- Cpias de Segurana da base de dados.
2- Realizar o backup da base de produo e restaurar a mesma em um
ambiente de teste, visando primeiramente realizar uma converso neste
ambiente de testes.
3- Caso possua customizaes verificar junto ao Dep. De Customizaes da
TOTVS se as mesmas possuem verses compatveis com a nova verso.
4- Criar um alias no BDE apontando para o ambiente de teste.
5- Instale o TOTVS Conversor da verso 11.20

1. Execute o TOTVS Conversor para continuar o processo selecione o boto


Avanar

Fig.1-Tela inicial do processo de converso

TOTVS-2011 Lets Share 133


2. exibido o aviso abaixo.

Fig.2 - Esta tela remete a importncia da anlise prvia do documento de


portabilidade da verso a ser utilizada. Analisando os requisitos de Hardware e
software para a verso voc estar garantindo maior confiabilidade ao seu
ambiente de produo.

3. Ambiente 3 camadas

TOTVS-2011 Lets Share 134


Fig.3 - A tela acima possibilita o download do documento explicativo sobre a
arquitetura 3 camadas que uma recomendao da TOTVS desde a verso 10.70
4. Usurio e senha

Fig. 4 - A tela acima solicita o usurio e senha a serem utilizados para


converso. Por padro orientamos que seja utilizado o usurio rm e sua respectiva
senha.

5. Usurios conectados

Fig.5 - Esta tela apresenta os usurios conectados a base de dados. Caso no


existam usurios conectados de fato ser necessrio liberar estes registros da
tabela GLOGIN.

TOTVS-2011 Lets Share 135


Para liberar os logins voc dever realizar o seguinte comando DELETE FROM
GLOGIN e reiniciar o processo.
6. Aviso

Fig.6 - O aviso acima informa alguns cuidados necessrios a uma boa


converso.

7.Iniciar converso

TOTVS-2011 Lets Share 136


Fig. 7- Esta tela permite o inicio do processo de converso. Atravs desta etapa
voc poder selecionar
As informaes sobre local de gravao do log de converso e se deseja ou no
atualizar as estatsticas da base de dados durante a converso. Ao selecionar a
atualizao de estatsticas o processo de converso ter um acrscimo de tempo de
execuo, porm este procedimento recomendado para prover melhor
performance da base

Converso novo Modelo de BackOffice para clientes do Segmento de Projetos.

8. Converso novo modelo de Backoffice clientes segmento de Projetos

TOTVS-2011 Lets Share 137


Fig.8 - Esta tela ser apresentado aos clientes que possurem cadastros no
mdulo TOTVS construo e projetos.
O cliente que J conhece o novo modelo de backoffice e confirma que sua
empresa do segmento de projetos dever selecionar a opo OK, caso o cliente
seja do Segmento porm no conhece sobre o novo modelo de backoffice o mesmo
dever se informar antes de continuar a converso. Esta tela no dever ser
apresentada aos clientes que NO forem do segmento de projetos. Caso isso
ocorra, apesar do cliente no ser do segmento ele possui cadastros de projetos em
sua base (TABELA MPRJ) , neste caso o cliente deve verificar esta situao e caso
no utilize o segmento realizar a eliminao destes dados de sua base.

9. Customizaes

Fig.9 - Caso o cliente possua customizaes dever entrar em contato


prviamente com o Dep. De customizaes para avaliar se a sua customizao est
disponvel na nova verso. Clicando em sim a converso ser interrompida e exibida
a mensagem abaixo

TOTVS-2011 Lets Share 138


Fig.10

10. License Server

Fig.11 - Nesta verso o uso do license server se torna obrigatrio. Para


maiores informaes voc deve verificar o documento existente em
c:totvs\totvs\CorporeRM\Scripts

11. Consistncia Saldus

Fig.12-Caso seja exibida esta mensagem a responsabilidade pela soluo deste


problema a equipe do TOTVS Gesto Contbil(RM Saldus) devido a inconsistncia
da rotina de conciliao de lanamentos contbeis,.

TOTVS-2011 Lets Share 139


A demanda ser transferida a equipe at que seja disponibilizada documentao
padro aos clientes para soluo do problema.

Aps a execuo dessa rotina, o cliente tem apenas 7 dias para efetuar a
converso da base para a verso 11.20.

Informaes Adicionais

Caso existam dvidas no processo o cliente dever entrar em contato com a


equipe de banco de dados do suporte TOTVS.

PROCEDIMENTOS DE ANLISE E MANUTENO DA BASE DE DADOS.

SQL Server

PROCEDIMENTOS PARA EXECUTAR O PROFILER DO SQL SERVER 2005.

Menu Programas  Microsoft SQL Server 2005  Performance Tools  SQL


Server Profiler conforme figura abaixo.

TOTVS-2011 Lets Share 140


Ser aberta a janela principal do Profiler.

Clicar no cone New Trace conforme figura abaixo

Ser aberta a janela de conexo no servidor conforme figura abaixo:

Em SQL Server informar o nome do servidor que se encontra o banco de dados


Caso seja Administrador da mquina poder utilizar Windows authentication
caso contrario utilizar SQL Server authentication e logar com o usurio SA.
Ser exibida a janela abaixo, solicitando o nome para o Arquivo de trace (trace
name), neste dever ser colocado qualquer nome conforme tela abaixo.

TOTVS-2011 Lets Share 141


Selecionar a guia orelha Events Selection, marque as opes Show all
events e Show all coluns para que possa ter uma melhor visualizao dos
eventos, na coluna events marque os eventos que voc deseja que sejam gravados
a serem gravados no log a ser gerado conforme tela abaixo.Geralmente os eventos
a serem adicionados so: Errors and Warnings,Stored Procedure,Transactions e
TSQL

Obs.: O eventos (Security Audit,Sessions,Stored Procedures,TSQL) por


padro vem marcados podendo manter os mesmos.

TOTVS-2011 Lets Share 142


Selecionar o boto Column Filters... . Nesta janela ser configurado os
critrios para realizar a monitorao do log, desta forma podemos monitorar
isoladamente o que uma determinada estao esta realizando no banco de dados
especificado, dever ser configurado os critrios DataBaseName e HostName. Em
DataBaseName expandir ( clicar no sinal de + mais ao lado deste critrio) e no item
like adicionar o nome do banco de dados Ex: EXEMPLO, CORPORE. Conforme
janela abaixo.
Obs.: Caso no saiba o nome do banco de dados, este poder ser verificado na
propriedade DATABASE NAME do alias no BDE.

Conforme citado acima o outro critrio a ser configurado ser o HostName, neste
dever ser adicionado o nome da mquina na rede Ex: SERVER, STENOVATO,
conforme janela abaixo :

TOTVS-2011 Lets Share 143


Aps este procedimento, clicar no boto OK e logo em seguida no boto RUN, o
profiler ir comear a gravar todas as transaes enviadas para o banco de dados,
simular o erro no aplicativo logo aps clicar no boto STOP conforme janela abaixo

Logo aps clicar na opo STOP , ir ao menu File  Save as  Trace File e
informar um nome qualquer para o arquivo e clique no boto Salvar. Conforme
janela a seguir.

TOTVS-2011 Lets Share 144


DBCC Database Consistency Cheker

TOTVS-2011 Lets Share 145


No SQL Server 2005, atravs da linguagem transacional, temos uma srie de
comando que podem ser de grande utilidade na manuteno de tabelas e ndices.
Entre os vrios comando DBCC existentes, alguns merecem ateno maior
quando falamos de otimizao de consultas. Abaixo veremos quais so eles
divididos por quatro categorias.

COMANDOS DE MANUTENO

Comandos para manuteno preventiva ou corretiva no banco de dados:

DBCC DBREINDEX

Reconstri os ndices de uma tabela. Muito til para manuteno de ndices.

DBCC DBREPAIR

Apaga um banco corrompido. Use DROP DATABASE ao invs de DBCC


DBREPAIR.

DBCC INDEXDEFRAG
Desfragmenta um ou mais ndices de uma tabela. Melhora a performance do
ndice.

Fonte: PICHILIANI

2.8.2 Comandos Gerais

Possuem diversas funcionalidades, como alocao de tabela na memria, ajuda


sobre outros comandos DBCC e pinagem de tabela:

DBCC HELP Retorna a sintaxe de algum outro comando DBCC

TOTVS-2011 Lets Share 146


DBCC PINTABLE Pina a tabela , ou seja , faz o SQL Server no liberar da
memria
algumas informaes de uma tabela. Se utilizado com cuidado , h
ganho de performance.

DBCC UNPINTABLE Faz o SQL Server liberar da memrias algumas


informaes de uma
tabela que foi pinada com o comando DBCC PINTABLE.

DBCC ROWLOCK Simplesmente includa por compatibilidade. A funcionalidade


que este
comando proporcionava j embutida automaticamente no SQL Server
2000

DBCC TRACEON Habilita um flag de trace que necessrio para outros


comandos
DBCC.

DBCC TRACEOFF Desabilita um flag de trace setado como comando DBCC


TRACEON

COMANDOS DE STATUS

Fazem algumas verificaes de algumas configuraes do banco de dados:

DBCC OPENTRAN Mostra informaes sobre a transao mais velha ( mais


tempo
executando ) em um banco de dados.

TOTVS-2011 Lets Share 147


DBCC SHOWCONTIG Mostra vrias informaes sobre os ndices de uma
tabela , inclusive
o nvel de fragmentao do ndice.

DBCC SHOW_STATISTICS Mostra as informaes sobre as estatsticas de uma


tabela.
Estatsticas so muito importantes para a melhora de performance.

DBCC TRACESTATUS Mostra a situao dos flags de trace que foram setados
com o comando DBCC TRACEON

COMANDOS DE VALIDAO

Checagem de alguns objetos do banco de dados como tabelas, valores das


colunas IDENTITY e constraints:

DBCC TRACEON. Estes traces controlam configuraes internas do


SQL Server

DBCC CHECKALLOC Verifica o espao para as estruturas de alocaes


internas do
SQL Server. Permite alguns reparos em caso de erro.

DBCC CHECKCATALOG Somente checa a consistncia de algumas tabelas de


sistema do
SQL Server ( que compem o Database Catalog ). No faz
reparos
DBCC CHECKCONSTRAINTS Checa os relacionamentos de uma determinada
constraint no
banco de dados. No faz reparos.
TOTVS-2011 Lets Share 148
DBCC CHECKDB Verifica erros de alocao e de consistncia em vrios objetos
do
banco de dados. Pode efetuar reparos importantes em caso de erro.

DBCC CHECKFILEGROUP Muito parecido com o DBCC CHECKDB , porm s


faz a
verificao no nvel do filegroup de um database. No faz reparos

DBCC CHECKIDENT Chega e corrige , caso necessrio , valores de colunas que


possuem a propriedade IDENTITY. Pode inclusive resetar o valor
inicial ( seed ) da coluna que possui a propriedade IDENTITY.

DBCC CHECKTABLE Checa e corrige a integridade das pginas de dados ,


ndices ,
ntext , text e image para uma tabela ou uma indexed view

DBCC NEWALLOC Idntica DBCC CHECKALLOC. Foi mantida por


compatibilidade.

SENTENAS SQL

DML - Linguagem de Manipulao de Dados

Primeiro h os elementos da DML (Data Manipulation Language). A DML um


subconjunto da linguagem usada para selecionar, inserir, atualizar e apagar dados.

SELECT - o comumente mais usado do DML, comanda e permite ao usurio


especificar uma query como uma descrio do resultado desejado. A questo no
especifica como os resultados deveriam ser localizados.

TOTVS-2011 Lets Share 149


INSERT - usada para inserir dados em uma tabela existente.

UPDATE - para mudar os valores de dados em uma fila de tabela existente.

DELETE - permite remover filas existentes de uma tabela.

DDL - Linguagem de Definio de Dados

O segundo grupo a DDL (Data Definition Language). Uma DDL permite ao usurio
definir tabelas novas e elementos associados. A maioria dos bancos de dados de SQL
comerciais tem extenses proprietrias no DDL. Os comandos bsicos de uma DDL so:

CREATE - cria um objeto (uma Tabela, por exemplo) dentro da base de dados.

DROP - apaga um objeto do banco de dados.

DCL - Linguagem de Controle de Dados

O terceiro grupo o DCL (Data Control Language). DCL controla os aspectos de


autorizao de dados e licenas de usurios para controlar quem tem acesso para ver ou
manipular dados dentro do banco de dados.Os comandos bsicos de uma DCL so:

GRANT - autoriza ao usurio executar ou setar operaes.

REVOKE - remove ou restringe a capacidade de um usurio de executar operaes.

BEGIN TRAN - (ou START TRANSACTION, dependendo do dialeto SQL) pode ser usado
para marcar o comeo de uma transao de banco de dados que pode ser completada ou
no.

COMMIT - envia todos os dados das mudanas permanentemente.

TOTVS-2011 Lets Share 150


ROLLBACK - faz com que as mudanas nos dados existentes desde que o ltimo COMMIT
ou ROLLBACK sejam descartadas.

Consultando Dados atravs de Sentenas SQL pelo SQL Server:

1 - Na Barra superior do SQL Server clique sobre opo New Query:

OBS: Usando esta opo ser necessrio na janela aberta para execuo de
sentenas, informar a Base de Dados a ser consultada:

Para executar uma sentena basta aps escrev-la, clicar na opo Execute
localizada na parte superior da janela:

TOTVS-2011 Lets Share 151


Consultando Dados atravs de Sentenas SQL pelo ORACLE:

1 - Faa login na ferramenta de edio de consulta. Neste caso, vamos utilizar a


ferramenta SQL Tools, que no a ferramenta padro da Oracle, mas possui uma
interface grfica mais amigvel. Abaixo segue a tela de login, onde o se deve informar o
usurio de banco de dados a ser utilizado com sua senha e nome do TNSNAMES pr
configurado no NET MANAGER.

2 - Automaticamente uma nova query j iniciada, bastando apenas o usurio digitar a


consulta que deseja executar e clicar no boto de ao Execute para obter o
resultado.

TOTVS-2011 Lets Share 152


Propriedades de uma tabela no SQL Server

Para listar todas as informaes de uma tabela, afim de verificar como por exemplo os
campos que aquela tabela possui, os tipos desses campos, a chave primaria, as
constraints (chaves estrangeiras), indices e etc no SQL Server, deve-se digitar no query
editor o seguinte comando:

SP_HELP Nome da tabela

TOTVS-2011 Lets Share 153


OBS: Um atalho para esse procedimento digitar apenas o nome da tabela, selecion-
la e pressionar as teclas ALT+F1.

Clusulas

As clusulas so condies de modificao utilizadas para definir os dados que deseja


selecionar ou modificar em uma consulta.

SELECT - Utilizada para especificar as colunas que se vai selecionar os registros.

FROM - Utilizada para especificar a tabela que se vai selecionar os registros.

DISTINCT - Define a visualizao somente dos campos com valores distintos, sem
repetio.

WHERE - Utilizada para especificar as condies que devem reunir os registros que
sero selecionados.

GROUP BY - Descrio Utilizada para separar os registros selecionados em grupos


especficos.

HAVING - Utilizada para expressar a condio que deve satisfazer cada grupo.

TOTVS-2011 Lets Share 154


ORDER BY - Utilizada para ordenar os registros selecionados com uma ordem
especifica.

UNION - Utilizada para unir duas ou mais colunas.

Operadores Lgicos

AND - correspondente ao E lgico. Avalia as condies e devolve um valor verdadeiro


caso ambos seja corretos.

OR - correspondente ao OU lgico. Avalia as condies e devolve um valor verdadeiro


se algum seja correto.

NOT - correspondente a Negao lgica. Devolve o valor contrrio da expresso.

Operadores de Comparao

< - correspondente a Menor que

> - correspondente a Maior que

<> - correspondente a Diferente de

<= - Correspondente a Menor ou Igual que

>= - Correspondente a Maior ou Igual que

= - Correspondente a Igual que

BETWEEN - Utilizado para especificar um intervalo de valores.

LIKE - Utilizado na comparao de um modelo e para especificar registros de um banco


de dados.

Funes de agrupamento

As funes de agrupamento se usam dentro de uma clusula SELECT em grupos de


registros para devolver um nico valor que se aplica a um grupo de registros. Elas
ignoram valores nulos.

TOTVS-2011 Lets Share 155


AVG - Utilizado para calcular a media dos valores de um campo determinado.

COUNT - Utilizado para devolver o nmero de registros da seleo.

SUM - Utilizado para devolver a soma de todos os valores de um campo determinado.

MAX- Utilizado para devolver o valor mais alto de um campo especificado.

MIN- Utilizado para devolver o valor mais baixo de um campo especificado.

Em sua forma mais simples uma sentena SELECT precisa incluir o seguinte:

Sintaxe:

SELECT uma lista de uma ou mais colunas -obrigatrio


DISTINCT suprime duplicaes. -opcional
* seleciona todas as colunas -opcional
column seleciona o nome da coluna -opcional
alias d um nome diferente (apelido) coluna selecionada -
opcional
FROM table especifica a(s) tabela(s) contendo as colunas -obrigatrio
WHERE restringe condies apresentadas - opcional

Expresses aritmticas:

Algumas vezes pode ser necessrio modificar a maneira como os dados sero
apresentados, fazendo clculos. Isto possvel usando expresses aritmticas. Uma
expresso aritmtica pode conter nomes de colunas, valores numricos constantes e
operadores aritmticos.

TOTVS-2011 Lets Share 156


A tabela acima lista os operadores aritmticos disponveis no SQL. Eles podem ser
usados em qualquer clusula de uma sentena SQL exceto na clusula FROM.

Se uma expresso aritmtica contm mais de um operador, multiplicao e diviso so


avaliados primeiro. Se os operadores dentro da expresso possuem a mesma
prioridade, ento a avaliao feita da esquerda para a direita. Usamos parnteses
para forar que a expresso dentro dos mesmos seja avaliada primeiro.

Exemplificando algumas Sentenas SQL:

SELECTS
SQL: SELECT * FROM PFUNC

Na sentena SQL acima, estou pedindo para selecionar (visualizar) todos (para isto
usamos *) os registros contindos na tabela PFUNC :

TOTVS-2011 Lets Share 157


Ou apenas a quantidade de registros contidos nesta Tabela:

SQL: SELECT COUNT (*) FROM PFUNC

TOTVS-2011 Lets Share 158


Selecionar todos os cdigos de situao existentes na tabela de funcionrios sem
repetio:

SQL: SELECT DISTINCT CODSITUACAO FROM PFUNC

Selecionar todos os nomes de funcionrios que tenham data de demisso diferente de


nula (preenchida).

SQL: SELECT NOME, DATAADMISSAO ADMISSAO FROM PFUNC

TOTVS-2011 Lets Share 159


Selecionar todos os nomes de funcionrios que tenham data de demisso diferente de
nula (preenchida).

SQL: SELECT NOME, DATADEMISSAO FROM PFUNC WHERE DATADEMISSAO IS


NOT NULL

TOTVS-2011 Lets Share 160


Poderiamos tambem selecionar por exemplo, apenas o Nome e Salario de funcionarios
com salario menor que R$ 500,00:

SQL: SELECT NOME, SALARIO FROM PFUNC WHERE SALARIO < '500.00'

Ordenar todos os funcionrios pelo valor de seu respectivo salrio:

SQL: SELECT NOME, SALARIO, * FROM PFUNC WHERE SALARIO < '500.00'
ORDER BY SALARIO

TOTVS-2011 Lets Share 161


Selecionar todos os nomes e cdigos de sesso dos funcionrios, exceto os da sesso
01.01:

SQL: SELECT NOME, CODSECAO FROM PFUNC WHERE CODSECAO <> '01.01'

TOTVS-2011 Lets Share 162


Selecionar todos os nomes e salrios dos funcionrios, com salrios iguais a R$50,00,
R$ 700,00, R$800,00, e R$900,00.

SQL: SELECT NOME, SALARIO FROM PFUNC WHERE SALARIO IN (50, 700, 800,
900)

Selecionar o total (soma) de salrios de todos os funcionrios da tabela.

SQL: SELECT SUM (SALARIO) FROM PFUNC

TOTVS-2011 Lets Share 163


Selecionar a mdia dos salrios no repetidos da tabela.

SQL: SELECT AVG (DISTINCT SALARIO) FROM PFUNC

Selecionar o Funcionrio com maior valor de Salrio:

SQL: SELECT MAX(salario) FROM PFUNC

Selecionar o nome dos funcionrios adicionando 400,00 no salrio de todos.

TOTVS-2011 Lets Share 164


SQL: SELECT NOME, SALARIO + 400 FROM PFUNC

CONCATENAO: Selecionar o nome dos funcionrios, unindo as colunas Rua e


nmero.

SQL: SELECT NOME, RUA + ',' + NUMERO FROM PPESSOA

Selecionar todos os nomes de funcionrios iniciados com a letra M.

SQL: SELECT NOME FROM PFUNC WHERE NOME LIKE 'M%'

TOTVS-2011 Lets Share 165


Selecionar todos os nomes de funcionrios exceto Marias.

SQL: SELECT NOME FROM PFUNC WHERE NOME NOT LIKE 'MARIA_%'

Selecionar a mdia salarial de pessoas por seo.

SQL: SELECT CODSECAO, AVG(SALARIO) FROM PFUNC GROUP BY CODSECAO

TOTVS-2011 Lets Share 166


Selecionar todos os registros da tabela PFUNC, apresentando somente as colunas com
os nomes (em ordem alfabtica.

SQL: SELECT NOME FROM PFUNC ORDER BY NOME ASC

Selecionar o cdigo da seo, a soma dos salrios, o maior salrio e o numero de


funcionrios, desde que o menor salrio seja superior a 1000.

SQL: SELECT PSECAO.CODIGO, SUM(SALARIO), MAX(SALARIO), COUNT(CHAPA)


FROM PSECAO, PFUNC WHERE PSECAO.CODIGO = PFUNC.CODSECAO GROUP
BY PSECAO.CODIGO HAVING MIN (SALARIO) >100
TOTVS-2011 Lets Share 167
Selecionar o nome de todos os dependentes dos funcionrios, que nasceram em Betim
e todos os nascidos em Salvador.

SQL: SELECT CHAPA, NOME, LOCALNASCIMENTO FROM PFDEPEND WHERE


LOCALNASCIMENTO = 'BETIM' UNION SELECT CHAPA, NOME,
LOCALNASCIMENTO FROM PFDEPEND WHERE LOCALNASCIMENTO =
'SALVADOR'

CONSULTAS COM JUNO

TOTVS-2011 Lets Share 168


A sintaxe basicamente a mesma. A diferena est na utilizao da clusula
WHERE, necessaria para fazer a ligao entre tabelas. impressindivel que as colunas
de ligao sejam realmente idnticas (contedo).
A ligao entre tabelas necessria sempre necessroa sempre qie for preciso
selecionar um valor de uma coluna, de uma tabela pai ou de uma tabela filha em
relao a tabela principal de sua sentena SQL.

Exemplo:
Neste exemplo a tabela principal a PFUNC e no temos o nome da filial
fazendo parte de sua estrutura. O nome da filial est na tabela GFILIAL. Sendo assim,
ligamos as colunas em que os conteudos sejam idnticos (fazem parte das chaves
primrias e estrangeiras das tabelas envolvidas). A tabela PFUNC filha da tabela
GFILIAL, pois, a coluna CODFILIAL chave primaria em GFILIAL, e,
consequentimente, chave estrangeira em PFUNC.

SELECT GFILIAL.NOME, PFUNC.CHAPA FROM GFILIAL, PFUNC WHERE


GFILIAL.CODCOLIGADA = PFUNC.CODCOLIGADA AND GFILIAL.CODFILIAL =
PFUNC.CODFILIAL

OUTER JOINs

TOTVS-2011 Lets Share 169


As consultas com OUTER JOINs produzem resultados contendo as colunas
selecionadas de cada linha em uma tabela, mesmo que esta no tenha relao com um
subconjunto de linhas de uma outra tabela. Ou seja tras as linhas que geralmente no
obedecem a condio dp join.

necessrio especificar o JOIN a ser executado. Existem 3 tipos:


Um LEFT OUTER JOIN especifica todas as linhas da tabela da esquerda que no se
encaixam na condio especificada (ON).
Um RIGHT OUTER JOIN especifica todas as linhas da tabela da direita que no se
encaixam na condio especificada (ON).
Um FULL OUTER JOIN especifica todas as linhas das tabelas que no se encaixam
na condio especificada (ON).

Exemplo:
Selecionar todos os nomes dos funcionarios e os nomes dos bancos de deposito de
pagamento, somente para aqueles que possuem contas de pagamento cadastrada.

SQL: SELECT P.NOME, B.NOME FROM PFUNC P LEFT OUTER JOIN GBANCO B
ON P.CODBANCOPAGTO = B.NUMBANCO

TOTVS-2011 Lets Share 170


SUBQUERY

Para resolver esse problema, ser necessrio duas consultas: uma para
encontrar quanto ganha Jones e uma segunda consulta que encontrar quem ganha
mais que essa quantidade.

implementada uma consulta dentro da outra. A consulta interna ou


subquery retorna um valor que usado pela consulta principal. Usar uma subquery o
equivalente a execuo de duas consultas sequenciais.

Selecionar os funcionrios que possuem o salario maior que a mdia de salarios da


filial 2.

SQL: SELECT NOME, SALARIO, (SELECT AVG(SALARIO) FROM PFUNC WHERE


CODFILIAL = 2) MEDIA FROM PFUNC WHERE SALRIO > (SELECT AVG (SALARIO)
FROM PFUNC WHERE CODFILIAL = 2)

TOTVS-2011 Lets Share 171


INSERT

Adiciona uma nova linha na tabela de maneira que os campos correspondentes sejam
de mesmo tipo.

Inserindo um novo funcionario na tabela de cadastro de pessoas.

SQL: INSERT INTO PPESSOA (CODIGO, NOME) VALUES (9998, 'FRANCISCANA


IBERLINDA')

OBS: Diferentemente da clausula SELECT a execuo dos comandos DML


Inserte, Update e Delete no apresenta campo algum como resultado,
somente a mensagem: (1 row(s) affected), que quer dizer que 1 registro foi
modificado, aps sua execuo.

UPDATE

A funo UPDATE modifica linha(s) existentes numa tabela, se especificada(s) a


clausula WHERE foi atribuida, ser feito um filtro para mofificar apenas esse restrito
grupo.

TOTVS-2011 Lets Share 172


Alterar todos os salarios de funcionarios que atualmente possuem salario menor que R$
300,00, para R$ 310,00

SQL: UPDATE PFUNC SET SALARIO = '310.00' WHERE SALARIO < '300.00'

DELETE

possvel remover linhas existentes em uma tabela usando a sentena DLETE.

A clausula WHERE indentifica as linhas a serem deletadas e composta de nomes das


colunas, expresses, constraints, subqueries e operadores de comparao. Todas as
linhas da tabela so apagadas caso omitirmos a clausula WHERE.

Deletando o funcionrio criado na sentena INSERT.

TOTVS-2011 Lets Share 173


SQL: DELETE FROM PPESSOA WHERE NOME = 'FRANCISCANA IBERLINDA'

CREATE

Crie tabelas para armazenar os dados executando a declarao CREATE TABLE.


Esta declarao uma das declaraes da linguagem de definio de dados (DDL).
Declaraes DDL so um subconjunto das declaraes SQL usadas para criar,
modificar ou remover estruturas do banco de dados. Estas declaraes tem um efeito
imediato no banco de dados, e elas tambm gravam informaes no dicionrio de
dados.

Para criar uma tabela, um usurio deve ter privilgio para usar o CREATE TABLE e
uma rea de armazenamento para criar objetos.

Adicionando uma tabela de eventos adicionais no RM Labore contendo 5 campos


de diferentes tipos e passando como chave primaria dessa tabela dois campos.

SQL: CREATE TABLE PADICRESC (


CODCOLIGADA DCODCOLIGADA,
CODEVENTO VARCHAR(4) NOT NULL,
VALOR RMDVALOR2,
FORMSELECAO VARCHAR(8),
TOTVS-2011 Lets Share 174
APLICACAO VARCHAR(1),
CONSTRAINT PKPADICRESC PRIMARY KEY
(CODCOLIGADA,CODEVENTO))

ALTER TABLE

Use a declarao ALTER TABLE para:

Adicionar uma coluna (PK, FK, etc).


Modificar uma coluna existente (PK, FK, etc).
Definir um valor default para uma nova coluna (PK, FK, etc).

Depois que criamos as tabelas, podemos precisar alterar a estrutura da tabela


porque alguma coluna foi omitida ou a definio da coluna precisa ser alterada.
Fazemos isto usando a declarao ALTER TABLE.

Exemplo:
Alterando o tipo de dado do campo NUMEROOFICIAL da tabela GBANCO.

TOTVS-2011 Lets Share 175


SQL: ALTER TABLE GBANCO ALTER COLUMN NUMEROOFICIAL VARCHAR(3)
NOT NULL

Podemos adicionar colunas (PK, FK, etc) em uma tabela usando a declarao ALTER
TABLE com a clusula ADD

Exemplo:
Adicionando um campo MOTIVO na tabela FHISTIMPRESSO do tipo VARCHAR de
200 posies.

SQL: ALTER TABLE FHISTIMPRESSO ADD MOTIVO VARCHAR(200)

TOTVS-2011 Lets Share 176


Podemos deletar um campo (PK, FK, etc) de uma tabela usando a declarao ALTER
TABLE com a clusula DROP.

Exemplo:
Deletando a constraint (FK) FKZLOG_GUSUARIO da tabela ZLOG

SQL: ALTER TABLE ZLOG DROP CONSTRAINT FKZLOG_GUSUARIO

DROP

A declarao DROP TABLE remove a definio de uma tabela. Quando dropamos


uma tabela, o banco de dados perde todos os dados da mesma e todos os ndices e
etc associados a ela, no sendo possvel desfazer a operao.

Dropando a tabela de eventos adicionais criada anteriormente.

TOTVS-2011 Lets Share 177


SQL: DROP TABLE PADICRESC

GRANT

O comando GRANT pertence ao grupo de definio de linguagem DCL (Linguagem de


controle de dados) e serve para dar permisso de usurios a objetos no banco.

Exemplo:

Dar permisso ao usurio SYSDBA de selecionar, alterar e gravar dados na tabela de


usurios da aplicao:

TOTVS-2011 Lets Share 178


REVOKE

O comando REVOKE pertence ao grupo de definio de linguagem DCL (Linguagem


de controle de dados) e serve para retirar permisso de usurios a objetos no banco.

Exemplo:

Retirar permisso ao usurio SYSDBA de selecionar, alterar e gravar dados na tabela


de usurios da aplicao:

TOTVS-2011 Lets Share 179


BEGIN TRAN

Comando de linguagem DCL (Controle de dados) que marca o ponto inicial de uma
transao local explcita.

Exemplo:

Ao executar um comando DML voc pode realizar alteraes na base que no


podero ser desfeitas, ao atribuir um ponto de incio da transao voc poder
executar este comando com possibilidade de retornar ao inicio da transao aps a
execuo.

BEGIN TRAN
DELETE FROM GDIC

TOTVS-2011 Lets Share 180


Neste caso voc dever executar o commando BEGIN TRAN para delimitar o ponto
de nicio da transao, podem ser executados uma srie de comandos aps o BEGIN
TRAN que s sero comitados aps a execuo do commando COMMIT.

ROLLBACK

Comando de linguagem DCL (Controle de dados) que reverte uma transao explcita
ou implcita ao comeo da transao ou a um ponto de salvamento dentro da
transao. O ROLLBACK TRANSACTION apaga todas as modificaes de dados
feitas desde o comeo da transao ou at um ponto de salvamento. Ela tambm
libera recursos mantidos pela transao.

Exemplo: Desfazer excluso de todos os registros do Dicionrio de Dados do Corpore


(GDIC).

TOTVS-2011 Lets Share 181


Obs: O comando rollback reverte informaes a partir de um ponto de salvamento ou
inicio da transao, sendo assim o comando no ir funcionar quando executado sem
um ponto delimitado de inicio da transao.
Ocorre o erro:

Msg 3903, Level 16, State 1, Line 1


The ROLLBACK TRANSACTION request has no corresponding BEGIN
TRANSACTION.

Exemplo:

Ao executar um comando DML voc pode realizar alteraes na base que no


podero ser desfeitas, ao atribuir um ponto de incio da transao voc poder executar
este comando com possibilidade de retornar ao inicio da transao aps a execuo.

BEGIN TRAN
DELETE FROM GDIC
ROLLBACK

Aps
a execuo do Rollback pode se verificar que os registros no foram deletados da base.

TOTVS-2011 Lets Share 182


Otimizao de Consultas SQL

O bom desempenho em consultas de bancos de dados vai alm da estratgia de


ndices utilizada nas tabelas pertencentes consulta. Questes como: projeto de
bancos de dados, dimensionamento do hardware e estratgias de otimizao so
itens que afetam diretamente o tempo de resposta das consultas em geral.

Este artigo prope-se a discutir aspectos que transcendem a otimizao de


consultas de bancos de dados. Outras questes como: memria, processador, disco
e subsistema de comunicao tambm podem se tornar fatores de gargalo e afetar o
desempenho no nvel do sistema. Entende-se por gargalo qualquer componente ou
atividade que limita o desempenho do sistema. Veremos alguns desses fatores
abaixo.
Projeto
Quando se projeta um banco de dados deve-se ter a certeza de que todas as
funcionalidades sero fornecidas de maneira correta e com o menor tempo de
resposta possvel. Algumas questes de projeto at podem, mas no devem, ser
resolvidas aps a colocao do banco de dados em produo. Por exemplo,
possvel decidir pela criao de constraint de check em uma determinada coluna de
uma tabela do banco de dados aps o sistema estar no ar. Porm, h questes de
desempenho que so resultantes de um projeto de banco de dados ineficaz ou uma

TOTVS-2011 Lets Share 183


modelagem de dados equivocada que tornam sua utilizao uma tarefa quase
impossvel pelos altos tempos de resposta envolvidos. Nesses casos, a soluo
mais correta a alterao da estrutura e um novo projeto de banco de dados.
Contudo, a soluo de reconstruo do projeto, alm de drstica, extremamente
custosa.

Questes como: as maiores tabelas do banco e os processos mais complexos


da aplicao devem ser identificados to logo seja possvel, bem como
consideraes sobre os efeitos no desempenho causados pelo aumento do nmero
de usurios que acessam o banco de dados.

Exemplos de mudanas de projeto que podem fornecer melhoria de desempenho:

Imagine uma tabela que contenha milhares de registros, das vendas


dirias de uma livraria. Suponha que essas vendas devam ser totalizadas para
serem usadas em um relatrio dirio. possvel adicionar uma ou vrias colunas
nessa tabela que guardem dados previamente agregados para serem usados no
relatrio ou utilizar uma estratgia de processamento e construo prvia do
conjunto de resultados desejado. A idia aqui diminuir a sobrecarga de realizar
a soma desses valores em tempo de execuo. Portanto, colunas calculadas ou
consolidao de dados via trigger seriam boas sadas;
Bancos de dados excessivamente normalizados podem ter o
desempenho de consultas reduzido. Isso se deve, principalmente, ao fato de
existirem muitas pequenas tabelas inter-relacionadas. Esse cenrio prejudica
o desempenho porque o banco ter de processar os dados de todas as
tabelas envolvidas e combin-los para retornar os resultados. Em certas
situaes um grau controlado de desnormalizao benfico aplicao.

Hardware

Geralmente, quanto maior o banco de dados mais recursos de hardware sero


necessrios para suportar as operaes realizadas por seus usurios. Entretanto,

TOTVS-2011 Lets Share 184


vale ressaltar que outros fatores determinantes incluem o nmero de sesses
concorrentes, throughput de transaes (quantidade de transaes que podem ser
realizadas em um mesmo perodo de tempo) e os tipos de operaes que so
utilizadas no banco de dados: select, insert, update e delete.

Por exemplo, um sistema de biblioteca que pouco atualizado ter menos


requisitos de hardware do que um data warehouse corporativo altamente acessado
pelo departamento de vendas. Da mesma forma, discos maiores para o
armazenamento de dados, maior quantidade de memria e processadores mais
rpidos seriam fundamentais ao data warehouse, mas no teria um custo benefcio
interessante para o sistema de biblioteca.

O mecanismo de armazenamento uma questo chave para qualquer banco


de dados relacional e requer bastante ateno no planejamento. Implementaes de
sucesso requerem um planejamento cuidadoso e rigoroso na etapa de projeto. Esse
planejamento deve incluir consideraes sobre as seguintes questes:

Como armazenar os dados ao longo dos discos usando arquivos e grupos


de arquivos;
Que projeto de ndice utilizar para fornecer desempenho de consulta no
acesso aos dados para mais informaes sobre ndices consulte o artigo
Otimizando o desempenho no SQL Server 2005 Parte I, publicado na SQL
Magazine nXX;
Como configurar os parmetros do banco de dados para obter o mximo
de desempenho;
E, caso necessrio, qual o tipo de RAID Redundant Array of Independent
Disks (Array redundante de discos independentes) de hardware ser utilizado.

Vejamos a seguir alguns desses itens.

Arquivos

TOTVS-2011 Lets Share 185


Um banco de dados SQL Server composto de, no mnimo, dois arquivos: um
arquivo de dados e um arquivo de log. Esses arquivos, na verdade, s so
percebidos pelo sistema operacional uma vez que o SQL Server enxerga o banco
como uma unidade indivisvel. As informaes de dados e log nunca so misturadas
no mesmo arquivo. Alm disso, existiro arquivos separados para cada banco de
dados. A Figura 1 ilustra um banco de dados e seus arquivos.

Figura 1. Bancos de dados e seus arquivos

Um ou mais arquivos podem ser agrupados em estruturas conhecidas como


grupos de arquivos. Os grupos de arquivos facilitam tarefas administrativas como
operaes de backup e restore. Se por ventura a configurao de hardware possuir
diversas unidades de disco, possvel alocar os grupos de arquivos em discos
individuais. A Figura 2 ilustra a utilizao de dois grupos de arquivos: o primary e um
segundo grupo de arquivos definido pelo usurio. O grupo de arquivos primary
default (quando uma determinada tabela criada, se nada for dito em contrrio, ela
ser criada dentro do primary) do SQL Server e guarda as tabelas do catlogo
presentes em cada banco de dados. O grupo de arquivos definido pelo usurio
guarda objetos de usurio e no objetos do catlogo do sistema. Portanto,
importante que ao criar um novo banco de dados seja criado, logo em seguida, um
grupo de arquivos, definido pelo usurio, para o armazenamento dos objetos. Na
Figura 2, as tabelas OrdHistYear1 e OrdHistYear1 so armazenadas no grupo de

TOTVS-2011 Lets Share 186


arquivos definido pelo usurio User-defined Filegroup. Os arquivos de log de
transaes no pertencem a grupos de arquivos e so armazenados em estruturas
parte.

Figura 2. Grupos de arquivos

A utilizao de arquivos e grupos de arquivos melhora o desempenho do


banco de dados porque possvel criar o banco espalhando seus arquivos ao longo
de vrios discos, controladoras de disco ou conjuntos RAID. Imagine por exemplo
que sua mquina possui quatro discos. possvel criar um banco de dados
composto de trs arquivos de dados e um arquivo de log e armazenar cada arquivo
em um disco diferente. Quando os dados forem acessados, os quatro cabeotes de
leitura e gravao podem ler ou gravar os dados, de forma paralela.

Alm disso, as tabelas mais freqentemente acessadas podem ser separadas


das demais, sendo armazenadas em grupos de arquivos distintos dos grupos de
arquivos das demais tabelas. Vale ressaltar que tais grupos de arquivos devem estar
em discos fsicos separados para que no seja criada reteno de disco e
conseqentemente perda de desempenho. Outra dica importante colocar tabelas
diferentes, usadas em joins em vrias consultas, em grupos de arquivos diferentes.
Essa ao melhora o desempenho em funo do I/O paralelo para pesquisa dos
dados usados no join.

TOTVS-2011 Lets Share 187


PARMETROS DE CONFIGURAO DO SERVIDOR

O SQL Server 2005 ajusta automaticamente muitas das opes de


configurao do servidor. Entretanto, h configuraes que podem ser alteradas
pelo administrador. A Microsoft recomenda que tais alteraes sejam feitas de forma
bastante cautelosa para no incorrer em efeitos contrrios melhoria de
desempenho.

OTIMIZANDO O DESEMPENHO DO SERVIDOR USANDO OPES DE CONFIGURAO DE


MEMRIA

O gerenciador de memria do SQL Server 2005 elimina a necessidade de


gerenciamento manual da memria disponvel no SQL Server. Quando o servio do
SQL Server inicia, ele determina dinamicamente a quantidade de memria a ser
alocada baseada no total de memria que estiver sendo usada pelo sistema
operacional e por outras aplicaes.

As opes de configurao min server memory, max server memory, max


worker threads, index create memory, min memory per query podem ser usadas
para configurar a utilizao de memria e ajustar o desempenho do servidor. Todas
essas opes de configurao so em nvel de servidor e so configuradas atravs
da stored procedure sp_configure. A seguir uma rpida descrio sobre cada uma
delas.

max server memory: estabelece o limite superior de memria a ser usado


por uma instalao SQL Server;
min server memory: estabelece o limite inferior de memria a ser usado
por uma instalao SQL Server;
max worker threads: permite a configurao do nmero de threads de
trabalho disponveis para o SQL Server;
index create memory: permite controlar o total de memria usado em

TOTVS-2011 Lets Share 188


operaes de criao de ndices;
min memory per query: essa opo permite especificar a quantidade
mnima de memria em (em kilobytes) que ser alocada para execuo de
uma query.

OTIMIZANDO O DESEMPENHO DO SERVIDOR USANDO OPES DE CONFIGURAO DE


E/S

A opo de configurao de servidor recovery interval pode ser gerenciada


para configurar o uso de Entrada e Sada (E/S) e prover melhoria de desempenho
do servidor. Essa opo controla quando o SQL Server 2005 realiza checkpoint
(perodos de tempo em que as transaes concludas que esto no log de
transaes so gravadas definitivamente no disco) em cada banco de dados. Por
padro o SQL Server determina o melhor momento para fornecer operaes de
checkpoint.

Entretanto, utilizando o Performance Monitor, possvel monitorar se essa


opo est configurada a contento atravs da verificao de atividade de escrita nos
discos do servidor no banco de dados. A configurao desta opo pode ser
realizada atravs da stored procedure de sistema sp_configure.

Picos de atividade de utilizao de disco que alcanam 100% afetam o


desempenho, obviamente, de forma negativa. Alterar a freqncia de ocorrncia do
processo de checkpoint pode melhorar o desempenho geral. Vale ressaltar que o
desempenho deve ser constantemente medido para determinar se o novo valor teve
um efeito positivo no desempenho.

RAID

Solues de armazenamento, baseadas em hardware, que objetivem


disponibilidade e tolerncia a falhas so tipicamente implementadas usando RAID -
Redundant Array Of Independent Disks (Array redundante de discos independentes)
nveis 0, 1, 0 + 1 e 5. O RAID utiliza controladoras de disco e arrays de discos para

TOTVS-2011 Lets Share 189


minimizar a perda de dados, em caso de falha da mdia, alm de fornecer melhoria
de desempenho nas operaes de leitura e escrita.

As diferenas nos nveis de RAID basicamente esto na forma de


implementao da tolerncia a falhas e melhoria no desempenho do acesso aos
dados. Por exemplo:

RAID nvel 0 - Tambm chamado de Stripping (faixas de disco). Divide


os arquivos em fatias e escreve cada uma delas em um disco do array.
Esse nvel de RAID no fornece tolerncia a falhas, apenas permite um
aumento de desempenho na medida em que as operaes de leitura e
escrita sero realizadas em paralelo. Desvantagem: se um dos discos do
conjunto for danificado, as informaes armazenadas em todo o conjunto
so perdidas. Observe na Figura 3 que os arquivos so escritos ao longo
do conjunto que, nesse exemplo, composto por quatro discos.

Figura 3. O RAID 0 fatia o arquivo e armazena cada parte em um disco diferente

RAID nvel 1 Tambm chamado de Espelhamento. As informaes


escritas em um disco so ao mesmo tempo escritas em outro disco. O
RAID 1 suporta tolerncia a falhas, mas no possui um desempenho to
bom quanto no RAID 0 j que o arquivo gravado como um bloco nico
no disco. A grande desvantagem o custo. Para cada disco ser
necessrio outro para que o espelhamento seja realizado. Na ocorrncia
de falhas, o desempenho do sistema no afetado, mas necessria a

TOTVS-2011 Lets Share 190


substituio do disco defeituoso o quanto antes sob pena da perda do
dado caso um evento subseqente de falha acontea. Aps a substituio
do disco defeituoso, o desempenho degradado em funo da
reconstruo dos dados no novo disco. Aps o trmino desse processo, o
desempenho volta ao normal. A Figura 4 ilustra a utilizao do RAID 1 ao
longo dos discos 1 e 2. Observe que cada arquivo gravado nos dois
discos. Assim, o arquivo A existe tanto no disco 1 quanto no disco 2.

Figura 4. RAID 1, realiza um espelhamento, dos dados gravados no disco 1, no


disco 2

RAID nvel 5 - Faixas de disco com paridade. Nesse nvel de RAID as


informaes so distribudas em faixas e gravadas nos discos juntamente
com uma informao de paridade que usada para reconstruir os dados
em caso de perda de um dos discos. A informao sobre a paridade
armazenada em cada um dos discos de forma alternada, ou seja, a cada
momento gravada em um disco diferente. O RAID nvel 5 traz o melhor
custo benefcio, uma vez que combina tolerncia a falhas com
desempenho satisfatrio nos acessos para operaes de leitura e escrita.
Entretanto, na ocorrncia de falhas o desempenho ficar ligeiramente
degradado uma vez que o RAID realizar o clculo de paridade para
reconstruir o dado presente no disco que foi danificado. o nvel de RAID
mais utilizado no mercado. A Figura 5 mostra a estrutura do RAID nvel 5
com cinco discos.

TOTVS-2011 Lets Share 191


Figura 5. RAID 5, armazena a informao de paridade, de forma alternada, em cada
um discos do conjunto

RAID 0 + 1 - o nvel de RAID que traz o melhor desempenho e


suporte tolerncia a falhas. Combina o RAID 0 (Stripping) com RAID 1
(espelhamento). Sua desvantagem est no altssimo custo de
operacionalizao.

UTILIZANDO GRUPOS DE ARQUIVOS COM RAID

possvel combinar grupos de arquivos com solues de RAID para melhorar


o desempenho no acesso e a segurana dos dados. Inicialmente necessrio
configurar a distribuio do RAID e, depois, usar os grupos de arquivos para
distribuir os dados em vrios discos.

A Figura 6 mostra, alm da controladora do sistema operacional e da


controladora do log de transaes, duas controladoras que apontam para dois
conjuntos de RAID. Quatro arquivos esto associados a cada RAID. Um grupo de
arquivos composto de oito arquivos, nomeados de A a H, e est distribudo ao
longo dos RAIDs. Essa estratgia interessante porque distribui os dados de
maneira uniforme em todos os discos e ao mesmo tempo mantm a facilidade de
administrao. Portanto, a unio dos conceitos de RAID e grupos de arquivos
trazem alm de melhoria de desempenho, melhoria da administrao do banco de

TOTVS-2011 Lets Share 192


dados em nvel geral. Por exemplo, as operaes de backup e restore se beneficiam
dessa arquitetura e tornam-se muito mais rpidas do que em arquiteturas que no
utilizam tais recursos.

Figura 6. RAID 5, armazena a informao de paridade, de forma alternada, em cada


um discos do conjunto

Portanto, usar tal configurao fornece acesso paralelo aos dados, alm de
distribuir a carga entre vrios discos para reduzir a perda de desempenho durante
operaes de leitura e escrita (reteno de disco).

PLANOS DE EXECUO:

Plano de Execuo - O que analisar ?

Voc costuma analisar a performance de suas queries antes de coloc-la em


produo? Infelizmente, em meu dia-a-dia de trabalho tenho percebido que a
resposta para esta pergunta NO. Muitos problemas de performance acontecem
porque o desenvolvedor simplesmente no tem o hbito de analisar a performace
das queries e como consequncia temos queries utilizando ndices de forma
incorreta, queries que no utilizam os ndices existentes na tabela e por incrvel que
parea, at grandes tabelas sem ndice algum.

TOTVS-2011 Lets Share 193


Por outro lado, muitos desenvolvedores e DBA's utilizam ferramentas do Query
Analyzer como o ShowPlan grfico, SHOWPLAN_ALL ou SHOWPLAN_TEXT, mas a prxima
pergunta : O que devemos procurar quando examinamos o resultado do plano de
execuo de uma query?

A seguir sero descritos pontos importantes nos quais voc deve estar atento na
hora de analisar o plano de execuo de uma query. Para isto, estarei utilizando o
Showplan grfico do Query Analyzer. Sendo assim, para aqueles que no conhecem
o SHOWPLAN, recomendo a leitura dos tpicos "SET SHOWPLAN_ALL", "SET
SHOWPLAN_TEXT" e "Graphically Displaying the Execution Plan Using SQL Query
Analyzer" no Books Online.

Em resumo, para ver o plano de execuo de uma consulta no Query Analyzer,


basta escrever a query e teclar Ctrl+L ou clicar no boto Display Estimated
Execution Plan na barra de ferramentas do Query Analyzer.

importante observar que, uma vez que os problemas de performance podem


ter vrias razes e consequentemente vrias solues, os pontos destacados aqui
so pontos bsicos que voc deve analisar e na medida do possvel evitar que
aconteam.

Primeiro Ponto: Operaes com alto percentual de consumo

Em uma query simples, inicie procurando por operaes que geram um alto
percentual de consumo. Procurar por operaes de alto consumo permitir que voc
priorize qual problema dever ser atacado primeiro.

Se voc esta analisando uma query com multiplos statements, ser gerado um

TOTVS-2011 Lets Share 194


plano de execuo separado para cada statement. Para cada plano de execuo
ser mostrado a ordem de execuo da query, por exemplo: Query 1, Query 2 e
seu respectivo custo. Neste caso, procure pelas queries com maior custo.

Lembre-se : O plano de execuo sempre deve ser lido da direita para a


esquerda e de cima para baixo !!

Segundo ponto: Table Scan, Index Scans e Clustered Index Scans

Table Scans, Index Scans e Clustered Index Scans so operaes que navegam
por todas as linhas da tabela ou do ndice e retornam as linhas que satisfazem a
clusula WHERE (assumindo que voc use uma clusula WHERE).

Um Table Scan obtm linhas de uma tabela no indexada, conhecida tambm


como heap table. Um Index Scan procura por linhas no ndice no cluster, enquanto
que um clustered index scan procura por linhas no ndice cluster de uma tabela.

importante destacar que os Scans nem sempre so ruins, principalmente


quando em tabelas com um pequeno nmero de registros ou consultas que devem

TOTVS-2011 Lets Share 195


retornar todos os registros de uma tabela. Scans podem ser ruins se sua consulta
roda por um perodo muito longo vindo a prejudicar inclusive outras conexes,
causando o que chamamos de blocks.

Os Scans so em sua maioria resolvidos atravs da criao de ndices


apropriados. Algumas solues incluem alterar suas consultas de forma a ser mais
seletiva, ou seja, usar a clusula WHERE para filtrar ao mximo possvel os
registros retornados, adicionar/remover e modificar ndices, remover hints, alterar o
desing da tabela e usar a ferramenta Index Tuning Wizard para lhe auxiliar na
criao de possveis ndices.

Terceiro ponto: Warnings

Warings ou alertas normalmente so vistos quando no existem estatsticas para


colunas de uma tabela e essas colunas so utilizadas como filtros de pesquisa nas
queries. Eles podem ser solucionados atravs da criao de estatsticas para a
coluna afetada (CREATE STATISTICS) ou ainda, criao de ndices e adio de
clusulas JOIN.

Quarto ponto: Seta muito grossa

TOTVS-2011 Lets Share 196


As setas no so operadores, elas simplesmente so usadas para ligar um operador
a outro. Atravs das setas podemos ter uma estimativa da quantidade de linhas
afetadas por uma query, isto porque, quanto maior a espessura da seta, maior a
quantidade de linhas envolvidas na operao. Ou se preferir, a quantidade de linhas
passada de um operador para outro.

Para que voc possa ver a estimativa de quantidade e tamanho das linhas
afetadas, basta posicionar o cursor sobre a seta.

Neste cenrio, sempre d uma ateno especial s setas mais grossas, pois uma
linha muito grossa pode indicar uma alta operao de I/O.

Para solucionar este tipo de problema voc deve tentar fazer com que as setas
fiquem o mais fina possvel e aqui novamente entra a clusula WHERE. Por outro
lado, evite obter mais linhas que o necessrio.

Quinto Ponto: Bookmark Lookups

O operador Bookmark Lookup ocorre em conjunto com um nonclustered index


seek quando a consulta deve obter colunas que no esto disponveis dentro do
nonclustered index. Neste cenrio, procure por Bookmark Lookup que possua um
alto percentual de consumo.

Se o custo da operao de Bookmark Lookup for muito alto, verifique se um


ndice cluster ou um ndice no cluster composto pelas devidas colunas (covering
index) pode ser utilizado.

Sexto Ponto: Sorting

Um operador SORT ordena todas as linhas de entrada em uma ordem

TOTVS-2011 Lets Share 197


ascendente ou descendente. Isto depende da clusula ORDER BY de sua consulta.

Operadores Sort normalmente acrescentam uma grande taxa de I/O s


operaes, primariamente utilizando o TEMPDB para suas operao.

Se voc costuma ver o operador SORT com muita frequncia em suas consultas
e este operador possui um alto consumo de operao, considere por remover a
clusula ORDER BY. Por outro lado, se voc sabe que sempre ordenar sua
consulta por uma coluna em especfico, considere index-la. Lembre-se que no
comando CREATE INDEX voc pode fixar a direo de ordenao (ASC ou DESC)
para um ndice em particular.

Nota: O Profiler uma excelente ferramena para ajudar na identificao de


queries muito pesadas ou que possuem um alto tempo de execuo.

Boas Prticas e Tunning

Oracle

Fatores a serem observados

1- Modelagem do Banco de Dados (Se no for muito tarde)


2- Tuning de Aplicao (cdigos SQL mal elaborados)
3- Tuning de Memria (definir os parmetros de memria corretamente)
4- Tuning de I/O Fsico ( evitar que os arquivos do BD fiquem em locais com excesso de I/O
fsico
5- Elimine Conteno de Dados (lock,latches e wait)
6- Tuning de Sistema Operacional

TOTVS-2011 Lets Share 198


Um pouco mais sobre Tuning de Aplicao

A otimizao consiste em trazer a informao para o usurio com o menor custo


e tempo possveis. encontrar um caminho mais eficiente de processar a mesma
requisio.

Quando voc est escrevendo um novo comando SQL, ou otimizando um


comando existente na aplicao, o tuning de aplicao pode melhorar o tempo de
resposta da CPU, reduzir I/O e os recursos gastos com memria.

A metodologia de tuning de SQL envolve identificar as querys que consomem


mais recursos, e ento otimiz-las. Em geral, um nmero pequeno de querys so
responsveis pela maior parte das atividades que ocorrem no Banco de Dados.
Alm disso, tente entender completamente a aplicao, focando sua ateno nos
SQL ou tabelas onde os benefcios do tuning excedero os custos. Para isso,
importante observar alguns passos:

Somente otimize o SQL depois que tiver certeza que o cdigo est correto;

Garanta que os comandos sejam escritos absolutamente iguais para facilitar a


reutilizao no banco de dados. O re-parsing no banco de dados pode ser
evitado para cada uso subseqente.

Ex:
SELECT * FROM EMP;

diferente de:
Select * From Emp;
SELECT * from EMP;

Procure trazer do banco de dados somente as informaes necessrias. Se


voc no precisa da informao contida em uma coluna especfica, no
preciso traz-la.
Mantenha sempre atualizado as estatsticas das tabelas;
Identifique problemas potenciais antes de mand-los para produo. Isso

TOTVS-2011 Lets Share 199


pode ser feito utilizando o Explain Plan, tentando diminuir ao mximo o
custo do SQL;
Procure otimizar primeiro os SQL mais crticos; No gaste tempo otimizando
cdigos que nunca ou raramente sero usados;
Use ndices, mas no os crie em demasia. Muitos ndices podem resultar em
um efeito adverso na performance. Lembre-se de escolher o tipo de ndice
mais adequado a cada situao. O critrio bsico para escolha de ndices a
seletividade. Quando o banco de dados resolve uma consulta,
freqentemente, ele precisa percorrer mais registros do que aqueles
realmente retomados pela consulta. Os registros percorridos que forem
rejeitados representam o trabalho perdido. Quanto menor for o trabalho
perdido, mais perto estaremos da performance tima para resolver a consulta.
Portanto, o melhor ndice para uma consulta aquele que apresenta a maior
seletividade.
Construa os ndices a partir das restries dos selects (clusula WHERE);
Lembre-se que as comparaes usando <>, NOT, NULL, LIKE podem
invalidar o ndice.
Evite full table scans se o resultado pode ser recuperado via ndice, a menos
que a tabela seja pequena e o custo diminua. Quando a tabela pequena, o
trabalho envolvido em acessar o ndice, pegar o endereo e acessar a tabela
maior que o esforo de ler a tabela inteira.
Divida as queries complexas em queries menores. Evite lgicas complexas de
negcio no SQL. A lgica deve ficar no cdigo fonte. Lembre-se que: SQL
no uma linguagem procedural.
Use os comandos que produzem sort (Group By, Order By, Distinct, etc.)
somente quando necessrio. No sort, o banco recupera todas as informaes
necessrias primeiro e depois as ordena.
Os comandos EXIST e NOT EXIST possuem menor custo do que os
comandos IN e NOT IN na maior parte dos casos. Quando a maioria dos
filtros estiver na sub-query o comando IN se torna mais eficiente.
Toda vez que houver funo na coluna, o ndice no ser usado. Isto inclui as
funes do Oracle.

TOTVS-2011 Lets Share 200


Use:
WHERE cargo = rtrim(1);

Ao invs de:
WHERE rtrim(cargo) = 1;

Evite comparar dados incompatveis. O Oracle converte automaticamente os


campos char e number.

Ex: Levando em considerao que o campo matricula numrico e codigo


literal, temos:

WHERE matricula = 1234


WHERE codigo = 1234

Note que o tipo de dados est incompatvel, porm esse tipo de comparao no
d erro. Implicitamente o Oracle faz:

WHERE matricula = to_number(1234)


WHERE codigo = to_char(1234)

Procure usar EXISTS ao invs de DISTINCT.

Use:
SELECT M.CODIGO, M.NOME
FROM PFUNCAO M
WHERE EXISTS (SELECT X
FROM PFUNC F
WHERE F.CODPESSOA = M.CODIGO);

Ao invs de:
SELECT DISTINCT dept_no, dept_name
FROM dept d, emp e
WHERE d.dept_no = e.dept_no;

TOTVS-2011 Lets Share 201


CONFIGURAO DE BANCO DE DADOS EXTERNO - MSSQL

INTRODUO

Objetivo: orientar o usurio a efetuar a configurao de um banco de dados


externo de uma base de dados SQL atravs do Cadastro de Consultas SQL.

Desenvolvimento/Procedimento

1. Incluir uma nova sentena SQL.


Acesse: Utilitrios / Consultas SQL
Clique em Incluir (CTRL + INS).

TOTVS-2011 Lets Share 202


Clique em Banco de Dados Externo.

Ao acessar o Cadastro de Conexes a Banco de Dados Externo, clique em


Incluir (CTRL + INS). Preencha os principais campos e clique em String de Conexo.

Selecionar o Data Source e Data Provider conforme seu ambiente. Neste caso
estamos configurando uma conexo SQL.

TOTVS-2011 Lets Share 203


Clique em OK e determine o Servidor (Server Name), Usurio (User Name),
Senha (Password) e a Base de Dados (Select or Enter a Database Name).

Teste a Conexo (Test Connection). Clique em OK.

TOTVS-2011 Lets Share 204


No Cadastro de Conexes a Banco de Dados selecione a conexo que foi
configurada anteriormente.

Digite a Consulta SQL utilizando recursos do banco de dados externo.

TOTVS-2011 Lets Share 205


ERROS COMUNS OCORRIDOS NO BDE ADMINISTRATOR.

Erro 01

Este erro significa que o BDE no conseguiu carregar o arquivo NTWDBLIB.DLL*


que se encontra no diretrio de sistema \Windows\System32. Normalmente ocorre,
pois o cliente do Banco de Dados no esta instalado.
Dica: Dever ser instalado o Client do banco de Dados. No ajuda do Instalador
item: (Instalao SGDB  SQL Server <verso>  Instalao do SQL <verso> -
Client) h todos os passos para instalao do cliente do banco de dados
*NTWDBLIB.DLL: Cliente 32 bits do SQL Server (DB-Library), responsvel pela
comunicao entre o cliente (Estao) e o servidor de Banco de Dados.

Erro 02

TOTVS-2011 Lets Share 206


Este erro ocorre quando a senha do Login RM foi digitada incorretamente ou o
Login RM no existe no SQL Server.
Obs.: Este erro pode ocorrer para os usurios RM e SYSDBA
Dica: Para listar os logins existentes poder ser executada atravs do Query
Analizer a sentena abaixo no banco de dados MASTER:

SELECT NAME FROM SYSLOGINS ORDER BY NAME

Outra opo Acessar Enterprise Manager  Microsoft SQL Servers  SQL


Server Group  < Servidor > Security  Logins
Para criar os Logins dever ser executado o script abaixo:
IF NOT EXISTS(SELECT * FROM MASTER.DBO.SYSLOGINS WHERE NAME =
'RM')
EXEC SP_ADDLOGIN RM,RM
GO
sp_addalias RM,dbo
GO
IF NOT EXISTS(SELECT * FROM MASTER.DBO.SYSLOGINS WHERE NAME =
'SYSDBA')
EXEC SP_ADDLOGIN SYSDBA,masterkey
GO
sp_adduser SYSDBA,SYSDBA

TOTVS-2011 Lets Share 207


Erro 03

Este erro significa que o usurio rm no um usurio vlido no banco de dados


em questo.
Obs.: Este erro pode ocorrer para os usurios RM e SYSDBA
Dica: Para listar os usurios de banco existentes para a base de dados poder
ser executada atravs do Query Analizer a sentena abaixo no banco de dados em
questo:

SELECT NAME FROM SYSUSERS WHERE UPPER(NAME) IN ('\RM', 'RM',


'\SYSDBA', 'SYSDBA')
Para criar os usurios no banco de dados dever ser executado o script de
usurios de acordo com a verso do SQL Server:
Erro 04

TOTVS-2011 Lets Share 208


Este erro significa que a autenticao do Servidor SQL Server esta configurada
para aceitar apenas autenticao do Windows.
Para alterar a autenticao do SQL Server dever: Acessar ( Enterprise
Manager  Microsoft SQL Servers  SQL Server Group  < Servidor >  Boto
direito Propriedades  Guia "orelha" Security -> item Authentication marcar a opo
SQL Server and Windows. Aps este procedimento parar o servio do SQL Server e
iniciar novamente.

Erro 05

Este erro significa que o banco de dados foi restaurado com o nome de uma
palavra reservada do SQL Server. No exemplo acima o banco de dados foi
restaurado com o nome ALTER. Este um comando do SQL Server, ou seja, uma
palavra reservada.
Dica: possvel alterar o nome do Banco de Dados atravs do Query Analizer
utilizando o comando SP_RENAMEDB.
Sintaxe:

sp_renamedb 'Nome Antigo' , 'Nome Novo'

Exemplo: sp_renamedb 'Corpore' , 'CorporeNovo'

TOTVS-2011 Lets Share 209


Erro 06

Este erro significa que no foi possvel localizar uma entrada na tabela
Sysdatabases*
do servidor, ou seja, no foi possvel encontrar no servidor o banco de dados, o
nome do banco informado na propriedade DATABASE NAME do Alias CorporeRM
do BDE.
Dica: Dever ser verificado a propriedade DATABASE NAME se o nome do
banco de dados esta correto, esta poder ser comparada a outra estao de
trabalho em que o sistema esta funcionando normalmente.
Sysdatabases: Tabela responsvel por armazenar informaes sobre as bases
de dados
(Banco de Dados) disponveis no servidor.

Erro 07

TOTVS-2011 Lets Share 210


Este erro ocorre em Alias do tipo Oracle.
Devero ser alteradas as propriedades DLL32 e VENDOR INIT do BDE para
SQLORA8.DLL e OCI.DLL respectivamente em (DBE  Orelha Configurarion 
Configuration  Drivers Native Oracle)
Erro 08

Este erro ocorre em alias do tipo Oracle, quando o BDE no consegue carregar a
DLL SQLORA8.DLL
Dica: Dever ser verificada a existncia desta DLL na mquina. Outra causa
quando o client do Oracle no esta Instalado na estao. No ajuda do Instalador
item : (Instalao SGDB  Oracle <verso>  Instalao do Oracle <verso> -
Client) h todos os passos para instalao do cliente do banco de dados Oracle.

Erro 09

Este erro ocorre em alias do tipo Oracle.


Este erro significa que a estao de trabalho no esta conseguindo conectar ao
servidor de banco de dados. Normalmente ocorre quando a Instncia Oracle esta
parada ou algum outro problema que no permite a comunicao entre a estao de
trabalho e o servidor de banco de dados.

TOTVS-2011 Lets Share 211


Erro 10

Este erro significa que o BDE no conseguiu localizar ou conectar ao Servidor de


banco e dados SQL Server. Normalmente ocorre quando no informado
corretamente na propriedade SERVER NAME do Alias CorporeRM do BDE o nome
do servidor corretamente.
Dica: A propriedade SERVER NAME poder ser comparada a outra estao de
trabalho em que o sistema esta funcionando normalmente.

OUTROS ERROS COMUNS:

Aps instalar o BDE, ao tentar acessar ocorre o erro:


Exception EBDEngine Error in modulo BDEADMIN.EXE at 00054F92 could
not find objetc
An error occurred while attempting to initialize the Borland Database Engine
(error $2109). Dever ser realizado o procedimento abaixo :
- Remover o BDE pelo painel de controle (Adicionar e Remover Programas)
- Remover a Pasta de instalao do BDE (Arquivos de Programas\common
files\Borland Shared\ BDE
- Renomear a pasta IDAPI para outro nome (Caso exista esta pasta)
- Reiniciar a mquina
- Instalar o BDE novamente
- Voltar o nome da pasta para IDAPI. (Caso exista esta pasta)
Obs.: Normalmente ocorrem estes dois erros citados acima quando h
instalado na estao programas da Receita, Caixa Econmica etc.

TOTVS-2011 Lets Share 212

Você também pode gostar