web-dev-qa-db-ja.com

AS SYSDBAなしでSYSTEMにログインできないのはなぜですか

SYSTEMとしてsqlplusにログインするときに、「AS SYSDBA」を含めないと、無効なユーザー名/パスワードエラーでログインが失敗するのはなぜですか?

C:\Windows\System32>sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Mon Dec 16 01:00:13 2013

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

SQL> conn system/password
ERROR: ORA-01017: invalid username/password; logon denied


SQL> conn system/password as sysdba
Connected.
SQL>

ローカルで実行する必要があるスクリプトがあります。このスクリプトは他のマシンでも問題なく実行されますが、上記のエラーで失敗します。

1
BamaPookie

ユーザーシステムとしてログインしていないため。 conn system/passwordをsysdbaとして実行すると、Oracleはユーザーとパスワードをチェックしません(-> dbが実行されているローカルシステムから)。システム/パスワードをsysdbaとして入力し、「show user」を実行すると、ユーザー「SYS」としてログインしていることがわかります。したがって、conn system/passwordを実行するときに実際に間違ったパスワードを入力している場合、Oracleは嘘をつきません。

詳細については http://docs.Oracle.com/cd/B28359_01/server.111/b28310/dba006.htm#ADMIN11046 を確認してください。私があなたに言ったことはすべてではありませんので。

6
Munchi