Oracle数据库创建本地用户、授予权限、创建表并
admin 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;
