Oracle

我無法登錄剛剛在 PDB 中創建的使用者

  • January 30, 2022

剛剛安裝了 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

引用自:https://dba.stackexchange.com/questions/196780