Blog
24 de julho de 2020
Exibindo valores válidos para parâmetros de múltiplas opções
Dentre seus milhares de parâmetros, o Oracle Database possui parâmetros do tipo string, número, booleano e os que aceitam uma lista predeterminada de valores como o cursor_sharing, por exemplo, que pode ser configurado com os valores SIMILAR, EXACT e FORCE.
Para sabermos os valores válidos para estes parâmetros de múltiplas opções predeterminadas podemos:
1. Consultar a documentação Oracle onde será exibido a lista de valores válidos, desde que o parâmetro não seja oculto.
2. Alterar o parâmetro, incluindo os ocultos para um valor não válido, desta forma a lista de valores suportados será exibida:
SQL> alter system set cursor_sharing='X'; alter system set cursor_sharing='X' * ERROR at line 1: ORA-00096: invalid value X for parameter cursor_sharing, must be from among SIMILAR, EXACT, FORCE SQL> alter system set "_mv_refresh_enhanced_dml_detection"='TST'; alter system set "_mv_refresh_enhanced_dml_detection"='TST' * ERROR at line 1: ORA-00096: invalid value TST for parameter _mv_refresh_enhanced_dml_detection, must be from among ON_RC, ON, OFF
3. Utilizar a view v$parameter_valid_values, não é válida para parâmetros ocultos
set lines 200 col name for a50 col value for a30 select * from v$parameter_valid_values where name='use_large_pages'; NUM NAME ORDINAL VALUE ISDEFAULT ---------- -------------------------------------------------- ---------- ------------------------------ ----------------------- 117 use_large_pages 1 TRUE TRUE 117 use_large_pages 2 AUTO FALSE 117 use_large_pages 3 ONLY FALSE 117 use_large_pages 4 FALSE FALSE
4. ou, ainda utilizar a X$KSPVLD_VALUES onde podemos visualizar os valores válidos inclusive para os parâmetros ocultos
set lines 200 col ISDEFAULT_KSPVLD_VALUES for a15 col VALUE_KSPVLD_VALUES for a30 select PARNO_KSPVLD_VALUES NUM, NAME_KSPVLD_VALUES NAME, ORDINAL_KSPVLD_VALUES ORDINAL, VALUE_KSPVLD_VALUES VALUE, DECODE(ISDEFAULT_KSPVLD_VALUES, 'FALSE', '', 'DEFAULT') ISDEFAULT from X$KSPVLD_VALUES where NAME_KSPVLD_VALUES = '_mv_refresh_enhanced_dml_detection'; NUM NAME ORDINAL VALUE ISDEFAU ---------- -------------------------------------------------- ---------- ------------------------------ ------- 2484 _mv_refresh_enhanced_dml_detection 1 OFF 2484 _mv_refresh_enhanced_dml_detection 2 ON 2484 _mv_refresh_enhanced_dml_detection 3 ON_RC DEFAULT
espero que tenham curtido a dica!
Postado por:
Anderson Graf
187 visualizações