做旅游網(wǎng)站教程如何進(jìn)行新產(chǎn)品的推廣
博文目錄
文章目錄
- 說(shuō)明
- 命令
- Navicat
- SYSTEM
- PDBADMIN
- 擴(kuò)展
- 公共用戶
- 本地用戶
說(shuō)明
Oracle 官方鏡像倉(cāng)庫(kù)
Database 23ai Free | Oracle
Docker 官方?jīng)]有提供 Oracle Database 相關(guān)鏡像, 但是 Oracle 官方鏡像倉(cāng)庫(kù)有提供, 打開(kāi)上面的鏈接, 選擇 Database, 選擇合適的版本, 如 enterprise, express 和 free, 這里以 free 為例. Free 分為 FULL 和 LITE 兩個(gè)版本, 這里以 LITE 為例
Oracle Database Free 有使用限制, 前臺(tái)進(jìn)程最多 2 個(gè) CPU, 2 GB RAM 和 12 GB 用戶數(shù)據(jù)(硬盤(pán))
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)的路徑 | 說(shuō)明 |
---|---|
/opt/oracle/oradata | 數(shù)據(jù)目錄 |
/opt/oracle/scripts/startup | 數(shù)據(jù)庫(kù)啟動(dòng)后要運(yùn)行的自定義腳本目錄 |
命令
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
# 進(jìn)入容器并執(zhí)行 bash
docker exec -it oracle bash
# 退出容器
exit# 直接從主機(jī)進(jìn)入客戶端
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ù)庫(kù)
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ù)庫(kù)
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
擴(kuò)展
Oracle PDB(Pluggable Database,可插拔數(shù)據(jù)庫(kù))是 Oracle Multitenant 架構(gòu)的一部分,這一架構(gòu)在 Oracle 12c 中引入。Multitenant 架構(gòu)允許一個(gè)單獨(dú)的容器數(shù)據(jù)庫(kù)(Container Database,CDB)容納多個(gè)獨(dú)立的 PDB。每個(gè) PDB 可以被認(rèn)為是一個(gè)完全獨(dú)立的數(shù)據(jù)庫(kù)實(shí)例,具有自己的數(shù)據(jù)文件、系統(tǒng)表空間和用戶表空間。
在 Oracle Multitenant 架構(gòu)中,每個(gè) PDB 都有一個(gè)默認(rèn)的管理賬戶,通常命名為 PDBADMIN。這個(gè)賬戶類(lèi)似于單實(shí)例 Oracle 數(shù)據(jù)庫(kù)中的 SYSTEM 用戶,但它的權(quán)限范圍僅限于 PDB 本身。
在 Oracle 12c 及其后的版本中,引入了多租戶架構(gòu),支持容器數(shù)據(jù)庫(kù)(CDB)和可插拔數(shù)據(jù)庫(kù)(PDB)。在這種架構(gòu)中,用戶可以分為公共用戶(Common Users)和本地用戶(Local Users)。這兩種用戶類(lèi)型有不同的特性和用途。
- 公共用戶(Common Users):在整個(gè) CDB 中具有統(tǒng)一身份,必須以 C## 開(kāi)頭,管理范圍覆蓋所有 PDB,適用于全局性管理和操作。
- 本地用戶(Local Users):僅存在于特定 PDB 中,沒(méi)有命名規(guī)則限制,管理范圍僅限各自 PDB,適用于特定應(yīng)用或業(yè)務(wù)需求。
公共用戶
- 公共用戶是一個(gè)在 CDB 的根容器(CDB$ROOT)和所有 PDB 中都存在的用戶。這個(gè)用戶在創(chuàng)建時(shí)自動(dòng)存在于每個(gè) PDB 中。
- 公共用戶的名稱(chēng)必須以 C## 或 c## 開(kāi)頭。例如:C##ADMIN。
- 公共用戶在 CDB 和所有 PDB 中具有統(tǒng)一的身份。創(chuàng)建、修改或刪除公共用戶時(shí),這些操作會(huì)自動(dòng)應(yīng)用到 CDB 和所有 PDB。
- 公共用戶通常用于管理和維護(hù)整個(gè) CDB。例如,DBA 可能會(huì)創(chuàng)建一個(gè)公共用戶來(lái)管理所有 PDB 中的資源或執(zhí)行全局性操作。
本地用戶
- 本地用戶是只存在于特定 PDB 中的用戶。每個(gè) PDB 可以有自己的本地用戶,這些用戶只能在各自的 PDB 中操作。
- 本地用戶的名稱(chēng)沒(méi)有特殊的命名規(guī)則限制,可以是任何合法的 Oracle 用戶名(不需要以 C## 開(kāi)頭)。
- 本地用戶只能在創(chuàng)建它的 PDB 中存在和操作。本地用戶無(wú)法訪問(wèn)其他 PDB,也不能在根容器(CDB$ROOT)中存在。
- 本地用戶通常用于特定應(yīng)用程序或業(yè)務(wù)單元,只需要訪問(wèn)和操作一個(gè)特定 PDB 中的數(shù)據(jù)。