...
- Recapitulação sobre os tipos de arquivos do SQL Anywhere e sua estrutura.
- Novos recursos do Sybase 12.
- Migração Sybase 7 para Sybase 12.
- Aumentando a velocidade (profiling, logs, tuning geral, cache).disponibilidade. Mirror, Arbitro.
- Monitoramento do banco.
- O Banco está lento. O que fazer?
- Usuário está travado. O que fazer?
- Monitoramento do banco.
- Aumentando a disponibilidade. Mirror, Arbitro.
- Teste com diversas estruturas: 32 x 64bits, Windows x Linux, local arquivos.
- Futuro: banco de dados read-only, arquivo morto, novo servidor aplicação.
...
Migrando o banco para o Sybase 12.
Aumentando a
...
Aumentando a disponibilidade.
A disponibilidade do banco deve ser calculada de forma que se tenha o melhor custo/benefício para o cliente. O primeiro passo é definir quanto tempo o cliente aguentaria sem o Sistema no ar. Isso pode variar de nem um minuto, alguns minutos, algumas horas ou muitas horas. É lógico que, em sã consciência, todo cliente iria preferir a primeira opção. Porém, o custo de se ter um servidor auxiliar, licença de uso de um outro Sybase, uma estrutura de rede redundante, todos os micros com no-break, Internet redundante enfim, ter todos os pontos que podem falhar duplicados pode não compensar comparando este cenário com um muito mais barato onde teríamos um servidor auxiliar destino dos backups e um funcionário para acioná-lo caso o servidor principal falhe.
Enfim, é questão de avaliação porém é necessário sempre simular o tempo de parada nos mais variados cenários para se chegar a uma decisão conjunta.
Por isso, iremos listar os mecanismos disponíveis de proteção e cada um poderá optar pelo cenário com melhor custo/benefício para a sua empresa.
Você deve avaliar o procedimento de backup particularmente em função de cinco variáveis:
...
- Sem FoxHound.
Bloco de código SELECT NUMBER(*) AS #, Name, usu.usuario, UserId, Number, BlockedOn FROM sa_conn_info() as con INNER JOIN usuarioConexaoBanco usu ON ( con.Number = usu.IdConexao ) WHERE con.BlockedOn <> 0 OR EXISTS( SELECT * FROM sa_conn_info() as con2 WHERE con2.BlockedOn = con.BlockedOn ) ORDER BY BlockedOn, Name, UserId, number;
- Com FoxHound
O mais importante a saber sobre travamento é que eles irão ocorrer (pois existem recursos compartilhados que serão atualizados simultaneamente) e serão ou de baixa frequência com uma duração de até 10 segundos ou com uma frequencia que o usuário não irá notar (serão frequentes porém de curta duração).
Referências
- *http://sqlanywhere.blogspot.com*. Blog de um engenheiro da iAnywhere.
- *http://sqlanywhere-forum.sybase.com.* Forum sobre o SQLAnywhere.
- *http://books.google.com.br/books/about/SQL_Anywhere_Studio_9_Developer_s_Guide.html?id=Vf_EgfsFw-8C&redir_esc=y*. Livro SQLAnywhere Studio 9. Breck Carter. Livro sobre o SQL Anywhere (escrito baseado na versão 9 porém com muitos exemplos de tudo o que foi tratado aqui). Conteúdo disponível para consulta neste local.