Pular para o conteúdo
  • Este tópico contém 1 resposta, 2 vozes e foi atualizado pela última vez 6 anos, 8 meses atrás por Avatar photoJosé Laurindo Chiappa.
Visualizando 2 posts - 1 até 2 (de 2 do total)
  • Autor
    Posts
  • #109148
    Avatar de Fabiano R. FiorindoFabiano R. Fiorindo
    Participante

      Tenho uma base de dados com oracle 11g já funcionado normalmente mas preciso realizar a instalação de mais uma base de dados no mesmo servidor. Consegui criar a base através do Assistente de Configuração de Banco de Dados mas não estou conseguindo acessar, tenho já configurado um listener e um tnsname que o meu ERP já acessa.
      Como eu faço para ter acesso a segunda base, tenho que ter um novo listener, como faço?

      Estou realizando todos esses procedimentos num servidor de backup.

      Att.
      Fabiano

      #109151
      Avatar photoJosé Laurindo Chiappa
      Moderador

        Tudo jóia ? Xô entender : os executáveis do RDBMS Oracle (os binários dele) estão instalados uma vez só, usando esses binários vc tinha criado uma base E tinha ativado/subido subido ela (ou seja, criou uma instância X), aí depois, usando o Assistente de Criação de databases ** desse mesmo conjunto de binários *** vc criou uma nova base de dados – ou seja, vc NÂO rodou SETUP.EXE, não instalou novos binários, certo ?? Esse novo database vai usar o mesmo conjunto de binários já existente pra subir, formando assim uma nova instância Y, com nome diferente da instância original mas usando os mesmos binários, é isso ??
        Sendo isso, a ** primeira coisa ** que vc vai fazer é confirmar se a segunda instância que atende o segundo database está Ativada/subida : pra isso, loga no servidor como o mesmo usuário Oracle que roda a primeira instância e que vc usou pra criar a segunda, abre um prompt de comando e seta as variáveis ORACLE_SID, ORACLE_HOME e PATH – o método exato pra se fazer isso varia de acordo com o Sistema Operacional – se vc não souber como se faz nos diga qual é o seu SO que a gente demonstra)…. nesse prompt de comando corretamente ajustado, tenta conectar via sqlplus, digitando :

        sqlplus sys/senhadosys AS SYSDBA

        se conectar, manda um :

        select database_role, open_mode, name, db_unique_name from v$database;

        e um :

        select * from v$instance;

        Se conectou e os selects acima mostrarem que o banco está Aberto e a instância está Ativa, não bloqueada ao público em geral e com STATUS próprio, tá tudo bem com o banco e com a instância… Pode sair do sqlplus com o comando EXIT …

        Se até aqui tudo estiver ok, sim : para os usuários remotos poderem conectar nessa instãncia desse segundo database, TEM que ter um listener recebendo os pedidos de acesso, sim … O ponto em questão porém é que conceitualmente *** não é necessário *** um Listener para cada database, um só Listener é MAIS QUE CAPAZ de manipular pedidos de conexão para Muitos databases, DESDE QUE seja aceitável que todos usem a mesma porta de rede…. Não é incomum que vc tenha o listener que atende ao database A ouvindo na porta de rede X qualquer (1521, digamos) MAS por segurança vc queira que quem for conectar ao database B no mesmo servidor use a porta de rede Y (1522, digamos) : só aí é que vc pode precisar de dois listeners, um ouvindo na porta X e outro na porta Y…

        ===> SUPONDO que é aceitável que todo mundo que vá conectar a qquer dos dois databases nesse servidor de backup possa usar a mesma porta de rede (normalmrente é sim), esse único Listener que já atende ao primeiro database que já existia PODE SIM atender também a esse segundo database….
        Vc só precisa que todos os databases que o Listener vai atender se REGISTREM, se “APRESENTEM” para esse Listener : isso já ocorre Automaticamente quando vc starta os databases (principalmente se vc usa a porta default 1521 no Listener e a config de rede/serviços no database está default)… Vamos consultar pra ver se isso já aconteceu aí na sua máquina : nesse mesmo prompt de comando com as variáveis ORACLE_SID, ORACLE_HOME e PATH setadas, digite :

        lsnrctl status
        lsnrctl services

        ==> (os utilitários TODOS de controle de listener, de ping de rede, de dum de dados, etc, no RDBMS Oracle são disparados em linha de comando normalmente)… SE os comandos em questão mostraram que o listener está Ativo e o segundo database se registrou nele, jóia, tá tudo pronto pra conectarem remotamente nesse segundo database… Se não estiver registrado, conecta no segundo database com sqlplus sys/senhadosys AS SYSDBA e pede um :

        ALTER SYSTEM REGISTER;

        sai do sqlplus com EXIT e consulta o Listener de novo…

        []s

        Chiappa

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