Pular para o conteúdo
  • Este tópico contém 3 respostas, 2 vozes e foi atualizado pela última vez 16 anos atrás por armandoveloso.
Visualizando 4 posts - 1 até 4 (de 4 do total)
  • Autor
    Posts
  • #91513
    armandoveloso
    Participante

      Pessoal,

      estou com um problema na hora de executar script de backup ONLINE agendado no windows.
      O script ta “Ok” na parte de comandos. O script esta agendado na propria maquina q tem o banco rodando.

      Tenho um arquivo .bat que chama um arquivo .sql, nesse .sql eu dou comandos pra conectar via sqlplus,
      e ir colocando cada tablespace offline e copiando via SO os datafiles, etc…

      O problema é q da erro na conexao ao banco:
      ERROR:
      ORA-12541: TNS:no listener

      Entao as TS nao ficam offline, mas os comandos de copiar os datafiles sao executados,
      daí as datafiles sao copiados sem as TS estarem offline…

      Observacoes:
      1) O servico do listener ta ok, tanto que o banco ta em producao 24×7 e com umas 400 conexoes simultaneas…

      2) Uma coisa q acho estranho é o STATUS (UNKNOWN) da instancia q aparece no listener:

      C:>lsnrctl status

      Services Summary…
      Service “ORAPRD” has 1 instance(s).
      Instance “ORAPRD”, status UNKNOWN, has 1 handler(s) for this service…
      Service “PLSExtProc” has 1 instance(s).
      Instance “PLSExtProc”, status UNKNOWN, has 1 handler(s) for this service…
      The command completed successfully

      3) Se eu rodar os comandos MANUALMENTE, copiando e colando no prompt de comandos um a um, o erro nao aparece!
      Nao da erro, loga no banco normalmente!!! (eu logo no windows com o usuario adminstrador do dominio, uso sqlplus com ele, etc,
      e rodo o script com esse usuario tambem!)

      4) Banco: Oracle 9i 32bits. SO: Windows Server 2003

      Obrigado,
      Armando.

      #91517
      Rodrigofs
      Participante

        Boa noite, Armando se possível poste o script ..

        Abraço.
        Rodrigo Santana

        #91526
        armandoveloso
        Participante

          Rodrigo,
          acho pouco provavel ser algo nos scripts, pois como falei, se abrir o prompt e rodar os comandos manualmente o erro nao aparece e conecta no banco na boa…. mas vamos la, abaixo coloco uma parte de cada script.

          1) Script 1 (.bat):

          SET ORACLE_HOME=C:oracleora92
          SET DIR_BACKUP=H:backuphot
          SET DIR_SOURCE=H:bkpscripts

          sqlplus /nolog @%DIR_SOURCE%hotbackup.sql

          2) Script 2 (hotbackup.sql):

          spool H:backuphotbackup.log
          conn sys/SENHA@ORAPRD as sysdba

          alter database backup controlfile to ‘H:backuphotCONTROL01.CTL’;
          alter tablespace SYSTEM begin backup;
          host copy M:U01DATABASEORACLEORAPRDCONTROLSSYSTEM01.DBF H:backuphot
          alter tablespace SYSTEM end backup;
          alter system switch logfile;

          spool off
          exit

          Bom, é por aí…
          No comando “conn sys…” aparece o erro:
          ERROR:
          ORA-12541: TNS:no listener

          E para todos os outros comandos no BD aparece:
          SP2-0640: Not connected

          #91527
          armandoveloso
          Participante

            Bom pessoal,
            mexendo aqui acabei resolvendo o problema…
            Como eu desconfiava, nao era problema nos scripts…

            Desconfiava tambem do status UNKNOWN que aparecia no LISTENER!
            Como administro outras bases (em linux), via que nelas tinha sempre “dois servicos”, um com status UNKNOWN e outro com status READY, e realmente era esse o problema!

            Agora pra conseguir esse status ready é que foi bem estranho!

            No arquivo listener.ora, em (HOST = ), tinha o IP da maquina local (HOST = 192.168.1.100), alterei para o nome da maquina (HOST = srvora1), restartei o listener e apareceram duas linhas para o servico, uma com status UNKNOWN e outra com status READY !

            O script funcionou na boa…

            Testei mais uma coisa, colocando o nome completo da maquina (HOST = srvora1.EMPRESA.com.br), restartei o listener e voltou a ficar apenas um servico e com status UNKNOWN ! Consequentemente o script nao funcionou assim.

            Voltei então no listener.ora para (HOST = srvora1) e está tudo funcionando…

            C:>lsnrctl status

            Services Summary…
            Service “ORAPRD” has 2 instance(s).
            Instance “ORAPRD”, status UNKNOWN, has 1 handler(s) for this service…
            Instance “ORAPRD”, status READY, has 1 handler(s) for this service…

            The command completed successfully

            Acredito que isso seja alguma configuracao no sqlnet.ora.

            Engracado que para os clientes que se conectam via aplicacao, não havia problema algum com apenas status UNKNOWN …

            Valeu!
            Armando.

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