Apesar do ACFS ainda não aparecer no documento “ACFS and AFD Support On OS Platforms (Certification Matrix). (Doc ID 1369107.1)” como suportado para Oracle Linux 9, a Oracle já tem trabalhado no desenvolvimento de patches para suportar o ACFS no nesta versão do SO.

O patch “35697907: 19C BUILD OL9.0 RHCK COMPATIBLE ACFS, AFD MODULES (5.14.0-284.11.1 AND 5.15.0-0.30.19)” foi liberado no final de novembro/2023 para ser aplicado em cima do RU 19.21 e adiciona suporte do ACFS no Linux 9 que estejam usando essas respectivas versões de kernel indicadas na descrição do patch.

No entanto, após aplicar este patch no GRID 19.21, os comandos relacionados a ACFS como acfsroot e acfsdriverstate começaram a falha com o erro abaixo:

[root@lab04 bin]# ./acfsdriverstate suppported
"my" variable $saved_console_log_level masks earlier declaration in same scope at /u01/app/product/19.0.0/grid/lib/osds_acfslib.pm line 105.
Version control conflict marker at /u01/app/product/19.0.0/grid/lib/osds_acfslib.pm line 102, near "<<<<<<<"
Version control conflict marker at /u01/app/product/19.0.0/grid/lib/osds_acfslib.pm line 104, near "======="
Version control conflict marker at /u01/app/product/19.0.0/grid/lib/osds_acfslib.pm line 106, near ">>>>>>>"
BEGIN not safe after errors--compilation aborted at /u01/app/product/19.0.0/grid/lib/osds_acfslib.pm line 121.
Compilation failed in require at /u01/app/product/19.0.0/grid/lib/acfslib.pm line 156.
BEGIN failed--compilation aborted at /u01/app/product/19.0.0/grid/lib/acfslib.pm line 156.
Compilation failed in require at /u01/app/product/19.0.0/grid/lib/acfsdriverstate.pl line 38.
BEGIN failed--compilation aborted at /u01/app/product/19.0.0/grid/lib/acfsdriverstate.pl line 38.

Este erro ocorre porque o patch 35697907 deixou algumas linhas erradas no arquivo osds_acfslib.pm.

Workaround (realizado vide solicitação do Oracle Support).

Eu peguei esse erro primeiro em lab e fiz o teste por conta própria. Para a instalação real no cliente, abri SR no suporte pra ver qual ação tomar, o engenheiro informou que já havia um caso em análise sobre isso e o workaround era comentar essas linhas problemáticas.

OBS: Se você tiver o mesmo erro em um ambiente que é, ou será produtivo, recomendo fortemente abrir SR no suporte. Mesmo que você já saiba como aplicar este workaround, editar esses arquivos sem solicitação expressa do suporte não é um procedimento permitido.

1) Editar o arquivo osds_acfslib.pm com vi:

cp $ORACLE_HOME/lib/osds_acfslib.pm $ORACLE_HOME/lib/BKP.osds_acfslib.pm 
vi $ORACLE_HOME/lib/osds_acfslib.pm

2) Vá direto para a linha 102, digitando comando abaixo e pressionado ENTER no vi:

:102

3) No código original você verá algo assim:

<<<<<<< 1
my ($saved_console_log_level) = 7;
=======
my ($saved_console_log_level) = 4; # Bug 35819881
>>>>>>> 0175414BC76C1D54E06392C16C645311.1

4) Comente as linhas que contém esses códigos:

<<<<<<< 1
my ($saved_console_log_level) = 7;
=======
>>>>>>> 0175414BC76C1D54E06392C16C645311.1

Deixando o arquivo assim:

#<<<<<<< 1
##my ($saved_console_log_level) = 7;
#=======
my ($saved_console_log_level) = 4; # Bug 35819881
#>>>>>>> 0175414BC76C1D54E06392C16C645311.1

Salve e feche o arquivo:

:wq

Após isso, os comandos relacionados ao ACFS devem funcionar normalmente:

[root@lab04 bin]# ./acfsdriverstate supported
ACFS-9200: Supported

Esse BUG deve ser corrigido no RU 19.22 (JAN2024).

Leave a Reply

Discover more from Blog do Dibiei

Subscribe now to keep reading and get access to the full archive.

Continue reading