
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


*The views expressed here are my own and do not represent those of my employer.*
Hello, I’m Bruno — a dual citizen of Brazil and Sweden. I bring a global perspective shaped by experiences in both South America and Europe, with a strong focus on collaboration and innovation across cultures. I am a Computer Scientist, PhD Candidate in Information and Communication Technologies, focusing on Data Science and Artificial Intelligence, and hold dual Master’s degrees in Data Science and Cybersecurity. With over fifteen years of international experience spanning Brazil, Hungary, and Sweden, I have collaborated with global organizations such as IBM, Playtech, and Oracle, as well as contributed remotely to projects across multiple regions. My professional interests include Databases, Cybersecurity, Cloud Computing, Data Science, Data Engineering, Big Data, Artificial Intelligence, Programming, and Software Engineering, all driven by a deep passion for transforming data into strategic business value.