Pular para o conteúdo
Visualizando 13 posts - 1 até 13 (de 13 do total)
  • Autor
    Posts
  • #94823
    mpungan
    Participante

      É o seguinte, tenho algumas duvidas sobre troca de senhas do SYS, em alguns bancos que tento acessar com os comandos abaixo da a seguinte mensagem
      oracle@teste2:~> sqlplus /nolog

      SQL*Plus: Release 10.2.0.4.0 – Production on Fri Jun 25 09:59:47 2010

      Copyright (c) 1982, 2007, Oracle. All Rights Reserved.

      SQL> connect / as sysdba
      ERROR:
      ORA-01031: insufficient privileges

      Já em outras máquinas funciona sem problemas.

      #94824
      Avatar photoRegis Araujo
      Participante

        Fala amigo.. Bom dia..!

        Seguinte.. quando vc instala o oracle, vc pode deixar setado no SQLNET.ORA o parametro SQLNET.AUTHENTICATION_SERVICES como NTS, isto quer dizer que qualquer pessoa que logar com o usuário ORACLE ou algum usuário que esteja dentro do grupo DBA (no caso de windows) pode logar no usuário SYS automaticamente apenas digitando “sqlplus / as sysdba”.
        Este parametro vem setado por default, não é aconselhavel que este parametro esteja setado, pois qualquer pessoa que saiba a senha do oracle pode logar como SYSDBA e fazer oq quiser com sua base..

        Creio que neste seu banco, este parametro esteja setado para NONE, ou seja, para logar como SYSDBA precisa passar usuário e senha..

        Para vc alterar isto.. basta vc ir no diretório $ORACLE_HOME/network/admin/ e alterar o arquivo SQLNET.ORA adicionando a linha abaixo..

        SQLNET.AUTHENTICATION_SERVICES = (NTS)

        Ou alterando de NONE para NTS..

        Bom.. após fazer isto.. não precisa colocar “sqlplus /nolog” e depois “connect / as sysdba”, ja logue normalmente com o comando “sqlplus / as sysdba”..

        Abraços..!!

        #94828
        mpungan
        Participante

          E se no diretório não tiver o arquivo SQLNET.ORA, como fazer para resolver esse problema? Ou posso me connectar com o sys, trocar a senha e tudo blz, com o banco?

          #94829
          Avatar photoRegis Araujo
          Participante

            Opa..!

            Como assim não tem o SQLNET.ORA ??

            Vc esta usando ASM? Qual a versão do Oracle?

            Se for ASM e vc estiver com o oracle 11gR2 e utilizou as novas praticas de instalação deste banco.. vc vai encontrar o SQLNET.ORA dentro do diretório HOME do GRID /network/admin/

            Bom.. o arquivo SQLNET.ORA fica no mesmo diretório que o LISTENER.ORA e que o TNSNAMES.ORA

            E não para resolver isto.. não adianta trocar a senha do SYS…

            Abraços..!

            #94830
            mpungan
            Participante

              Verão do oracle abaixo:
              Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 – 64bi
              PL/SQL Release 10.2.0.4.0 – Production
              CORE 10.2.0.4.0 Production
              TNS for Linux: Version 10.2.0.4.0 – Production
              NLSRTL Version 10.2.0.4.0 – Production

              Pois é, esse é um servidor linux é no caminho $ORACLE_HOME

              /oracle/product/10.2.0/db_1/network/admin

              [oracle@admin]$ ls -lh
              total 56K
              drwxr-x— 2 oracle oinstall 4.0K Jun 3 2009 samples
              -rw-r—– 1 oracle oinstall 172 Dec 26 2003 shrept.lst
              -rw-r–r– 1 oracle oinstall 1.4K Feb 1 2009 sqlnet.log
              -rw-r—– 1 oracle oinstall 12K Feb 1 2009 tnsnames.ora
              -rw-r—– 1 oracle oinstall 13K Jan 26 2009 tnsnames.ora.bkp
              -rw-r—– 1 oracle oinstall 13K Feb 1 2009 tnsnames.ora_bkp01022009

              Este servidor não tem ASM. Ok.

              #94833
              Avatar photoRegis Araujo
              Participante

                OK..

                Então crie o arquivo SQLNET.ORA dentro deste banco..

                Use como parametro para criação, o arquivo existente em outro banco, não esquecendo de alterar os caminhos do diretório para o novo servidor..

                E tbm não precisa colocar a linha do SQLNET.AUTHENTICATION.. pois quando este parametro não existe no arquivo SQLNET.ORA o login via “connect / as sysdba” fica habilitado automaticamente.. somente se vc colocar aquela linha.. vc precisa setar o parametro para NTS…

                Este arquivo possui pouquissimas linhas..!!!

                Abraços..!

                #94838
                mpungan
                Participante

                  Ok. Este parametro funciona tanto para Windows como Unix e Linux. E nos bancos onde não tiver esse arquivo conectando normalmente com o usuário SYS e trocando a senha isso é tranquilo de realizar? Mas não entendo pq o pessoal não deixou esse arquivo no ambiente!!

                  #94853
                  mpungan
                  Participante

                    Outra questão que verifiquei em outro banco, neste banco tem o arquivo sqlnet.ora, porém ao tentar acessar da forma abaixo:

                    sqlplus /nolog
                    e depois

                    SQL> connect / as sysdba
                    ERROR:
                    ORA-01031: insufficient privileges

                    -rw-r–r– 1 oracle oinstall 789 2009-07-06 10:08 listener.ora
                    -rw-r–r– 1 oracle oinstall 1.2K 2008-01-24 09:45 listener.ora_bkp
                    drwxr-x— 2 oracle oinstall 4.0K 2008-01-23 15:19 samples
                    -rw-r–r– 1 oracle oinstall 172 2003-12-26 11:44 shrept.lst
                    -rw-r—– 1 oracle oinstall 674 2010-05-19 17:45 sqlnet.log
                    -rw-r–r– 1 oracle oinstall 36 2009-07-06 10:05 sqlnet.ora
                    -rw-r–r– 1 oracle oinstall 1.5K 2009-05-04 16:53 tnsnames.ora
                    -rw-r–r– 1 oracle oinstall 1.7K 2009-02-01 09:41 tnsnames.ora_bkp01022009

                    Abaixo segue o que tem no arquivo sqlnet.ora
                    cat sqlnet.ora
                    SQLNET.INBOUND_CONNECT_TIMEOUT=180

                    #94861
                    Avatar photoRegis Araujo
                    Participante

                      Opa..!

                      Então.. verifique se o seu ORACLE_SID esta setado antes de tentar se conectar via SqlPlus..!

                      O parametro q consta ai… sqlnet.inbound…. eh para determinar qual o tempo maximo q uma sessão sofre timeout se ficar sem fazer nada..

                      E tbm verifique qual o usuario q vc esta logado.. pois isto só funciona com o usuario oracle ou com usuário q esteja no grupo DBA…

                      verifique os grupos q seu usuario faz parte.. digite ID e poste os grupos..!

                      Abraços..!

                      #94875
                      mpungan
                      Participante

                        ORACLE_SID

                        oracle@teste:~> echo $ORACLE_SID
                        HOMOLOGA

                        oracle@teste:~> id
                        uid=1000(oracle) gid=1000(oinstall) groups=14(uucp),16(dialout),17(audio),33(video),1000(oinstall)

                        Pode notar que o ORACLE_SID esta setado, mas mesmo assim ocorre o erro de privilegio.

                        #94894
                        Anônimo

                          Acredito que além de pertencer ao grupo oinstall, o usuário “oracle” também deveria pertencer ao grupo “dba” .

                          Vc chegou a criar esse grupo ?

                          #94899
                          mpungan
                          Participante

                            Eu não criei este grupo, pois o ambiente já estava montado. Sendo este erro um erro normal teoricamente. Se td estiver setado e acessamos o banco pelo processo normal, utilizando o comando abaixo

                            sqlplus sys/senha@ as sysdba

                            E alterarmos a senha do sys e system, não tem problema algum fazer desse modo?

                            #94909
                            Anônimo

                              Não tem problema alterar a senha do sys/system dessa maneira. O grupo dba é utilizado para validar se usuário logado no servidor de bando de dados tem permissão de acessar o banco como SYS usando a sintaxe

                              sqlplus / as sysdba

                              qdo vc usa ;

                              sqlplus sys/senha@ as sysdba, a validação é feita pelo arquivo de senha do banco.

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