如何解決oracle 19c中創建用戶報錯的故障


背景:Oracle 19c 創建表用戶的時候,採用11g的語句會報一下錯誤。

ORA-01918: user 'BISTU_ODS' does not exist


原因:oracle從12c開始增加了增加了CDB和PDB的概念,數據庫引入的多租用戶環境(Multitenant Environment)中,允許一個數據庫容器(CDB)承載多個可插拔數據庫(PDB)。CDB全稱為Container Database,中文翻譯為數據庫容器,PDB全稱為Pluggable Database,即可插拔數據庫。在ORACLE 12C之前,實例與數據庫是一對一或多對一關係(RAC):即一個實例只能與一個數據庫相關聯,數據庫可以被多個實例所加載。而實例與數據庫不可能是一對多的關係。當進入ORACLE 12C後,實例與數據庫可以是一對多的關係。下面是官方文檔關於CDB與PDB的關係圖。

如何解決oracle 19c中創建用戶報錯的故障


解決辦法:


1、 用sys用戶登錄數據庫


2、 show con_name

如何解決oracle 19c中創建用戶報錯的故障

3、 執行select name,open_mode from v$pdbs;

如何解決oracle 19c中創建用戶報錯的故障

4、 alter session set container=LHRPDB2;

如何解決oracle 19c中創建用戶報錯的故障

5、 創建臨時表空間

create temporary tablespace 臨時表空間名稱 tempfile '臨時表空間存儲路徑' size 50m autoextend on next 50m maxsize 20480m extent management local;


6、 創建表空間

create tablespace 表空間名稱 logging datafile '數據存儲路徑' size 50m

autoextend on next 50m maxsize 20480m extent management local;

7、 創建用戶並指定表空間

create user 用戶名 identified by 密碼 default tablespace 表空間名稱 temporary tablespace 臨時表空間名稱;

8、 給用戶授權

grant connect,resource,dba to 用戶名;

9、 可以用新創建的用戶進行連接了

Username :用戶名

Password :密碼

Database:ip:端口/lhrpdb2

如何解決oracle 19c中創建用戶報錯的故障


分享到:


相關文章: