惊雷无声 发表于 2025-4-17 07:18:23

Oracle 创建当地用户,授予权限,创建表并插入数据

一. 用户的种类

⏹在 Oracle 多租户架构中(从 Oracle 12c 开始),用户分为


[*]普通用户(Common User)

[*]用户的名称必须以 C## 开头,在CDB中创建
[*]适用于管理员用户,用户管理CDB下的多个PDB

[*]当地用户(Local User)

[*]用户的名称无需以 C## 开头,在PDB中创建
[*]更适合应用开辟和租户管理
[*]我们平常开辟时用的多是当地用户

⏹数据库刚被安装后,并没有当地用户,我们必要通过system用户登录Oracle之后,创建当地用户。
二. 切换session为PDB

⏹SHOW CON_NAME;:显示当前会话所连接的容器名称


[*]在包含 CDB(容器数据库)和 PDB(可插拔数据库)的环境中,显示会话所连接的容器的名称。
[*]容器可以是根容器(CDB$ROOT)、种子数据库(PDB$SEED)或某个详细的 PDB。
apluser@ubuntu24-01:~$ sqlplus system/oracle@192.168.118.137/XE

SQL*Plus: Release 21.0.0.0.0 - Production on Wed Jan 1 09:00:28 2025
Version 21.16.0.0.0

Copyright (c) 1982, 2022, Oracle.All rights reserved.

Last Successful login time: Tue Dec 31 2024 23:15:56 +09:00

Connected to:
Oracle Database 21c Express Edition Release 21.0.0.0.0 - Production
Version 21.3.0.0.0

SQL>
SQL> SHOW CON_NAME;

CON_NAME
------------------------------
CDB$ROOT
SQL>
⏹查看数据库中所有的PDB


[*]SELECT PDB_ID, PDB_NAME, STATUS FROM DBA_PDBS;
[*]SELECT NAME FROM V$PDBS;
-- 方式1
SQL> SELECT PDB_ID, PDB_NAME, STATUS FROM DBA_PDBS;

PDB_ID PDB_NAME   STATUS
------- ---------- ----------
      3 XEPDB1   NORMAL
      2 PDB$SEED   NORMAL
      
-- 方式2
SQL> SELECT NAME FROM V$PDBS;

NAME
--------------
PDB$SEED
XEPDB1
⏹切换当前用户的session为PDB


[*]ALTER SESSION SET CONTAINER = XEPDB1;
[*]
页: [1]
查看完整版本: Oracle 创建当地用户,授予权限,创建表并插入数据