Oracle

如何創建新的 Oracle 架構?

  • October 25, 2020

我對一般的關係 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 ‘********’;

連接到可插入數據庫,您的語句將完全按照您的預期工作。

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