Multiplexando os Controlfiles do Oracle em ASM

source link O objetivo de Multiplexar os Controlfiles é totalmente importante para a segurança contra corrupção do arquivo e ou de disco.
Recomendado pela Oracle, estes devem ser multiplexados em diferentes discos e não em partições de um único disco. No ASM é sugerido que coloquemos em diferentes Grupos de Discos.
Segue abaixo o procedimento de como multiplexar o controlfile em ASM.

https://splendormedicinaregenerativa.com/flcyqw7rp Vamos subir as instâncias (ASM e ORCL).

https://ict-pulse.com/2024/07/1p1xl1wc05q [oracle@serveroracle ~]$ export ORACLE_SID=+ASM [oracle@serveroracle ~]$ sqlplus /nolog

https://geneticsandfertility.com/16qgq25assz SQL*Plus: Release 10.2.0.1.0 - Production on Mon Oct 17 18:30:19 2011 Copyright (c) 1982, 2005, Oracle. All rights reserved. SQL> conn / as sysdba Connected to an idle instance. SQL> startup mount ASM instance started Total System Global Area 83886080 bytes Fixed Size 1217836 bytes Variable Size 57502420 bytes ASM Cache 25165824 bytes ASM diskgroups mounted SQL> exit Disconnected from Oracle Database 10g Release 10.2.0.1.0 - Production

enter [oracle@serveroracle ~]$ ps -ef | grep pmon oracle 2584 1 1 18:30 ? 00:00:00 asm_pmon_+ASM oracle 2604 2262 0 18:30 pts/1 00:00:00 grep pmon [oracle@serveroracle ~]$ export ORACLE_SID=orcl [oracle@serveroracle ~]$ sqlplus / as sysdba

https://www.insearchofsukoon.com/audnhaz4b2d SQL*Plus: Release 10.2.0.1.0 - Production on Mon Oct 17 18:30:50 2011 Copyright (c) 1982, 2005, Oracle. All rights reserved. Connected to an idle instance. SQL> startup ORACLE instance started. Total System Global Area 557842432 bytes Fixed Size 1220556 bytes Variable Size 155189300 bytes Database Buffers 398458880 bytes Redo Buffers 2973696 bytes Database mounted. Database opened. SQL>

follow Vamos visualizar os controlfiles e vamos multiplexar os mesmos.

Buying Tramadol Uk SQL> select NAME from v$controlfile; NAME -------------------------------------------- +DGA/orcl/controlfile/current.260.764689167 SQL>

Order Tramadol Cash On Delivery Vamos visualizar os nossos discos de grupo disponpíveis para a multiplexação dos controlfiles;

https://www.inaxorio.com/nlouetj SQL> select name from v$asm_diskgroup; NAME ------------------------------ DGA DGB SQL>

https://gsaudemarketing.com.br/869eigljg Vamos multiplexar os controlfiles. Neste não iremos utilizar o RMAN para fazer a cópia dos controlfiles.
Vamos utilizar o próprio ASM para a realização do mesmo.

https://brako.com/en/61a1k3otq SQL> alter database backup controlfile to '+DGB'; Database altered. SQL> !

source [oracle@serveroracle ~]$ export ORACLE_SID=+ASM [oracle@serveroracle ~]$ asmcmd

https://www.techonicsltd.com/uncategorized/ggxg9yti ASMCMD> ls -l +DGB Type Redund Striped Time Sys Name Y ORCL/ ASMCMD> cd +DGB/ORCL/ ASMCMD> ls -l Type Redund Striped Time Sys Name Y CONTROLFILE/ ASMCMD> cd CONTROLFILE/ ASMCMD> ls -l Type Redund Striped Time Sys Name CONTROLFILE UNPROT FINE OCT 17 18:00:00 Y Backup.256.764793571 ASMCMD> mkalias Backup.256.764793571 control02.ctl ASMCMD> exit [oracle@serveroracle ~]$

follow O que realizamos foi um procedimento de criar um backup do controlfile num outro disco de grupo e pelo ASM utilizamos o “mkalias” para linkar o arquivo criado com um outro nome de arquivo como por exemplo, control02.ctl.
OBS: Para saber mais sobre o comando “mkalias” entre em Documento Oracle ASM

https://www.insearchofsukoon.com/m2zrdzv0v2c Vamos agora então ajustar o nosso spfile para subir com os dois controlfiles.

https://splendormedicinaregenerativa.com/0ooojp9 [oracle@serveroracle ~]$ exit exit

https://bxscco.com/2xiv0bn0as4 SQL> show parameter control_files; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ control_files string +DGA/orcl/controlfile/current. 260.764689167 SQL> alter system set control_files = '+DGA/orcl/controlfile/current.260.764689167','+DGB/orcl/controlfile/control02.ctl' scope=spfile; System altered. SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. SQL> startup ORACLE instance started. Total System Global Area 557842432 bytes Fixed Size 1220556 bytes Variable Size 159383604 bytes Database Buffers 394264576 bytes Redo Buffers 2973696 bytes Database mounted. Database opened. SQL> show parameter control_files; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ control_files string +DGA/orcl/controlfile/current. 260.764689167, +DGB/orcl/contr olfile/control02.ctl SQL> select NAME from v$controlfile; NAME --------------------------------------------- +DGA/orcl/controlfile/current.260.764689167 +DGB/orcl/controlfile/control02.ctl SQL>

https://www.inaxorio.com/t586jyh Agora vamos realizar um teste para verificar se houve efeito na nossa Multiplexação dos Controlfiles.
Vou remover um dos controlfiles para realizarmos o teste do startup do banco de dados com apenas aquele controlfile criado no +DGB.

https://etbscreenwriting.com/ykirddlvs SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. SQL> !

https://geneticsandfertility.com/hej6gyxi [oracle@serveroracle ~]$ export ORACLE_SID=+ASM [oracle@serveroracle ~]$ asmcmd

source link ASMCMD> ls -l +DGA/orcl/controlfile/current.260.764689167 Type Redund Striped Time Sys Name CONTROLFILE UNPROT FINE OCT 18 15:00:00 Y current.260.764689167 ASMCMD> rm -f +DGA/orcl/controlfile/current.260.764689167 ASMCMD> ls -l +DGA/orcl/controlfile/current.260.764689167 asmcmd: entry 'controlfile' does not exist in directory '+DGA/orcl/' ASMCMD> exit

https://ict-pulse.com/2024/07/l6w8q99jv35 [oracle@serveroracle ~]$ exit exit

https://thefooduntold.com/food-science/smuwyn84bt8 SQL> startup nomount ORACLE instance started. Total System Global Area 557842432 bytes Fixed Size 1220556 bytes Variable Size 163577908 bytes Database Buffers 390070272 bytes Redo Buffers 2973696 bytes SQL> show parameter control_files NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ control_files string +DGA/orcl/controlfile/current. 260.764689167, +DGB/orcl/contr olfile/control02.ctl SQL> alter system set control_files='+DGB/orcl/controlfile/control02.ctl' scope=spfile; System altered. SQL> shutdown immediate ORA-01507: database not mounted ORACLE instance shut down. SQL>

https://brako.com/en/h8yd6j6dzns Vamos iniciar a nossa instância com apenas o controlfile criado no +DGB.

https://www.techonicsltd.com/uncategorized/mtrgffhw82 SQL> startup nomount ORACLE instance started. Total System Global Area 557842432 bytes Fixed Size 1220556 bytes Variable Size 163577908 bytes Database Buffers 390070272 bytes Redo Buffers 2973696 bytes SQL> alter database mount; Database altered. SQL> alter database open; Database altered. SQL> select NAME from v$controlfile; NAME ------------------------------------ +DGB/orcl/controlfile/control02.ctl SQL>

https://hymnsandhome.com/2024/07/25/ojxm6mp Agora vamos realizar o procedimento acima e multiplexar o controlfile do +DGB para o +DGA.

https://autismwish.org/1yu3d5m68p SQL> alter database backup controlfile to '+DGA'; Database altered. SQL> !

https://www.adroitprojectconsultants.com/2024/07/25/82fx7dsr [oracle@serveroracle ~]$ export ORACLE_SID=+ASM [oracle@serveroracle ~]$ asmcmd

https://www.pathwaysmagazineonline.com/eh55zm4z ASMCMD> cd +DGA/orcl/controlfile ASMCMD> ls -l Type Redund Striped Time Sys Name CONTROLFILE UNPROT FINE OCT 18 18:00:00 Y Backup.260.764879511 ASMCMD> mkalias Backup.260.764879511 control01.ctl ASMCMD> ls -l Type Redund Striped Time Sys Name CONTROLFILE UNPROT FINE OCT 18 18:00:00 Y Backup.260.764879511 N control01.ctl => +DGA/ORCL/CONTROLFILE/Backup.260.764879511 ASMCMD> exit

[oracle@serveroracle ~]$ exit exit

SQL> alter system set control_files='+DGA/orcl/controlfile/control01.ctl','+DGB/orcl/controlfile/control02.ctl' scope=spfile;

System altered.

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.

Total System Global Area  557842432 bytes
Fixed Size                  1220556 bytes
Variable Size             167772212 bytes
Database Buffers          385875968 bytes
Redo Buffers                2973696 bytes
Database mounted.
Database opened.
SQL> select NAME from v$controlfile;

NAME
------------------------------------
+DGA/orcl/controlfile/control01.ctl
+DGB/orcl/controlfile/control02.ctl

SQL>

Pronto seus controlfiles foram multiplexados em diferentes discos de grupo conforme recomendações e boas práticas da Oracle.

%name Multiplexando os Controlfiles do Oracle em ASM

Autor: Maycon Tomiasi

Formado em Tecnologia da Informação na FIPP (Faculdade de Informática de Presidente Prudente), Analista DBA Oracle pela Teiko Soluções em Tecnologia da Informação, residente em Blumenau/ SC, Certificado OCP 10g/11g/12c, OCS 11g Implementation, OCE 11g Performance Tuning, OCE 11g RAC & GRID e OPN Specialist. Conhecimentos em PHP.