Obrigada por compartilhar as informações.
Somente um detalhe que não passei foi que o Select terá “Where”
da hora corrente.
Obrigada.
Rejane.
De: [email protected] [mailto:[email protected]]
Enviada em: terça-feira, 22 de julho de 2014 16:16
Para: [email protected]
Assunto: [oracle_br] Re: Custo do Banco Oracle via DBLink.
Colega, COM ABSOLUTA CERTEZA não dá pra se afirmar nada só com as infos que vc
deu , mas certamente se o SQL em questão é realmente um SELECT * FROM TABLE (SE
nenhum WHERE , nem nada) vc só tem um único plano de execução possível, que é
um FULL TABLE SCAN, então pontos como possíveis falhas do otimizador em acessar
índices remotos e/o avaliar custo de hash tables e performance da rede (que via
de regra se resolvem com o HINT de DRIVING_SITE) não entram em questão, então
Entendo que a questão aqui é rede E consumo de recursos no database...
Sobre rede, em princípio o consumo de rede (SE a rede em questão é a mesma
para todos) em tese é o mesmo se vc tiver n servidores abrindo conexões num
target OU um servidor abrindo n conexões para n targets... Provavelmente a
opção de um servidor abrindo n conexões vai implicar num nadinha a mais de
consumo de CPU devido às várias tasks que esse servidor vai abrir no SO, mas
deve ser pouca coisa - teste & verifique...
Sobre consumo de recursos, aí vc pode ter alguma diferença : se vc tiver n
inserções simultãneas no mesmo database (e vc não diz, mas DEVE ser pelo jeito
na mesma tabela),OBVIAMENTE como sabemos todo e qualquer DML é consistente no
RDBMS Oracle, então para INSERTs simultãneos os latches necessários e/ou a
lista de transações interessadas em usar o bloco de dados (supondo registros
que caiam no mesmo bloco) ao mesmo tempo PODEM significar interferência : vc
DEVE testar as muitas opções para ajuste de transações simultãneas acessando um
único db (ie, setando ASSM x ajuste manual de parãmetro INITRANS).... A
vantagem que eu vejo de se fazer o caminho contrário (ie, o database central
acessa um por vez cada um dos targets) é que (imagino) cada acesso é sequencial
em relação aos outros, então não deve haver Concorrência, sendo cada DMl
executado sequencialmente, um por vez...
Testa aí se as diferenças de consumo de CPU centralizado numa só máquina E n
inserts simultãneos (ou quase simultâneos) no seu ambiente dão diferença
significativa ou não - afaik é IMPOSSÍVEl se fazer uma Afirmação de um modo
genérico sobre isso....
´[]s
Chiappa
OBS : nem preciso dizer, mas se esse INSERT é numa só tabela do tipo
histórico/fato (ao que parece È SIM o caso) , não esqueça de avaliar a
Possibilidade de INSERT em modo APPEND, claro que ALINHANDO com seu DBA a
frequ~encia de backups.... Isso via de regra diminui em muito a geração de log,
o que pode ser Crítico em caso de INSERTs repetidos...
-----------------------------------------------
Mensagem verificada pelo AntiSpam Alto Alegre.