quinta-feira, 14 de junho de 2018

Os três principais Shells do Unix

Vou tirar um tempinho hoje para escrever um pouco sobre os 3 principais shells na maioria dos Sistemas Unix, hoje há algumas controversas pelo crescimento do Linux que utiliza o Bash Shell, porem o Bash não deixa de ser uma evolução do Bourne Shell que é um dos principais no qual vou comentar, mas vamos lá. Esses três Shell são:

  • Bourne Shell (AT&T shell)
  • C Shell (Berkeley shell)
  • Korn Shell ( Um superconjunto do Bourne Shell
Esses shells se comportam praticamente da mesma maneira quando executados de forma interativa, mas possuem algumas diferenças de sintaxe e eficiência quando usados como linguagens de scripts.

O Bourne Shell é o shell padrão na maioria dos Unix's,  muito utilizado para administrar o sistema. A maioria dos scripts de administração de sistema, como os scripts rc start / stop e shutdown são escritos em Bourne Shell, é o shell padrão também utilizado pelo root quando o sistema esta no estado de single mode. Esse Shell foi escrito pela AT&T e é conhecido por ser um shell consistente, compacto e rapido. O símbolo do prompt default do Bourne Shell é um sinal de dólar ($).

O C Shell foi desenvolvido em Berkeley e adicionou vários recursos, como o history de linha de comando, aliases, aritmética integrada, nome de arquivo completo, e controles de jobs. O C Shell tem algumas vantagens sobre o Bourne Shell na interactividade, mas os administradores preferem o Bourne Shell para scripts, porque os shells scripts do Bourne são mais simples e mais rápidos do que os mesmos scripts escritos no C Shell. O símbolo do prompt default do C Shell é um sinal de percentagem (%).

O Korn Shell é um superconjunto do Bourne Shell, escrito por David Korn na AT&T. Vários recursos foram adicionados a esse shell muito alem do C Shell. Os recursos do Korn Shell incluem um history evitável, aliases, funções, wildcards (curingas) de expressões regulares, aritmética incorporada, controle de Jobs, coprocessamento e recursos de debug. O Bourne Shell é quase totalmente compatível com o Korn Shell, portanto, programas do Bourne Shell rodarão normalmente nesse Shell. O símbolo do prompt default do Korn Shell é um sinal de dollar também ($).

No proximo post, vou descrever um pouco da historia do Shell.

quarta-feira, 13 de junho de 2018

Backup e Restore utilizando o I/O padrão (STDIO) - Informix

O Ontape permite utilizar o STDIO para operações físicas de backup e restore. Durante o backup, o ontape pode gravar dados no STDOUT. Durante o restore, o ontape pode ler o STDIN. O ontape utiliza pipes como um mecanismo de buffer de memória fornecido pelo sistema operacional para executar backup e restore utilizando o STDIO. As vantagens de utilizar o STDIO com o ontape são:
  • Nenhuma operação de leitura ou gravação para mídia de armazenamento é necessária (se você decidir direcionar diretamente os dados de  backup para uma operação de restauração).
  • Você pode usar os utilitários do sistema operacional para compactar os dados de backup antes do armazenamento.
  • Você pode enviar os dados de backup por meio de qualquer utilitário.
  • Você pode criar um servidor de banco de dados, restaurando imediatamente os dados em outro servidor, como configurar um servidor secundário (HDR) ou (RSS).
Configure o valor do parametro TAPEDEV como STDIO.

Os parâmetros de configuração TAPEBLK e TAPESIZE não são utilizados para fazer backup usando o STDIO. No entanto, o valor de TAPEBLK ainda é usado para a transferencia de dados entre o servidor de banco de dados e o processo ontape. O parametro TAPESIZE não é usado, porque a capacidade de STDIO é assumida como ilimitada.

O backup utilizando o STDIO é gravado diretamente no STDOUT. Portanto, o fluxo de dados precisa redirecionar para um arquivo. Caso contrario, o fluxo de dados sera enviado para a tela. Ao redirecionar o STDOUT para um arquivo, certifique-se que há espaço suficiente disponível no file system. Mensagens de erros e informações são gravadas no STDERR.

ontape -s -L 0 > /informix/backup/archive_L0


Executa o backup de nivel 0 utilizando o STDIO. O stdout do comando ontape é redirecionado para um arquivo chamado archive_L0 no diretório /informix/backup. O comando é o mesmo que o backup físico padrão ontape, exceto neste cenário, o sistema operacional manipula o fluxo de dados para o arquivo de saída.




ontape -s -L 0 | compress -c > /informix/backup/archive_L0

Executa backup de nivel 0, em que o comando ontape é redirecionado para um canal e os dados são compactados antes de serem gravados nos nomes de arquivos archive_L0 no diretorio /informix/backup.

O Backup e a restauração do lógico log não são compatíveis com o ontape usand o STDIO. No entanto, se houver backups de lógico logs padrao disponíveis, eles poderão ser restaurados usando o comando ontape -l após uma restauração fisico do ontape utilizando o STDIO. Alem disso, o salvamento de lógico logs não é possivel durante o processo de restauração. Portanto voce deve salvar manualmente todos os logs usando o comando ontape -S antes de executar uma restauração utilizando STDIO.

Durante a restauração padrão, o ontape imprime informações para stdout, mas com STDIO, as mensagens são omitidas. Da mesma forma, após restaurar um backup de nível 0,  o ontape solicita a restauração de backups de nível 1 e nível 2. Ma durante uma restauração para STDIO, esses prompts são omitidos. Em vez disso, o fluxo de entrada é varrido para mais dados. Se mais dados forem encontrados, o próximo nível de backup poderá ser restaurado. Portanto, todos os dados necessários devem fazer parte do fluxo de entrada para o comando de restauração, e os dados devem estar na ordem correta. 

cat /informix/backup/archive_L0 /informix/backup/archive_L1 | ontape -p

A função STDIO permite clonar um servidor de banco de dados Informix ou configurar rapidamente o HDR executando um backup simultâneo  para stdout e restaurando de stdin. Se o backup e restauração forem feitos apenas para duplicar um servidor de banco de dados Informix, use a opção -F para evitar que o archive seja salvo. Durante o backup e a restauração simultâneos, embora um backup seja feito, ele não pode ser restaurado posteriormente porque o backup não é salvo em um dispositivo de armazenamento; os dados de backup serão transferidos para outro sistema através de um pipe e, usando uma operação rsh, os dados serão imediatamente restaurados para outro sistema.

ontape -s -L 0 -F | rsh serverB "ontape -p"

O backup ontape nivel 0 é executado na maquina local. Os dados são canalizados para stdout em uma máquina remota chamada serverB usando o utilitário do sistema operacional rsh e uma restauração física é executada na máquina remota.
O Comando ontape ignora a opção -F se TAPEDEV não estiver configurado como STDIO. A opção ontape -F com a configuração STDIO significa que as informações do arquivo não são registradas nas paginas reservadas.

quarta-feira, 6 de junho de 2018

ORACLE - OPTIMIZER_INDEX_COST_ADJ

PROPRIEDADES, DESCRIÇÃO

Parameter type, integer
Default value, 100
Modifiable, ALTER SESSION - ALTER SYSTEM
Range of Values, 1 to 10000

OPTIMIZER_INDEX_COST_ADJ - permite ajustar o comportamento do otimizador para que a seleção do caminho de acesso seja mais ou menos amigável ao índice, ou seja, tornar o otimizador mais ou menos propenso a selecionar um caminho de acesso ao índice em uma varredura completa da tabela.

O padrão para esse parâmetro é 100%, no qual o otimizador avalia os caminhos de acesso ao índice no custo regular. Qualquer outro valor faz com que o otimizador avalie o caminho de acesso nessa porcentagem do custo regular. Por exemplo, uma configuração  de 50 faz com que o caminho de acesso ao índice pareça tao caro quanto o normal.