ORA-32018: parameter cannot be modified in memory on another instance

oracle12clogo

Quando administramos um banco de dados Oracle com RAC (Real Application Clusters), há a necessidade de sempre ter atenção quando se vai efetuar a alteração de um parâmetro. Há parâmetros que só são alterados após uma reinicialização do banco de dados e há aqueles que podem ser alterados dinamicamente  (parâmetro Modifiable= ALTER SYSTEM na documentação da Corporação Oracle)  na instância inicializada. No entanto, para estes parâmetros dinâmicos há aqueles parâmetros que não há a possiblidade de se alterar no nó principal do cluster e nos demais ao mesmo tempo e, com issso, reportando o erro “ORA-32018: parameter cannot be modified in memory on another instance”. Sendo assim, neste post estarei tratando este erro.

Exemplo do erro:

SQL> alter system set shared_pool_size=10g scope=both sid='*';
alter system set shared_pool_size=10g scope=both sid='*'
*
ERROR at line 1:
ORA-32018: parameter cannot be modified in memory on another instance

Como se pode ver, o erro é reportado devido ao fato do parâmetro não poder ser alterado nos demais nós do banco de dados Oracle RAC. Com isso, para a solução deste erro, ao invés de se utilizar a sintaxe SID=’*’ , coloca-se o nome do nó atual que se está alterando o parâmetro e posteriormente nos demais. Então, por  exemplo, em um banco de dados com 2 instâncias, altera-se primeiro em uma instância e posteriormente na outra. Com isso, segue o exemplo da alteração com sucesso em cada nó (node):

 

SQL> show parameters shared_pool_size

NAME_COL_PLUS_SHOW_PARAM TYPE
-------------------------------------------------------------------------------- -----------
VALUE_COL_PLUS_SHOW_PARAM
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
shared_pool_size big integer
3328M
SQL> alter system set shared_pool_size=10g scope=both sid='TECHDATABASKET1';

System altered.

SQL> show parameters shared_pool_size

NAME VALUE
------------------------------------ ----------- ------------------------------
shared_pool_size big integer 10G

 

SQL> show parameters shared_pool_size

NAME_COL_PLUS_SHOW_PARAM TYPE
-------------------------------------------------------------------------------- -----------
VALUE_COL_PLUS_SHOW_PARAM
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
shared_pool_size big integer
3328M

SQL> alter system set shared_pool_size=10g scope=both sid='TECHDATABASKET12';

System altered.

SQL> show parameters shared_pool_size

NAME VALUE
------------------------------------ ----------- ------------------------------
shared_pool_size big integer 10G

kindregards

Related posts

Leave a Comment