- Este tópico contém 9 respostas, 3 vozes e foi atualizado pela última vez 7 anos, 9 meses atrás por airoosp.
-
AutorPosts
-
23 de dezembro de 2016 às 8:07 pm #108569Jefferson AlexandrinoParticipante
Olá, estou passando por esse problema.
Não sou DBA, mas tive que tomar de conta de um DB Oracle.
Minha experiência era com programador e em SQLServer há alguns anos.
Tenho instalado o Oracle XE 11.2 Win64.
Recebi um aviso de log cheio que não consigo reproduzir agora.
Parei o banco com “shutdown immediate”, fiz uma cópia de segurança da pasta C:oraclexeapporaclefast_recovery_areaXEARCHIVELOG que estava em quase 10gb.
Apaguei as pastas mais antigas deixando uns 3gb.
Quando tentei startar o banco, recebi a mensagem:
ORA-12514: TNS:listener não tem conhecimento sobre o serviço solicitado atualmente no descritor de conexão. (com uns problema na acentuação).
Há três dias que leio e tento soluções em tudo que é fórum e artigos, mas não consegui nada.
Anexei os arquivos de configuração.
Se alguém tiver uma luz pra me dar, agradeço imensamente.26 de dezembro de 2016 às 5:19 pm #108570Natanael AmaroParticipanteJefferson, bom dia !
A fast recovery area é um local proprietário Oracle, para conter os backups da base e alguns arquivos para uma possível recuperação da base,
Deletar alguns arquivos da mesma, não influenciaria na inicialização da base,
O erro em questão, é de listener, tente conectar a base da seguinte forma:
Se ambiente=linux.ftcdbpoc01:/home/oracle>. oraenv
ORACLE_SID = [cmt] ? cmt -- indicar o nome da instancia
The Oracle base remains unchanged with value /u02/app/oracle
ftcdbpoc01:/home/oracle>sqlplus system/oracle as sysdba -- usuário e senha administradores do bancoSQL*Plus: Release 12.1.0.2.0 Production on Mon Dec 26 11:13:15 2016
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ORACLE instance started.Total System Global Area 1677721600 bytes
Fixed Size 2925120 bytes
Variable Size 1006636480 bytes
Database Buffers 654311424 bytes
Redo Buffers 13848576 bytes
Database mounted.
Database opened.
SQL>=======================================================================================
Se ambiente=windows
set ORACLE_SID=instancia
C:Usersnatanael.amaro>sqlplus system/oracle as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Seg Dez 26 11:15:57 2016
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ORACLE instance started.Total System Global Area 1677721600 bytes
Fixed Size 2925120 bytes
Variable Size 1006636480 bytes
Database Buffers 654311424 bytes
Redo Buffers 13848576 bytes
Database mounted.
Database opened.
SQL>=======================================================================================
Depois de ter conseguido startar a base normalmente, execute o seguinte comando:
SQL> alter system register;
System altered.
O mesmo fará o listener ter conhecimento do serviço dessa instância.
Espero ter ajudado,
Best regards Amaro!
26 de dezembro de 2016 às 6:15 pm #108571Jefferson AlexandrinoParticipanteOlá, Natanael.
“Deletar alguns arquivos da mesma, não influenciaria na inicialização da base,”
Foi o que pensei, mas não tinha certeza. E fiz questão de listar todos os meus passos.Meu ambiente é Win64.
As variáveis de ambiente estão com os seguintes valores:
ORACLE_HOME = C:oraclexeapporacleproduct11.2.0server
ORACLE_SID = XE
TNS_ADMIN = C:oraclexeapporacleproduct11.2.0servernetworkadminQuando executo o passo que disseste:
C:Usersnatanael.amaro>sqlplus system/oracle as sysdba
dá o erro da publicação: ORA-12154Informações adicionais:
Meu arquivo sqlnet.ora default só tinha essa linha abaixo
SQLNET.AUTHENTICATION_SERVICES = (NTS)e adicionei essa, de acordo com lida em alguns foruns
NAMES.DIRECTORY_PATH = (TNSNAMES, LDAP)Eu já havia dado stop e start no BD.
Loguei como sysdba e executei
select instance_name from v$instance;e foi me dado:
ERRO na linha 1:
ID do Processo: 0ID da Sessão: 0 Numero de Série: 0
Executei o SQL> startup; e a resposta ao mesmo comando foi:
SP2-0640: Não conectadoDai quando tento conectar (conn system@XE) da o mesmo erro do começo: ORA-12154
26 de dezembro de 2016 às 7:29 pm #108572Natanael AmaroParticipanteJá verificou se o serviço do listener está no ar ?,
execute o comando LSNRCTL START,
e depois tente conectar novamente com:
sqlplus system/senha@XE
26 de dezembro de 2016 às 7:52 pm #108573Jefferson AlexandrinoParticipanteSim, Natanael.
Quando eu executava LSNRCTL STATUS, aparecia somente duas instâncias, CLRExtPRoc e PLSExtProc com status UNKNOW.
Dei startup mount e LSNRCTL STATUS apareceu mais uma instância, “xe” (minúsculo mesmo) como READY.
Tentei conectar pelo Developer e deu o seguinte erro:
Ocorreu um erro ao executar a operação solicitada:
ORA-01033: ORACLE initialization or shutdown in progress
01033. 00000 – “ORACLE initialization or shutdown in progress”
*Cause: An attempt was made to log on while Oracle is being started up
or shutdown.
*Action: Wait a few minutes. Then retry the operation.Código de fornecedor 1033
26 de dezembro de 2016 às 7:53 pm #108574Jefferson AlexandrinoParticipanteAgora o que está me deixando tenso é:
C:oraclexeapporacleproduct11.2.0serverdatabasePWDXE.ora está com 2kb.
Não é esse o arquivo do banco de dados?
26 de dezembro de 2016 às 10:55 pm #108575Jefferson AlexandrinoParticipantePra atualizar,
ao dar um “SQL> Startup”, não conseguia abrir.
Dava o ERRO ORA-01033.
O log do recoveryFile estava cheio.
Resolvi seguindo os passos desse linkConsegui conectar pelas aplicações, mas não consegui no sqlplus. Ainda dá o 12514. Amanhã vou ver novamente.
27 de dezembro de 2016 às 12:26 am #108576Natanael AmaroParticipanteEntão, o arquivo “C:oraclexeapporacleproduct11.2.0serverdatabasePWDXE.ora” citado, não é arquivo de dados, é apenas o arquivo de senha do Oracle, os arquivos de dados são os .dbf, o dba na criação pode ter mudado a extensão, porém é de praxe que mantenha os mesmos como .dbf.
Pela sua resposta, sim o listener estava fora do ar, porém agora ja está startado,
O seguinte erro:
ao dar um “SQL> Startup”, não conseguia abrir.
Dava o ERRO ORA-01033.
O log do recoveryFile estava cheio.Ocorre quando a área de archive está cheia, assim impossibilitando qualquer operação no banco de dados até a liberação de espaço para continuar a escrita de logs, fazendo o passo a passo do blog você apenas deletou os archives expirados (antigos), provavelmente sua rotina de backup também deve ser analisada para esse problema não acontecer mais,
Agora com o listener startado você consegue conectar normalmente ?
27 de dezembro de 2016 às 5:53 pm #108577Jefferson AlexandrinoParticipantePior que não Natanael.
O serviço eu dava stop e start a cada alteração na configuração.
Eu ia tanto pelo Serviços como pelo comando LSNTCTL start.O problema ainda não se resolveu, de certa forma.
É bem estranho na verdade. Pelo sqlplus continua o erro, mas conectar pelo developer e pelo APEX.27 de dezembro de 2016 às 11:09 pm #108578airoospParticipanteBoa tarde, beleza?
Aqui também tenho o Oracle 11g XE em Windows, seguem as configurações dos arquivos:
LISTENER.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:oraclexeapporacleproduct11.2.0server)
(PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = C:oraclexeapporacleproduct11.2.0server)
(PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = XE)
(ORACLE_HOME = C:oraclexeapporacleproduct11.2.0server)
)
)LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = “nome da máquina”)(PORT = 1521))
)
)DEFAULT_SERVICE_LISTENER = (XE)
SQLNET.ORA
This file is actually generated by netca. But if customers choose to
install “Software Only”, this file wont exist and without the native
authentication, they will not be able to connect to the database on NT.
SQLNET.AUTHENTICATION_SERVICES = (NONE)
SQLNET.AUTHENTICATION_SERVICES = (NTS)
NAMES.DEFAULT_DOMAIN = us.oracle.com
NAMES.DIRECTORY_PATH= (TNSNAMES, HOSTNAME, EZCONNECT, ONAMES )
TNSNAMES.ORA
XE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = “nome da máquina”)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)
)EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
).
.
.
.
.Tenho também as variáveis de ambiente ORACLE_SID=XE e a TNS_ADMIN apontando para a pasta onde estão os arquivos LISTENER.ORA, SQLNET.ORA e TNSNAMES.ORA.
Veja se ajuda.
Obrigado.
Airton
-
AutorPosts
- Você deve fazer login para responder a este tópico.