- ベストアンサー
Oracle12cでユーザのSQLPLUSログイン
- Oracle 12cを初めて使う際のユーザのログイン方法と、PDB上でのユーザへのログイン方法について教えてください
- Oracle 12cでユーザを作成し、PDB上でテーブルを作成する方法について教えてください
- Oracle 12cでテーブル作成のスクリプトを実行する方法について教えてください
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちわ。 > ORA-01017: ユーザー名/パスワードが無効です。ログオンは拒否されました。 上のtnsnames.ora の設定は、CDB に接続するためのものです。 新しい接続文字列で、SERVICE_NAME にPDB名を指定したものを作成して 試してみて下さい。
その他の回答 (2)
- muyoshid
- ベストアンサー率72% (230/318)
こんにちわ。 > 上記のPDB1 = のところから追記しています。これで合っていますでしょうか? VMware 上のLinux 環境に、Oracle12c をセットアップした環境があるので 確認してみました。 特にtnsnames.ora の設定は問題無いようです。 接続文字列を指定してSQL*Plus を実行した時のエラーも、ORA-1017 でしょうか? であれば、PDB に作成したユーザのパスワードが違っている事が考えられます。 Oracle11g 以降では、sec_case_sensitive_logon がDefault でTrue となっています。 このパラメータがTrue に設定されていると、パスワードの大文字/小文字を厳密に区別します。 ユーザのパスワードを再設定して確認してみてはどうでしょうか?
お礼
すみません。 一回Oracleをシャットダウンした場合、CDBを起動後に(自分で自動起動にしておかない限り)PDBを起動しないと、マウント状態のままでした。大変失礼しました。 起動後に接続を試したところ、問題なく接続できました。ちなみに大文字、小文字のどちらでも成功しました。 C:\Users\Test> sqlplus user1/user1@PDB1 C:\Users\Test> sqlplus user1/user1@pdb1 有難うございました。
- muyoshid
- ベストアンサー率72% (230/318)
こんにちわ。 > PDBやCDBへのログイン方法はわかたのですが、PDB上で作成したユーザにはどのようにしてログインするのでしょうか? tnsnames.ora に接続文字列を書いてSQL*Net 経由で接続すれば、普通に接続できますょ。
補足
tnsnames.oraには既に接続文字列が以下のようにあるのですが、接続方法が間違っているのでしょうか? LISTENER_ORCL = (ADDRESS = (PROTOCOL = TCP)(HOST = myhost.myCo.com)(PORT = 1521)) ORACLR_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) (CONNECT_DATA = (SID = CLRExtProc) (PRESENTATION = RO) ) ) ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = myhos.myCo.com)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) ) この状態で、コマンドプロンプトを起動し、 C:\Users\Test> sqlplus user1/user1@ORCL と実行すると、 ERROR: ORA-01017: ユーザー名/パスワードが無効です。ログオンは拒否されました。 となります。user1はPDB上で作成したユーザです。パスワードもここではuser1としています。
お礼
すみません、tnsnames.oraに以下のように追記しました。 LISTENER_ORCL = (ADDRESS = (PROTOCOL = TCP)(HOST = myhost.myCo.com)(PORT = 1521)) ORACLR_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) (CONNECT_DATA = (SID = CLRExtProc) (PRESENTATION = RO) ) ) ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = myhos.myCo.com)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) ) PDB1 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = myhos.myCo.com)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = pdb1) ) ) 上記のPDB1 = のところから追記しています。これで合っていますでしょうか? 次に、どのようにしてSQLPlusで接続できるのでしょうか?コマンドプロンプトから C:\Users\Test> sqlplus user1/user1 C:\Users\Test> sqlplus user1/user1@PDB1 など試していますがエラーになります。。