我無法登錄剛剛在 PDB 中創建的使用者
剛剛安裝了 Oracle 12c 客戶端和伺服器(在同一台機器上),所以請多多包涵,因為我對此很陌生。它處於多租戶模式。
所以我去了伺服器的 BIN 目錄並執行
sqlplus / as sysdba
. SID 是TESTDB
,看著show pdbs;
我可以看到有一個名為 BPDB1 的 PDB。所以我切換到它並用它alter session set container = BPDB1
打開它alter database open
。現在我創建了一個CREATE USER testtest IDENTIFIED BY password
似乎可以使用的使用者。之後,我想我可以使用
sqlplus testtest/password
. 但這只是給了我ORA-01017 invalid username/password; login denied
。我想知道這是否是因為客戶端不知道要連接到哪個 PDB?我該怎麼說呢?
順便說一句,不確定這是否相關,但我嘗試設置
ORACLE_HOME
為客戶端安裝的根目錄,但如果每次嘗試啟動時都會出現其他錯誤sqlplus
。它暗示ORACLE_HOME
設置不正確,所以我只是取消設置該變數以繼續。
sqlplus testtest/password
您正在使用使用者不存在的地方連接到根容器。相反,您可以使用EZConnect或創建一個 TNS 名稱來連接到 PDB。
範例:
易連接
[oracle@host ~]$ sqlplus testtest@hostname:port/bpdb1
TNS 名稱
首先,找出PDB的服務名稱,其中一種方法如下所示。
[oracle@host ~]$ lsnrctl status listener_name Service "orclpdb" has 1 instance(s). Instance "oracdbuat", status READY, has 1 handler(s) for this service...
在我的情況下,它是
orclpdb
. 去$ORACLE_HOME/network/admin
。編輯/創建tnsnames.ora
文件以添加類似的條目,如下所示。ORCLPDB = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orclpdb) ) )
現在,我可以使用 TNS 名稱連接到 PDB。
[oracle@host ~]$ sqlplus testtest@orclpdb
這個執行緒有點晚了,但也許它會幫助其他人。我遇到了一個問題:創建新使用者後我無法連接到數據庫。在掙扎了幾個小時後,我在連接選項卡上得到了“成功”。請在 SQL DEV 連接上嘗試此選項:
另外,我在 /network/admin 上添加了前面提到的@atokpas 的字元串(非常感謝)
另外,我把 sqlnet.ora: SQLNET.ALLOWED_LOGON_VERSION_CLIENT = 8
SQLNET.ALLOWED_LOGON_VERSION_SERVER = 8