Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

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