欢迎投稿

今日深度:

Oracle数据库创建本地用户、授予权限、创建表并插入数据实例代码,

Oracle数据库创建本地用户、授予权限、创建表并插入数据实例代码,


目录
  • 一. 用户的种类
  • 二. 切换session为PDB
  • 三. 创建用户并授予权限
  • 四. 创建表空间
  • 五. 为用户分配默认表空间并指定表空间配额
  • 六. 通过创建的用户进行登录
  • 七. 创建脚本,简化登录
  • 八. 查看用户信息
    • 8.1 无需DAB用户
    • 8.2 需要DAB用户
  • 九. 创建表,并插入数据
    • 9.1 查看当前用户的schema
    • 9.2 插入数据
    • 9.3 查看
  • 总结 

    一. 用户的种类

    ⏹在 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
    

    ⏹切换当前用户的sessionPDB

    评论暂时关闭