Pular para o conteúdo
Visualizando 9 posts - 1 até 9 (de 9 do total)
  • Autor
    Posts
  • #97392
    neves07
    Participante

      Pessoal,

      Estou com o seguinte dilema, tenho duas instâncias criadas em minha máquina e estou acessando via tnsname.ora, quando realizo a conexão no sqlplus (Ex.: sqlplus sys@orcl as sysdba) consigo me conectar normalmente, entretanto quando já estou logado e tento mudar para qualquer usuário (Ex.: conn system) recebo o seguinte erro:

      SQL> conn system
      Enter password:
      ERROR:
      ORA-12162: TNS:net service name is incorrectly specified

      Para mim não é interessante setar o ORACLE_SID no .bashrc ou profile, pois tenho 2 instâncias e hora estou me conectando com orcl e outra hora estou conectado com o orcl2.

      Já verifiquei alguns parametros no tnsnames.ora, sqlnet.ora e no listener.ora para ver se ajudava, mas não obtive sucesso.

      Segue minha configuração no tnsname.ora:

      ORCL =
      (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xx.xx.xx)(PORT = 1521))
      (CONNECT_DATA =
      (SERVER=DEDICATED)
      (SERVICE_NAME = orcl)
      (SID=orcl)
      (INSTANCE_NAME=orcl)
      (GLOBAL_NAME=orcl)
      )
      )

      ORCL2 =
      (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xx.xx.xx)(PORT = 1521))
      (CONNECT_DATA =
      (SERVER=DEDICATED)
      (SERVICE_NAME = orcl2)
      (SID=orcl2)
      (INSTANCE_NAME=orcl2)
      (GLOBAL_NAME=orcl2)
      )
      )

      Alguém poderia me dar uma força para ver se é possível executar este tipo de conexão?

      Obrigado!

      #97393
      Ishii
      Participante

        Olá,

        Como você tem outra configuração no tnsnames.ora você tem que informar então qual alias está se referindo:

        conn system@orcl
        Enter password:

        Ou
        conn system@orcl2
        Enter password:

        Acho que não tem como saber sem informar qual SID está sendo redirecionado…

        []s Ishii

        #97394
        neves07
        Participante

          Ishii,
          O que eu acho estranho é que existem certas configurações no tnsnames.ora e elas parecem que não são reaproveitadas nesta nova conexão sem passar o alias(@SID).

          (SERVICE_NAME = orcl)
          (SID=orcl)
          (INSTANCE_NAME=orcl)
          (GLOBAL_NAME=orcl)

          [ ]’s

          #97395
          Ishii
          Participante

            Olá,

            O Alias que me refiro é o do tnsnames.ora

            PODIASERQQ1 =
            (DESCRIPTION =
            (ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xx.xx.xx)(PORT = 1521))
            (CONNECT_DATA =
            (SERVER=DEDICATED)
            (SERVICE_NAME = orcl)
            (SID=orcl)
            (INSTANCE_NAME=orcl)
            (GLOBAL_NAME=orcl)
            )
            )

            Nesse caso a conexão ficaria
            conn system@podiaserqq1
            Enter Password

            Esse alias apenas se refere ao que vem após o sinal de “=” e a cada nova conexão deve ser informado.

            []s Ishii

            #97397
            neves07
            Participante

              Opa,

              Sim concordo contigo, o alias pode ser qualquer um. Mas ainda continuo com a mesma dúvida, se eu posso ou não fazer essa conexão interna após já ter me conectado via tnsnames.

              Obrigado.

              #97398
              rwarstat
              Participante

                Neves,

                Quando no tnsnames.ora tu possui mais de uma instância configurada e deseja se conectar em qualquer uma das instâncias, é obrigatório colocar o alias dessa conexão.

                []´s
                Roberto

                #97399
                Sousa04
                Participante

                  O esquema é passar a string mesmo.

                  $ sqlplus /nolog

                  SQL*Plus: Release 10.2.0.1.0 – Production on Ter Dez 21 17:04:05 2010

                  Copyright (c) 1982, 2005, Oracle. All rights reserved.

                  SQL> connect sgdcp
                  Enter password:
                  ERROR:
                  ORA-12162: TNS:net service name is incorrectly specified

                  Warning: You are no longer connected to ORACLE.
                  SQL> connect sgdcp@desenv
                  Enter password:
                  Connected.
                  SQL>

                  #97400
                  leandrolbs
                  Participante

                    acho que entendi sua duvida:

                    Você já está logado:

                    SQL> conn sys@alias as sysdba


                    Conectado.
                    SQL>

                    Depois disto, vc quer trocar de usuário, e conectar novamente zsem informar o @alias certo?!…não tem jeito.


                    SQL> disco;
                    Desconectado do Oracla DataBase.....[...]
                    SQL> conn system@alias


                    Conectado
                    SQL>

                    #97412
                    neves07
                    Participante

                      Opa,

                      Acredito que realmente é necessário passar o alias do tnsnames, mesmo depois de conectado, pois assim fica claro a identificação para qual das instâncias vai ser concluída a conexão, sendo que dentro do arquivo tnsnames.ora é possivel se conectar com qualquer um dos aliases, e possivelmente senão for passado este parametro a conexão não vai entender para qual dos aliases você está querendo.

                      Agradeço a todos pelas respostas!!!

                      😀

                      Abraços

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