Oracle-18c

如何連接到 PDB 中的模式(除了模式 SYS)?

  • April 30, 2020

在 RedHat Linux 8 上使用 Oracle 18c

以“SYS”連接到 CDB,我無法弄清楚如何連接到 PDB 中的模式,而不是“SYS”。也許我對 CDB/PDB 架構的理解不夠好。

以下是我在以“SYS”身份登錄 Oracle 18c CDB 後嘗試的操作(使用sqlplus sys as sysdba):

ALTER SESSION SET CONTAINER= PDB;
conn myschema/mypasswd

我也嘗試過(來自 CDB)

conn myschema/mypasswd@PDB;

這兩種方法都無法讓我連接到myschemaPDB 中的模式。也就是說,我仍然是 PDB 中的“SYS”。

關於如何解決這個問題有什麼建議/解釋嗎?我是否必須為模式設置某種從 CDB 到 PDB 的訪問myschema

結果發現文件中存在拼寫錯誤tnsnames.ora- HOSTip 地址欄位對於相關係統無效。下面的範例(出於安全原因,值已匿名

PDB =
 (DESCRIPTION =
   (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.1.11)(PORT = 1555))
   (CONNECT_DATA =
     (SERVER = DEDICATED)
     (SERVICE_NAME = PDB)
   )
 )

該文件可能是從另一台伺服器(作為模板)複製的,並且HOSTip 從未更新。

鑑於上述情況,正確的連接方式是:

conn myschema/mypasswd@PDB;

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