Oracle 9i- dica do erro ORA-01031 insufficient privileges

oracle, oracle error, oracle blog

Hoje precisei fazer o login em um banco oracle que nao lembra a senha:

sql> connect /as sysdba
ERROR:
ORA-01031: insufficient privileges.

No meu caso fui consultar a documentação do  oracle 9i o erro estava no arquivo sqlnet.ora, onde foi necessário trocar de SQLNET.AUTHENTICATION_SERVICES = (none) para SQLNET.AUTHENTICATION_SERVICES = (NTS).

Oracle 9i-Fazendo um restore de um backup full com rman

oracle, oracle error, oracle blog

Iniciando o restore:

Para iniciarmos o restore é necessário informar qual o backup precisamos restaurar;

Abrir o prompt de comando e chamar o rman(recovery manager):

rman

Conectar ao banco:

connect target sys/oracle@brasil

list os backups na maquina com o comando abaixo:

RMAN> list backup;

irá apresentar a saida abaixo: caso exista masi de um irá mostra todos dividos por data e a identificação scn de cada backup que será usada no script mais a frente;


List of Backup Sets
=

BS Key Type LV Size Device Type Elapsed Time Completion Time
- - ---
9 Full 700.00M DISK 00:01:31 27-08-10
BP Key: 33 Status: AVAILABLE Compressed: NO Tag:
Piece Name: d:\oracle_novo\backup\testebkpfullcomnfe.bkp
arquivo de controle incluido: SCN de Verif.: 268118 tempo de verif.:27/08/10
List of Datafiles in backup set 9
File LV Type Ckp SCN Ckp Time Name
-
1 Full 268118 27-08-10 D:\oracle_novo\ora90\oradata\brasil\system01.dbf'
2 Full 268118 27-08-10 D:\oracle_novo\ora90\oradata\brasil\undotbs01.dbf
3 Full 268118 27-08-10 D:\oracle_novo\ora90\oradata\brasil\cwmlite01.dbf
4 Full 268118 27-08-10 D:\oracle_novo\ora90\oradata\brasil\drsys01.dbf
5 Full 268118 27-08-10 D:\oracle_novo\ora90\oradata\brasil\example01.dbf
6 Full 26811827-08-10 D:\oracle_novo\ora90\oradata\brasil\indx01.dbf
7 Full 268118 27-08-10 D:\oracle_novo\ora90\oradata\brasil\tools01.dbf
8 Full 268118 27-08-10 D:\oracle_novo\ora90\oradata\brasil\users01.dbf
9 Full 26811827-08-10 D:\oracle_novo\ora90\oradata\brasil\tbs_dados_01.dbf
10 Full 268118 27-08-10 D:\oracle_novo\ora90\oradata\brasil\tbs_dados_02.dbf

No resultado acima ele mostra os backups assim como os data files que estao no backup iremos colocar o caminho completo abaixo informando todos os datafiles a serem restaurados.

1.
1. descricao de cada linha do restore#############


run{ #informa ao rman que irá ser rodado um comando:

1. informamos cada arquivo a ser restaurado igual a saida do comando list backup:


set newname for datafile 1 to 'D:\oracle_novo\ora90\oradata\brasil\system01.dbf';
set newname for datafile 2 to 'D:\oracle_novo\ora90\oradata\brasil\undotbs01.dbf';
set newname for datafile 3 to 'D:\oracle_novo\ora90\oradata\brasil\cwmlite01.dbf';
set newname for datafile 4 to 'D:\oracle_novo\ora90\oradata\brasil\drsys01.dbf';
set newname for datafile 5 to 'D:\oracle_novo\ora90\oradata\brasil\example01.dbf';
set newname for datafile 6 to 'D:\oracle_novo\ora90\oradata\brasil\indx01.dbf';
set newname for datafile 7 to 'D:\oracle_novo\ora90\oradata\brasil\tools01.dbf';
set newname for datafile 8 to 'D:\oracle_novo\ora90\oradata\brasil\users01.dbf';
set newname for datafile 9 to 'D:\oracle_novo\ora90\oradata\brasil\tbs_dados_01.dbf';
set newname for datafile 10 to 'D:\oracle_novo\ora90\oradata\brasil\tbs_dados_02.dbf';

SET UNTIL SCN 268118;#setando o scn do backup a ser restaurado
RESTORE DATABASE; #restaurando os arquivos;
SWITCH DATAFILE ALL;
RECOVER DATABASE; #recuperando os arquivos;
}

Iniciando o restore:

shutdown immediate; derruba o banco novamente

startup nomount; inicializa sem montat



alter database mount; altera o status para montado

e inicia o backup:

run{
set newname for datafile 1 to 'D:\oracle_novo\ora90\oradata\brasil\system01.dbf';
set newname for datafile 2 to 'D:\oracle_novo\ora90\oradata\brasil\undotbs01.dbf';
set newname for datafile 3 to 'D:\oracle_novo\ora90\oradata\brasil\cwmlite01.dbf';
set newname for datafile 4 to 'D:\oracle_novo\ora90\oradata\brasil\drsys01.dbf';
set newname for datafile 5 to 'D:\oracle_novo\ora90\oradata\brasil\example01.dbf';
set newname for datafile 6 to 'D:\oracle_novo\ora90\oradata\brasil\indx01.dbf';
set newname for datafile 7 to 'D:\oracle_novo\ora90\oradata\brasil\tools01.dbf';
set newname for datafile 8 to 'D:\oracle_novo\ora90\oradata\brasil\users01.dbf';
set newname for datafile 9 to 'D:\oracle_novo\ora90\oradata\brasil\tbs_dados_01.dbf';
set newname for datafile 10 to 'D:\oracle_novo\ora90\oradata\brasil\tbs_dados_02.dbf';

SET UNTIL SCN 268118;
RESTORE DATABASE;
SWITCH DATAFILE ALL;
RECOVER DATABASE;
}
Apos terminar
shutdown immediate; derruba o banco novamente

startup nomount; inicia sem montar


alter database mount; altera para montado

abrir o banco de dados para que os usuários possam utiliza-lo.

alter database open resetlogs;

o mesmo ja estará pronto para uso:

Oracle 9i-Fazendo um backup full com rman

oracle, oracle error, oracle blog

Abrir o prompt de comando e chamar o rman(recovery manager):

rman

Conectar ao banco:

connect target sys/oracle@brasil

Baixar o banco:

shutdown immediate;

Iniciar sem montar:

startup nomount;

Alterar a base para status montado:

alter database mount;


executar o comando abaixo para fazer um backup full inclusive com o controlfile (database include current controlfile):

run {
allocate channel t1 type disk format 'd:\oracle_novo\backup\testebkpfullcomnfe.bkp';
backup full (database include current controlfile);
release channel t1;
}

1. descricao de cada linha##################################

run { #informa ao rman que irá ser rodado um comando:
allocate channel t1 type disk format 'd:\oracle_novo\backup\testebkpfullcomnfe_300810.bkp';

1. informa o canal a ser usado, o tipo de midia e o local onde estar o backup full;


backup full (database include current controlfile);

1. comando de backup


release channel t1;

libera o canal t1;

1. fim da descricao##############################


Após o fim do backup temos que deixar o banco operacional novamente:

shutdown immediate; #derrubamos o banco novamente

startup nomount; #inicializamos como nao montado



alter database mount; #alteramos para montado

ALTER DATABASE OPEN; E abrimos o banco para que os usuários possam se connectar e utilizarem normalmente todas as tables space do banco;