Oracle21c数据库普通用户创建及授权,建表,创建存储过程、序列、触发器

一、Oracle数据库错误 ORA-65096

表示你尝试在多租户容器数据库(CDB)环境中创建一个公共用户(common user)或角色,但没有使用正确的前缀。在多租户架构中,公共用户的用户名必须以 C##c## 开头。

若想在CDB创建用户,用如下代码:

前提是先登录进sys系统账户中

但是,如果你的意图是在特定的可插拔数据库(PDB)中创建一个局部用户(local user),你不应该使用 C##c## 前缀。你可能直接在CDB环境中而不是在特定的PDB中尝试执行该命令。

为了在PDB中创建一个用户,你需要确保首先连接到了正确的PDB。以下是在PDB中创建用户的步骤:

1.连接到目标PDB: 如果你使用的是 SQL*Plus 或类似的工具,你可以使用以下命令连接到目标PDB:

sqlplus

conn sys/orcl as sysdba;

alter session set container=<pdbname>;

这里的 sys 是你的系统管理员账户,而 pdb_name 是你的可插拔数据库的名字,一般是ORCLPDB。

2.检查当前的容器: 一旦连接,你可以运行以下命令来确认你当前连接的是哪个容器:

SHOW CON_NAME;

如果你还没在PDB中,你需要切换到目标PDB。使用:

ALTER SESSION SET CONTAINER = pdb_name;

替换 pdb_name 为你的目标PDB名称。

3.创建用户: 一旦确定你在正确的PDB中,使用以下命令创建用户,注意不要使用 C##c## 前缀:

CREATE USER fxy IDENTIFIED BY "123456";

在这里,fxy 是新用户的用户名,"123456" 是用户的密码。

授予权限: 创建用户后,你需要给用户授予最起码的权限,比如 CREATE SESSION,以便用户可以登录:

GRANT CREATE SESSION TO fxy;

 二、建表

--员工表

create table emp 
(
   empno              NUMBER(20)           not null,
   dpetno             NUMBER(20),
   ename              VARCHAR2(20),
   user_id            NUMBER(20)           not null,
   birthdate          DATE,
   gender             VARCHAR2(20),
   job                VARCHAR2(10),
   hiredate           DATE,
   sal                NUMBER,
   comm               NUMBER,
   mgr                NUMBER(20),
   constraint PK_EMP primary key (empno)
);


--部门表

create table dept (
   dpetno             NUMBER(20)           NOT NULL,
   dname              VARCHAR2(20)         NOT NULL,
   loc                VARCHAR2(20)
);

三、Oracle21C创建存储过程、序列、触发器

1. -- 存储过程

--获取部门人数

CREATE OR REPLACE PROCEDURE get_department_employee_count(
    department_id IN NUMBER,
    employee_count OUT NUMBER
)
IS
BEGIN
    -- Initialize the OUT parameter
    employee_count := 0;

    -- Attempt to get the employee count
    BEGIN
        SELECT COUNT(*) INTO employee_count FROM employee WHERE deptno = department_id;
    EXCEPTION
        -- Handle the NO_DATA_FOUND exception
        WHEN NO_DATA_FOUND THEN
            DBMS_OUTPUT.PUT_LINE('No employees found for the specified department.');
        -- Handle other exceptions as needed
        WHEN OTHERS THEN
            DBMS_OUTPUT.PUT_LINE('An error occurred: ' || SQLERRM);
    END;
END;
/

-- 调用
DECLARE
    v_employee_count NUMBER;
BEGIN
    get_department_employee_count(department_id => 1, employee_count => v_employee_count);
    DBMS_OUTPUT.PUT_LINE('Employee Count: ' || v_employee_count);
END;
/

-- 查询主管姓名
SELECT
            e.empno,
            e.ename,
            e.birthdate,
            e.gender,
            e.position,
            e.hiredate,
            e.id,
            e.sal,
            e.comm,
            e.deptno,
            s.ename AS supervisorName
        FROM
            employee e
                LEFT JOIN
            employee s ON e.id = s.empno


2. -- 序列


CREATE SEQUENCE emp_seq START WITH 1 INCREMENT BY 1 NOCACHE;

CREATE SEQUENCE dept_seq START WITH 1 INCREMENT BY 1 NOCACHE;

CREATE SEQUENCE user_seq START WITH 1 INCREMENT BY 1 NOCACHE;

drop sequence emp_seq;
drop sequence dept_seq;

3. -- 触发器

CREATE OR REPLACE TRIGGER delete_department_employees
BEFORE DELETE ON department
FOR EACH ROW
DECLARE
BEGIN
    -- 在删除部门之前,将部门中的员工转移到其他部门(例如,部门号为 0)
    UPDATE employee SET deptno = 0 WHERE deptno = :OLD.deptno;
END;
/

四、idea如何连接Oracle数据库 

yml文件中写入

spring:
  datasource:
    type: oracle.ucp.jdbc.PoolDataSourceImpl
    driver-class-name: oracle.jdbc.driver.OracleDriver
    url: jdbc:oracle:thin:@localhost:1521:ORCL
    username: 用户名
    password: 密码

创作不易,点个关注再走呗 

  • 18
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在Windows10系统中,安装Oracle21c数据库并进行配置可以按照以下步骤进行: 1. 首先,确保你已经下载了Oracle21c的安装文件,并解压缩到一个目录中。 2. 打开解压缩后的目录,在其中找到“setup.exe”文件,并运行该文件。 3. 选择“单击此处以安装数据库”,然后点击“下一步”。 4. 在“选择安装选项”页面上,选择“创建和配置数据库”,然后点击“下一步”。 5. 在“系统类别”页面上,选择“服务器类”以便安装完整的数据库软件。 6. 在“数据库类型”页面上,选择“单实例数据库安装”,然后点击“下一步”。 7. 在“软件位置”页面上,选择你想要安装Oracle软件的目录,并点击“下一步”。 8. 在“数据库配置”页面上,选择“创建数据库”选项,并填写数据库的名称、字符集、管理员密码等信息。 9. 接下来,你可以选择数据库的存储选项、网络配置选项以及其他高级选项。根据你的需求进行选择,并点击“下一步”。 10. 在“配置操作系统组”页面上,你可以选择是否将数据库用户添加到操作系统组中。根据需要进行选择,并点击“下一步”。 11. 在“安装选项”页面上,选择你想要安装的组件和语言,并点击“下一步”。 12. 在“检查”页面上,系统会自动检查系统环境是否满足安装要求。如果没有问题,点击“下一步”。 13. 在“摘要”页面上,确认你的安装选项,并点击“安装”按钮。 14. 安装过程需要一些时间,请耐心等待。 15. 当安装完成后,点击“关闭”按钮。 至此,Oracle21c数据库的安装和配置完成了。你可以根据需要进行进一步的优化和配置,例如配置环境变量、优化服务等。同时,如果你想要卸载Oracle21c数据库,可以参考先前提到的中的方法或者在控制面板中使用卸载程序进行卸载。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

茶色岛^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值