- Este tópico contém 12 respostas, 3 vozes e foi atualizado pela última vez 15 anos, 8 meses atrás por
Anônimo.
-
AutorPosts
-
25 de junho de 2010 às 5:01 pm #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 /nologSQL*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 privilegesJá em outras máquinas funciona sem problemas.
25 de junho de 2010 às 5:22 pm #94824Regis Araujo
ParticipanteFala 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..!!
25 de junho de 2010 às 9:29 pm #94828mpungan
ParticipanteE 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?
25 de junho de 2010 às 9:34 pm #94829Regis Araujo
ParticipanteOpa..!
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..!
25 de junho de 2010 às 10:29 pm #94830mpungan
ParticipanteVerã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 – ProductionPois é, 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_bkp01022009Este servidor não tem ASM. Ok.
25 de junho de 2010 às 10:58 pm #94833Regis Araujo
ParticipanteOK..
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..!
28 de junho de 2010 às 3:12 am #94838mpungan
ParticipanteOk. 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!!
29 de junho de 2010 às 3:23 pm #94853mpungan
ParticipanteOutra 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 depoisSQL> 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_bkp01022009Abaixo segue o que tem no arquivo sqlnet.ora
cat sqlnet.ora
SQLNET.INBOUND_CONNECT_TIMEOUT=18029 de junho de 2010 às 9:04 pm #94861Regis Araujo
ParticipanteOpa..!
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..!
30 de junho de 2010 às 3:32 pm #94875mpungan
ParticipanteORACLE_SID
oracle@teste:~> echo $ORACLE_SID
HOMOLOGAoracle@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.
1 de julho de 2010 às 12:36 am #94894Anô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 ?
1 de julho de 2010 às 3:46 am #94899mpungan
ParticipanteEu 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?
1 de julho de 2010 às 6:57 pm #94909Anô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.
-
AutorPosts
- Você deve fazer login para responder a este tópico.