Escolhendo meu DBID

https://thegreathighway.com/gx68h9atpva Aqui no Oracle Home já falamos da importância do DBID (database ID) artigo: Descobrindo o DBID sem acesso ao database OPEN, de como alterá-lo via DBNEWID (NID) artigo: Alterar DBname via NID, mas nunca de como podemos mudá-lo para um valor aleatório(de nossa escolha).

https://yplocal.us/vq4fnn9jzo Mas para que isto seria útil?

https://aguasamazonicas.org/u7cbvjq6i1 Bom, pode ser pelo mero prazer de ter uma base com o DBID do seu gosto (1,2,3..24..666) ou pelo fato da licença da sua aplicação estar vinculada ao DBID do banco de modo que se ele for alterado a aplicação para de funcionar!

https://someawesomeminecraft.com/2024/05/13/hb3podn Antes de começar lembre-se que é de suma importância executar um backup FULL do database!

go to link Verificando o dbid atual da base:

follow SQL> select dbid from v$database; DBID ---------- 3464458105

https://dentaris-sa.com/2024/05/13/44iwrau Efetuando um shutdown limpo da base e na sequencia abrindo como READ ONLY:

https://www.jacobysaustin.com/2024/05/uit51g2nzt SQL> shut immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> startup open read only; ORACLE instance started. Total System Global Area 1138368512 bytes Fixed Size 1364088 bytes Variable Size 318771080 bytes Database Buffers 788529152 bytes Redo Buffers 29704192 bytes Database mounted. Database opened.

source Agora basta executar o script abaixo que ele irá pedir o NOVO DBID da base e após você inserir ele irá fazer todo o trabalho.

follow url Baixe o script clicando AQUI.

https://emduk.org/ln0zts4g SQL> set serveroutput on SQL> declare 2 v_chgdbid binary_integer; 3 v_chgdbname binary_integer; 4 v_skipped binary_integer; 5 v_new_db_name varchar2(9); 6 v_old_db_name varchar2(9); 7 v_new_dbid number; 8 v_old_dbid number; 9 w_action varchar2(255); 10 11 12 begin 13 w_action:='Recuperando DBID Atual.' ; 14 select dbid, name, name into v_old_dbid, v_new_db_name, v_old_db_name from v$database; 15 16 select TO_NUMBER('&NOVO_DBID') into v_new_dbid from dual; 17 18 w_action:='Executando a Procedure (dbms_backup_restore.nidbegin).'; 19 dbms_output.put_line('New NAME='||V_NEW_DB_NAME); 20 dbms_output.put_line('Old NAME='||V_OLD_DB_NAME); 21 dbms_output.put_line('New DBID='||V_NEW_DBID); 22 dbms_output.put_line('Old DBID='||V_OLD_DBID); 23 24 dbms_backup_restore.nidbegin(V_NEW_DB_NAME,V_OLD_DB_NAME,V_NEW_DBID,V_OLD_DBID,0,0,10); 25 26 w_action:='Executando a Procedure (dbms_backup_restore.nidprocesscf).'; 27 dbms_backup_restore.nidprocesscf( v_chgdbid,v_chgdbname); 28 29 dbms_output.put_line('ControlFile.......: '); 30 dbms_output.put_line(' => Change Name..: ' ||to_char(v_chgdbname)); 31 dbms_output.put_line(' => Change DBID..: ' ||to_char(v_chgdbid)); 32 33 w_action := 'Alterando os Datafiles, procedure (dbms_backup_restore.nidprocessdf).'; 34 for i in (select file#,name from v$datafile) 35 loop 36 dbms_output.put_line('DataFile..........: ' ||i.name); 37 dbms_output.put_line(' => Skipped......: ' ||to_char(v_skipped)); 38 dbms_output.put_line(' => Change Name..: ' ||to_char(v_chgdbname)); 39 dbms_output.put_line(' => Change DBID..: ' ||to_char(v_chgdbid)); 40 dbms_backup_restore.nidprocessdf(i.file#,0, v_skipped,v_chgdbid,v_chgdbname); 41 end loop; 42 43 w_action := 'Alterando os Tempfiles, procedure (dbms_backup_restore.nidprocessdf).'; 44 for i in (select file#,name from v$tempfile) 45 loop 46 dbms_output.put_line('TempFile..........: ' ||i.name); 47 dbms_output.put_line(' => Skipped......: ' ||to_char(v_skipped)); 48 dbms_output.put_line(' => Change Name..: ' ||to_char(v_chgdbname)); 49 dbms_output.put_line(' => Change DBID..: ' ||to_char(v_chgdbid)); 50 dbms_backup_restore.nidprocessdf(i.file#,1,v_skipped,v_chgdbid,v_chgdbname); 51 end loop; 52 dbms_backup_restore.nidend; 53 end; 54 / Enter value for novo_dbid: 1 old 16: select TO_NUMBER('&NOVO_DBID') into v_new_dbid from dual; new 16: select TO_NUMBER('1') into v_new_dbid from dual; New NAME=DBTRN Old NAME=DBTRN New DBID=1 Old DBID=3464458105 ControlFile.......: => Change Name..: 0 => Change DBID..: 1 DataFile..........: /oraprd02/oradata/dbtrn/system01.dbf => Skipped......: => Change Name..: 0 => Change DBID..: 1 DataFile..........: /oraprd02/oradata/dbtrn/sysaux01.dbf => Skipped......: 0 => Change Name..: 0 => Change DBID..: 1 DataFile..........: /oraprd02/oradata/dbtrn/users01.dbf => Skipped......: 0 => Change Name..: 0 => Change DBID..: 1 DataFile..........: /oraprd02/oradata/dbtrn/veys01.dbf => Skipped......: 0 => Change Name..: 0 => Change DBID..: 1 DataFile..........: /oraprd02/oradata/dbtrn/FAROL01.dbf => Skipped......: 0 => Change Name..: 0 => Change DBID..: 1 DataFile..........: /oraprd02/oradata/dbtrn/teste01.dbf => Skipped......: 0 => Change Name..: 0 => Change DBID..: 1 DataFile..........: /oraprd02/oradata/dbtrn/teste02.dbf => Skipped......: 0 => Change Name..: 0 => Change DBID..: 1 DataFile..........: /oraprd03/oradata/dbtrn/system02.dbf => Skipped......: 0 => Change Name..: 0 => Change DBID..: 1 DataFile..........: /oraprd03/oradata/dbtrn/undotbs01.dbf => Skipped......: 0 => Change Name..: 0 => Change DBID..: 1 TempFile..........: /oraprd02/oradata/dbtrn/temp01.dbf => Skipped......: 0 => Change Name..: 0 => Change DBID..: 1 PL/SQL procedure successfully completed.

