Qual é a diferença entre os dois :
SQLPLUS / AS SYSDBA
e
SQLPLUS
Enter user-name: SYSDBA
Enter password:
Se eu usar o primeiro comando, me conecto e vejo o prompt SQL>
, mas ao usar o segundo comando, sempre recebo ORA-01017: invalid username/password; logon denied
, quando digito a senha correta. Por que é isso ?
Além disso, como faço para me conectar SYSDBA
usando o primeiro comando, quando não digitei nenhuma senha.
Estou usando o Oracle Database 11g Express Edition Release 11.2.0.2.0
SYSDBA
não é um usuário, mas uma maneira de se conectar ao banco de dados.A ligação como sysdba baseia-se na autenticação do SO o que significa que desde que se ligue à sua máquina com um utilizador que esteja no
oradba
grupo estará ligado a este utilizadorAS SYSDBA
independentemente do utilizador/senha que escrever (desde que tente conectar como sysdba é claro)Leia mais neste tópico de Tom Kyte
Então, é isso-
e isto
e mesmo isso
São praticamente iguais
SYSDBA
é um papel. Quando você se conecta usando essa função, está efetivamente se conectando como usuárioSYS
(digamosshow user
no SQL*Plus). Como o @ABCade já disse, você está usando autenticação externa (SO neste caso), mas se você quiser se conectar remotamente pela rede, será necessário fornecer nome de usuário e senha (a menos que a conta esteja configurada para usar autenticação remota do SO), por exemplosqlplus sys/password@orcl as sysdba
.Você também pode conceder a outros usuários o
SYSDBA
privilégio:Dessa forma, o usuário
SCOTT
pode se conectar ao banco de dados comSYS
privilégios: