Pular para o conteúdo
  • Este tópico contém 9 respostas, 3 vozes e foi atualizado pela última vez 7 anos, 9 meses atrás por Avatar de airoospairoosp.
Visualizando 10 posts - 1 até 10 (de 10 do total)
  • Autor
    Posts
  • #108569
    Avatar de Jefferson AlexandrinoJefferson Alexandrino
    Participante

      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.

      #108570
      Avatar de Natanael AmaroNatanael Amaro
      Participante

        Jefferson, 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 banco

        SQL*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!

        #108571
        Avatar de Jefferson AlexandrinoJefferson Alexandrino
        Participante

          Olá, 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.0servernetworkadmin

          Quando executo o passo que disseste:
          C:Usersnatanael.amaro>sqlplus system/oracle as sysdba
          dá o erro da publicação: ORA-12154

          Informaçõ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: 0

          ID da Sessão: 0 Numero de Série: 0

          Executei o SQL> startup; e a resposta ao mesmo comando foi:
          SP2-0640: Não conectado

          Dai quando tento conectar (conn system@XE) da o mesmo erro do começo: ORA-12154

          #108572
          Avatar de Natanael AmaroNatanael Amaro
          Participante

            Já 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

            #108573
            Avatar de Jefferson AlexandrinoJefferson Alexandrino
            Participante

              Sim, 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

              #108574
              Avatar de Jefferson AlexandrinoJefferson Alexandrino
              Participante

                Agora o que está me deixando tenso é:

                C:oraclexeapporacleproduct11.2.0serverdatabasePWDXE.ora está com 2kb.

                Não é esse o arquivo do banco de dados?

                #108575
                Avatar de Jefferson AlexandrinoJefferson Alexandrino
                Participante

                  Pra 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 link

                  https://dbahandson.wordpress.com/2014/10/03/resolvendo-uma-das-possiveis-causas-do-erro-ora-03113-end-of-file-on-communication-channel-process/

                  Consegui conectar pelas aplicações, mas não consegui no sqlplus. Ainda dá o 12514. Amanhã vou ver novamente.

                  #108576
                  Avatar de Natanael AmaroNatanael Amaro
                  Participante

                    Entã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 ?

                    #108577
                    Avatar de Jefferson AlexandrinoJefferson Alexandrino
                    Participante

                      Pior 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.

                      #108578
                      Avatar de airoospairoosp
                      Participante

                        Boa 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

                      Visualizando 10 posts - 1 até 10 (de 10 do total)
                      • Você deve fazer login para responder a este tópico.
                      plugins premium WordPress