做旅游網(wǎng)站教程如何進行新產(chǎn)品的推廣
博文目錄
文章目錄
- 說明
- 命令
- Navicat
- SYSTEM
- PDBADMIN
- 擴展
- 公共用戶
- 本地用戶
說明
Oracle 官方鏡像倉庫
Database 23ai Free | Oracle
Docker 官方?jīng)]有提供 Oracle Database 相關(guān)鏡像, 但是 Oracle 官方鏡像倉庫有提供, 打開上面的鏈接, 選擇 Database, 選擇合適的版本, 如 enterprise, express 和 free, 這里以 free 為例. Free 分為 FULL 和 LITE 兩個版本, 這里以 LITE 為例
Oracle Database Free 有使用限制, 前臺進程最多 2 個 CPU, 2 GB RAM 和 12 GB 用戶數(shù)據(jù)(硬盤)
Oracle Database 23ai Free offers the ability to experience Oracle Database, which businesses throughout the world rely on for their mission-critical workloads. The resource limits for Oracle Database Free are up to 2 CPUs for foreground processes, 2 GB of RAM and 12 GB of user data on disk. It is packaged for ease of use and simple download.
數(shù)據(jù)卷 | 數(shù)據(jù)卷印射在容器內(nèi)的路徑 |
---|---|
oracle | /opt/oracle/oradata |
容器內(nèi)的路徑 | 說明 |
---|---|
/opt/oracle/oradata | 數(shù)據(jù)目錄 |
/opt/oracle/scripts/startup | 數(shù)據(jù)庫啟動后要運行的自定義腳本目錄 |
命令
docker run -d --name oracle -p 1521:1521 -e TZ=Asia/Shanghai -e ORACLE_PWD=Mrv587.. -v oracle:/opt/oracle/oradata container-registry.oracle.com/database/free:23.4.0.0-lite
# 查看日志
docker logs oracle
# 跟蹤日志
docker logs -f oracle
docker logs --follow oracle
# 查看最后10條日志
docker logs --tail 10 oracle
# 查看最近10分鐘的日志
docker logs --since 10m oracle
# 進入容器并執(zhí)行 bash
docker exec -it oracle bash
# 退出容器
exit# 直接從主機進入客戶端
docker exec -it oracle sqlplus sys/Mrv587..@FREE as sysdba
docker exec -it oracle sqlplus system/Mrv587..@FREE
docker exec -it oracle sqlplus pdbadmin/Mrv587..@FREEPDB1# 創(chuàng)建公共用戶
# -- 以具有DBA權(quán)限的用戶連接到數(shù)據(jù)庫
CONNECT sys/password AS SYSDBA;
# -- 切換到根容器
ALTER SESSION SET CONTAINER = CDB$ROOT;
# -- 創(chuàng)建公共用戶
CREATE USER C##COMMON_USER IDENTIFIED BY password;
# -- 授予公共用戶權(quán)限
GRANT DBA TO C##COMMON_USER;# 創(chuàng)建本地用戶
# -- 以具有DBA權(quán)限的用戶連接到數(shù)據(jù)庫
CONNECT sys/password AS SYSDBA;
# -- 切換到目標(biāo) PDB,例如 freepdb1
ALTER SESSION SET CONTAINER = freepdb1;
# -- 創(chuàng)建本地用戶
CREATE USER LOCAL_USER IDENTIFIED BY password;
# -- 授予本地用戶權(quán)限
GRANT CONNECT, RESOURCE TO LOCAL_USER;
Navicat
SYSTEM
PDBADMIN
擴展
Oracle PDB(Pluggable Database,可插拔數(shù)據(jù)庫)是 Oracle Multitenant 架構(gòu)的一部分,這一架構(gòu)在 Oracle 12c 中引入。Multitenant 架構(gòu)允許一個單獨的容器數(shù)據(jù)庫(Container Database,CDB)容納多個獨立的 PDB。每個 PDB 可以被認(rèn)為是一個完全獨立的數(shù)據(jù)庫實例,具有自己的數(shù)據(jù)文件、系統(tǒng)表空間和用戶表空間。
在 Oracle Multitenant 架構(gòu)中,每個 PDB 都有一個默認(rèn)的管理賬戶,通常命名為 PDBADMIN。這個賬戶類似于單實例 Oracle 數(shù)據(jù)庫中的 SYSTEM 用戶,但它的權(quán)限范圍僅限于 PDB 本身。
在 Oracle 12c 及其后的版本中,引入了多租戶架構(gòu),支持容器數(shù)據(jù)庫(CDB)和可插拔數(shù)據(jù)庫(PDB)。在這種架構(gòu)中,用戶可以分為公共用戶(Common Users)和本地用戶(Local Users)。這兩種用戶類型有不同的特性和用途。
- 公共用戶(Common Users):在整個 CDB 中具有統(tǒng)一身份,必須以 C## 開頭,管理范圍覆蓋所有 PDB,適用于全局性管理和操作。
- 本地用戶(Local Users):僅存在于特定 PDB 中,沒有命名規(guī)則限制,管理范圍僅限各自 PDB,適用于特定應(yīng)用或業(yè)務(wù)需求。
公共用戶
- 公共用戶是一個在 CDB 的根容器(CDB$ROOT)和所有 PDB 中都存在的用戶。這個用戶在創(chuàng)建時自動存在于每個 PDB 中。
- 公共用戶的名稱必須以 C## 或 c## 開頭。例如:C##ADMIN。
- 公共用戶在 CDB 和所有 PDB 中具有統(tǒng)一的身份。創(chuàng)建、修改或刪除公共用戶時,這些操作會自動應(yīng)用到 CDB 和所有 PDB。
- 公共用戶通常用于管理和維護整個 CDB。例如,DBA 可能會創(chuàng)建一個公共用戶來管理所有 PDB 中的資源或執(zhí)行全局性操作。
本地用戶
- 本地用戶是只存在于特定 PDB 中的用戶。每個 PDB 可以有自己的本地用戶,這些用戶只能在各自的 PDB 中操作。
- 本地用戶的名稱沒有特殊的命名規(guī)則限制,可以是任何合法的 Oracle 用戶名(不需要以 C## 開頭)。
- 本地用戶只能在創(chuàng)建它的 PDB 中存在和操作。本地用戶無法訪問其他 PDB,也不能在根容器(CDB$ROOT)中存在。
- 本地用戶通常用于特定應(yīng)用程序或業(yè)務(wù)單元,只需要訪問和操作一個特定 PDB 中的數(shù)據(jù)。