segunda-feira, 8 de novembro de 2010

ORACLE RECOVERY MANAGER ( RMAN ) - O que devo saber? - Parte III

Olá galera, vamos dar sequência ao nosso bate papo sobre RMAN, agora iremos adentrar mais na questão uso mesmo da ferramenta. Espero que estejam gostando, e se divertindo com esse assunto , tanto quanto eu estou.

LINHAS DE COMANDO RMAN

Bem, antes de iniciarmos nossa jornada, vamos estabelecer algumas boas práticas para o uso do RMAN, como por exemplo, a criação de um usuário que será responsável pela execução dos nossos BACKUP's diários.

Muitos de vocês poderiam me dizer, "AH! EU PREFIRO USAR O SYSTEM MESMO." , tudo bem, é uma opção, mais imaginem a exposição de deixar seus scripts agendados na sua base local com a senha do SYSTEM ou SYS exposta para qualquer SYSADMIN, ou qualquer pessoa que tenha um mero usuário no seu Windows ou Unix/Linux , com a minima permissão de leitura, o que impediria então essa pessoa de se conectar no seu Banco de Dados  e sair executando o que quisesse e bem entendesse?

Pois bem, isso não é só para que fique "bonito", é também para contemplar no seu ambiente uma regra básica de segurança, onde os superusuários só devem ser usados em casos extremos, e que cada um deve sim ter seu login individual.

Passado este meu ponto de vista para vocês , vamos aprender como criar um usuário para as nossas tarefas de backup :

Criando o Usuário

Basicamente é o mesmo comando de criação de um usuário comum, a diferença aqui é sua função.

Sintax:

create user rmanusr identified by 12345
default tablespace users; 

Atenção :  

Eu evidenciei acima, o nome do usuário em vermelho e a sua senha também, fiz isso porque?
Porque essas opções são ao gosto de cada um, escolham nomes que lhe agradem e sejam funcionais, a senha cada um deve ter seu padrão, principalmente as empresas que se submetem anualmente a padrões nacionais e internacionais de auditoria ( SOx, Delloite, etc).

 
ENTENDENDO MELHOR AS OPÇÕES DE LINHA DE COMANDO ( RMAN ).

Talvez, nem todos tenham tido essa curiosidade um dia, ou pode ser que já tenham o feito por razões de esquecimento de uma determinada sintaxe de comando, mas o que importa é que o RMAN lhe proporciona uma "AJUDA" no sentido estrito da palavra quando você em seu prompt de comando digita a palavra HELP seguida da chamada do aplicativo, vejam :


Reparem que na imagem acima, há diversas opções a serem usadas na linha de comando do RMAN, antes mesmo de proceder com nosso backup é claro. VAMOS ENTENDER MELHOR CADA UMA DELAS?

Opções :


TARGET
Tipo : Character String
Conceito : é onde definimos usuário, senha e o nome do banco de dados (service name), ao qual iremos nos conectar para proceder com o processo de backup e/ou restore.

CATALOG
Tipo : Character String
Conceito : quase igual ao target, porém é aqui que informamos o usuário, senha e service name de onde esta alocado nosso catalogo de backup RMAN.

NOCATALOG
Tipo : sem argumentos
Conceito : indica que nenhum catalogo será usado no processo de restore/recovery, está opção é padrão nas releases 8i e 9i.


CMDFILE
Tipo : Character String
Conceito : determina qual o script será executado.


LOG
Tipo : Character String
Conceito : irá despejar dentro de um arquivo fisico , todos os passos decorrentes da execução dos processos via RMAN, com exceção daquilo que está em PROMPT.

TRACE
Tipo : Character String
Conceito : habilita o rastreamento na sessão RMAN, tendo apenas que indicar o nome do arquivo trace a ser gerado.


APPEND
Tipo : sem argumentos
Conceito : realiza um "append" ou re-utilização do arquivo de logs.

DEBUG
Tipo : diversos argumentos podem ser passados.
Conceito :  defini que a sessão RMAN deve ser iniciada em modo DEBUG, via de regra para identificar algum erro em especifico.


MSGNO
Tipo : sem argumentos.
Conceito : defini que as messagens de erro devem ser mostradas nas sessões RMAN, em caso de não definição deste nenhum erro será mostrado.


SEND
Tipo : Character String
Conceito : responsável por enviar mensagens para a camada de media utilizada.


PIPE
Tipo : String
Conceito : requisição da interface PIPE do RMAN.


TIMEOUT
Tipo : Integer
Conceito : determina o tempo de espera para a colocação do PIPE.


AUXILIARY
Tipo : Character String
Conceito : mesmo significado que as opções target e catalog, porém esta é para a base auxiliar, utilizada em processos de restore e recover, tais como Tablespace-Point-Time Recovery.

Muito bem, já conhecemos nossas possibilidades de linhas de comando no RMAN, mas se vocês notarem uma delas ficou de fora, é a CHECKSYNTAX, que como o próprio nome sugere, fará a verificação da sintaxe de comando, ou seja, da instrução passada para a nossa sessão RMAN, afim de proceder com um backup/restore.


Vejamos como ela funciona :


Notem que eu usei a opção "CHECKSYNTAX", antes de iniciar minha sessão RMAN, ainda no prompt de comando. E logo após ter entrado em modo prompt do RMAN, eu digitei o seguinte comando : RMAN > backup database with archivelog;

Automaticamente a minha seção RMAN , emitiu um erro relacionado a minha SINTAXE de comando, isso pode ser muito util quando se está querendo aprender os comandos corretos, ou até mesmo quando se esqueceu da real formatação do comando. Vejam abaixo qual seria a saida do comando após a escrita correta : 

RMAN> backup database plus archivelog; 




Neste caso, não tivemos maiores problemas, nossa seção RMAN identificou a SINTAXE de comando como sendo correta, e nos emitiu na sequencia uma mensagem de validação do comando : "O comando não tem erros de sintaxe."






Excelente, até aqui não tivemos maiores dificuldades não é mesmo? Conseguimos até aqui agregar alguns conceitos que nos serão muito utéis no decorrer do nosso caminho, e espero eu é claro que sejam muito utilizado por todos.


Por hoje ficamos por aqui, no nosso próximo encontro falaremos definitivamente de CONTROL_FILE_RECORDD_KEEP_TIME, e das diretrizes RMAN.
Espero que tenham gostado, e até a próxima.


Abraço!!!