see url Terminado a execução do script podemos ver que todos os arquivos tiveram o DBID alterado para 1 e que nenhum foi pulado (SKIPPED).

https://templedavid.org/symons/t3pn2ts2 Efetuando novamente um shutdown e abrindo a base com OPEN RESETLOGS pois alteramos o controlfile!

https://photovisions.ca/xveqxtin3 SQL> startup mount ORACLE instance started. Total System Global Area 1138368512 bytes Fixed Size 1364088 bytes Variable Size 318771080 bytes Database Buffers 788529152 bytes Redo Buffers 29704192 bytes Database mounted. SQL> alter database open resetlogs; Database altered.

https://annmorrislighting.com/y8e9x9u Verificando o novo DBID do banco de dados:

https://grannysglasses.com/?p=7l11itz SQL> select dbid from v$database; DBID ---------- 1

click No script também existe a variavel v_new_db_name que lhe mertite alterar junto com o DBID o DBNAME da base, basta ajustá-lo e voilá! tudo de uma só vez.

go to link Referências:

follow  How To Choose Your Oracle Database ID (DBID)

%name Escolhendo meu DBID

Autor: Anderson Graf

watch

https://annmorrislighting.com/j9yrhz6d Bacharel em Sistemas de Informação e MBA em Gestão de Banco de Dados Oracle. Entusiasta da tecnologia Oracle, ACE Associate ♠, autor em vários blogs e OTN. Consultor Oracle Senior na Exímio Soluções em TI

https://thegreathighway.com/jdsyd449pkh Envolvido em soluções de:
– Implementação, migração, gerenciamento e suporte a produtos Oracle, multiplataforma
– Monitoramento de ambientes 24×7
– Backup e Recovery
– Performance e Tuning
– Alta disponibilidade (HA) – RAC, Data Guard
– EM database/grid/cloud control
– Particionamento & Advanced Compression
– Oracle Engineered Systems – ODA, Exadata

https://dentaris-sa.com/2024/05/13/onut2at Blog pessoal: http://www.andersondba.com.br
Articulista na Oracle Technology Network (OTN) – https://goo.gl/99R6yW
ACE Associate – https://goo.gl/MBB51b
Articulista GPO – http://profissionaloracle.com.br