如何創建新的 Oracle 架構?
我對一般的關係 DBMS 非常熟悉,但對 Oracle 不熟悉。我在 Docker 中執行了 Oracle 18c XE(在 MacOS 上)。我使用第三方客戶端(MacOS 上的 SQLPro Studio)連接到它。現在我想開始。
如果這是 MySQL,我可以發布
CREATE DATABASE whatever; USE whatever;
並繼續處理這些表。與 Microsoft SQL Server 相同,與 PostgreSQL 類似。我還可以創建一個額外的模式以保持更好的組織性。我收集 Oracle XE 只為您提供一個數據庫,我想創建一個合適的模式。在這一點上,我在海上。我收集到我需要創建一個與模式關聯的新使用者。
我也知道不同的 RDBMS 對什麼是數據庫或模式有不同的想法,所以我不確定這是否是正確的定義或解決方案。
我在客戶端中創建新使用者或新模式都沒有成功。
我試過了:
CREATE USER fred IDENTIFIED BY 'h3art0fg0ld`;
但我收到消息:
無效的普通使用者或角色名稱
我還讀到我應該使用類似的東西
c##fred
,它確實有效,但是(a)我真的不知道這意味著什麼,並且(b)該語句GRANT connect, resource, create sessions TO c##printsdb;
給了我“缺少或無效特權”的資訊,所以我沒有進一步先。在 Docker 容器中,我不知道我是否可以訪問一些線上教程假定的 SQL*Plus。
如何創建和使用模式,或者包含表集合所需的任何東西?
我認為 Oracle XE 只為您提供了一個數據庫
正確-只要您“說”Oracle-ese。
容器數據庫是您擁有的唯一“真實”Oracle 數據庫實例。
其中的“可插拔數據庫”本質上是“類固醇上的表空間”,但具有更好的安全性,現在可以保證彼此之間的隔離。
對於大多數正常操作,您應該完全忽略容器數據庫。
只需在其中使用/a Pluggable Database。
如何創建和使用模式,或者包含表集合所需的任何東西?
CREATE USER fred IDENTIFIED BY ‘********’;
連接到可插入數據庫,您的語句將完全按照您的預期工作。