Solucionado (ver solução)
Solucionado
(ver solução)
13
respostas

( Erro ORA-00942: a tabela ou view nÒo existe) ao dar o comando / show parameter nls_lang;

Estou enfrentando um problema ao executar o comando abaixo, mostrado no curso:

show parameter nls_lang;

Atualmente só consigo utilizando um outro comando achado na internet e mostrado abaixo:

select * from v$nls_parameters;
13 respostas

Olá Renato! Quando você executou o comando:

show parameter nls_lang;

Foi exibido na tela algum erro? Se sim, qual foi o erro, você poderia colocar o erro aqui pra gente poder verificar melhor o problema?

O erro está no título da minha dúvida, que é este:

 Erro ORA-00942: a tabela ou view nÒo existe

Renato, tenta executar o comando da seguinte forma e verifica o resultado para gente:

show parameter nls_language;

Mesmo erro anterior e mostrado abaixo:

ORA-00942: a tabela ou view nÒo existe

Renato você poderia executar o comando abaixo:

select *
from NLS_DATABASE_PARAMETERS;

E coloca aqui o resultado para gente pode dar uma olhada!

Ficou assim o resultado do select pedido:

PARAMETER
------------------------------
VALUE
------------------------------------------------------------------------------------------------------------------------------------------------------
NLS_LANGUAGE
AMERICAN

NLS_TERRITORY
AMERICA

NLS_CURRENCY
$


PARAMETER
------------------------------
VALUE
------------------------------------------------------------------------------------------------------------------------------------------------------
NLS_ISO_CURRENCY
AMERICA

NLS_NUMERIC_CHARACTERS
.,

NLS_CHARACTERSET
AL32UTF8


PARAMETER
------------------------------
VALUE
------------------------------------------------------------------------------------------------------------------------------------------------------
NLS_CALENDAR
GREGORIAN

NLS_DATE_FORMAT
DD-MON-RR

NLS_DATE_LANGUAGE
AMERICAN


PARAMETER
------------------------------
VALUE
------------------------------------------------------------------------------------------------------------------------------------------------------
NLS_SORT
BINARY

NLS_TIME_FORMAT
HH.MI.SSXFF AM

NLS_TIMESTAMP_FORMAT
DD-MON-RR HH.MI.SSXFF AM


PARAMETER
------------------------------
VALUE
------------------------------------------------------------------------------------------------------------------------------------------------------
NLS_TIME_TZ_FORMAT
HH.MI.SSXFF AM TZR

NLS_TIMESTAMP_TZ_FORMAT
DD-MON-RR HH.MI.SSXFF AM TZR

NLS_DUAL_CURRENCY
$


PARAMETER
------------------------------
VALUE
------------------------------------------------------------------------------------------------------------------------------------------------------
NLS_COMP
BINARY

NLS_LENGTH_SEMANTICS
BYTE

NLS_NCHAR_CONV_EXCP
FALSE


PARAMETER
------------------------------
VALUE
------------------------------------------------------------------------------------------------------------------------------------------------------
NLS_NCHAR_CHARACTERSET
AL16UTF16

NLS_RDBMS_VERSION
11.2.0.2.0


20 linhas selecionadas.

Já com o select que achei na internet assim:

set linesize 150
select * from v$nls_parameters;

Resultado:

PARAMETER                                                        VALUE
---------------------------------------------------------------- ----------------------------------------------------------------
NLS_LANGUAGE                                                     BRAZILIAN PORTUGUESE
NLS_TERRITORY                                                    BRAZIL
NLS_CURRENCY                                                     R$
NLS_ISO_CURRENCY                                                 BRAZIL
NLS_NUMERIC_CHARACTERS                                           ,.
NLS_CALENDAR                                                     GREGORIAN
NLS_DATE_FORMAT                                                  DD/MM/RR
NLS_DATE_LANGUAGE                                                BRAZILIAN PORTUGUESE
NLS_CHARACTERSET                                                 AL32UTF8
NLS_SORT                                                         WEST_EUROPEAN
NLS_TIME_FORMAT                                                  HH24:MI:SSXFF

PARAMETER                                                        VALUE
---------------------------------------------------------------- ----------------------------------------------------------------
NLS_TIMESTAMP_FORMAT                                             DD/MM/RR HH24:MI:SSXFF
NLS_TIME_TZ_FORMAT                                               HH24:MI:SSXFF TZR
NLS_TIMESTAMP_TZ_FORMAT                                          DD/MM/RR HH24:MI:SSXFF TZR
NLS_DUAL_CURRENCY                                                Cr$
NLS_NCHAR_CHARACTERSET                                           AL16UTF16
NLS_COMP                                                         BINARY
NLS_LENGTH_SEMANTICS                                             BYTE
NLS_NCHAR_CONV_EXCP                                              FALSE

19 linhas selecionadas.

Rafael, qual é a versão Oracle Database e a verão do SQL Plus que você está utilizando? Provavelmente o problema seja as versões, pode ser que você está utilizando versões diferentes das utilizadas no curso e o comando não esteja mais com a mesma sintaxe, ou tenha sido depreciado!

A versão do meu oracle database é a:

Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production

A do meu sqlplus é a:

SQL*Plus: Release 11.2.0.2.0 Production on Sex Jan 17 10:40:17 2020

Renato, você definiu a linguagem e codificação do SQL Plus no momento da instalação? Pode ser esse o problema, para isso, segundo a documentação da Oracle, você pode usar os comando:

NLS_LANG = AMERICAN_AMERICA.UTF8
exportar NLS_LANG

Tenta essa solução por favor!

Quando eu tento executar o comando informado acontece isso:

SQL> nls_lang = american_america.utf8 exportar nls_lang
SP2-0734: inÝcio de comando desconhecido "nls_lang =..." - restante da linha ignorado.

Com ponto e vírgula no final acontece isso:

SQL> nls_lang = american_america.utf8 exportar nls_lang;
SP2-0734: inÝcio de comando desconhecido "nls_lang =..." - restante da linha ignorado.

Na verdade Renato, você precisa executar primeiro:

NLS_LANG = AMERICAN_AMERICA.UTF8

E depois você executa esse outro:

exportar NLS_LANG

Tenta dessa forma!

Executei igualmente o informado, porém apresentou isso:

SQL> NLS_LANG = AMERICAN_AMERICA.UTF8
SP2-0734: inÝcio de comando desconhecido "NLS_LANG =..." - restante da linha ignorado.

O segundo comando apresentou o mostrado abaixo:

exportar NLS_LANG
SP2-0734: inÝcio de comando desconhecido "exportar N..." - restante da linha ignorado.
solução!

Já descobri o motivo do erro, acessei o banco com o usuário system, depois verifiquei as permissões do meu usuário e faltava dar o comando de permissão abaixo:

grant dba to renato;

Tudo ficou assim no final:

SQL> show parameter nls_lang;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
nls_language                         string      BRAZILIAN PORTUGUESE