(AI总结版)完整操作流程:从零配置 Oracle 21c XE 开发环境(安装 CO 示例、安装 SCOTT 教学示例)

本文详细介绍了Oracle21cXE开发环境的完整配置流程,包括五个关键阶段:

  1. 准备工作确认环境信息;
  2. 连接数据库并创建表空间和用户;
  3. 导入100万行测试数据;
  4. 安装CO现代业务示例模式;
  5. 安装SCOTT经典教学示例。

每个步骤都提供了具体的SQL命令和验证方法,并标注了常见错误及解决方法。


最终在SQLDeveloper中配置了三个连接:大数据开发(BIGDATA_DEV)、CO示例和SCOTT教学,分别用于不同场景。


文档特别强调了路径设置、权限分配等关键细节,为开发者提供了从零开始搭建Oracle开发环境的完整指南。


📋 完整操作流程:从零配置 Oracle 21c XE 开发环境


第一阶段:准备工作

1. 确认环境信息

  • Oracle 21c XE 已安装

  • PDB(可插拔数据库)名称:XEPDB1

  • SYSTEM 用户密码:安装时设置的密码

2. 打开终端(命令提示符)

  • Win + R,输入 cmd,回车

  • 注意:不是在 SQL Developer 的编辑器中,而是在 Windows 的命令提示符中操作


第二阶段:连接数据库并创建表空间和用户

3. 用 SYSTEM 连接到 PDB

cmd

复制代码
sqlplus system@localhost:1521/XEPDB1

输入 SYSTEM 密码,看到 SQL> 提示符表示成功。

4. 创建表空间(用于大数据开发用户)

sql

复制代码
CREATE TABLESPACE bigdata_ts 
DATAFILE 'D:\APPDATA\DATABASE\ORADATA\XE\XEPDB1\bigdata01.dbf' 
SIZE 500M 
AUTOEXTEND ON NEXT 100M;

注意 :路径需根据实际查询结果调整。可通过 SELECT name FROM v$datafile; 查看正确路径。

5. 创建 BIGDATA_DEV 用户并授权

sql

复制代码
CREATE USER bigdata_dev IDENTIFIED BY dev123 DEFAULT TABLESPACE bigdata_ts QUOTA UNLIMITED ON bigdata_ts;
GRANT CONNECT, RESOURCE, CREATE SESSION, CREATE TABLE TO bigdata_dev;

6. 验证 BIGDATA_DEV 连接

cmd

复制代码
sqlplus bigdata_dev/dev123@localhost:1521/XEPDB1

第三阶段:导入测试数据(100万行)

7. 在 BIGDATA_DEV 用户下创建 ORDERS 表并插入数据

sql

复制代码
CREATE TABLE orders (
    order_id     NUMBER PRIMARY KEY,
    customer_id  NUMBER,
    product_name VARCHAR2(100),
    order_amount NUMBER(10,2),
    order_date   DATE,
    status       VARCHAR2(20)
);

BEGIN
    FOR i IN 1..1000000 LOOP
        INSERT INTO orders VALUES (
            i,
            TRUNC(DBMS_RANDOM.VALUE(1, 10001)),
            'Product_' || TRUNC(DBMS_RANDOM.VALUE(1, 501)),
            ROUND(DBMS_RANDOM.VALUE(10, 5001), 2),
            SYSDATE - TRUNC(DBMS_RANDOM.VALUE(1, 366)),
            CASE TRUNC(DBMS_RANDOM.VALUE(1, 4))
                WHEN 1 THEN 'COMPLETED'
                WHEN 2 THEN 'PENDING'
                ELSE 'CANCELLED'
            END
        );
        IF MOD(i, 10000) = 0 THEN COMMIT; END IF;
    END LOOP;
    COMMIT;
END;
/

8. 验证数据

sql

复制代码
SELECT COUNT(*) FROM orders;  -- 应返回 1000000

第四阶段:安装 CO 示例模式(现代业务模型)

9. 下载并解压示例脚本

  • 从 GitHub 下载:https://github.com/oracle-samples/db-sample-schemas/releases/latest

  • 解压到纯英文路径,如 D:\sample\db-sample-schemas-23.3

10. 安装 CO 模式

cmd

复制代码
sqlplus system@localhost:1521/XEPDB1

sql

复制代码
CREATE TABLESPACE co_data 
DATAFILE 'D:\APPDATA\DATABASE\ORADATA\XE\XEPDB1\co_data01.dbf' 
SIZE 500M 
AUTOEXTEND ON NEXT 100M;

切换到脚本目录(在 SQL*Plus 中):

sql

复制代码
host cd /d D:\sample\db-sample-schemas-23.3\customer_orders
@co_install.sql

按提示输入:

  • CO 用户密码:co123

  • 默认表空间:co_data

  • 临时表空间:TEMP

11. 验证 CO 模式

cmd

复制代码
sqlplus co/co123@localhost:1521/XEPDB1

sql

复制代码
SELECT table_name FROM user_tables;  -- 应显示 7 张表

第五阶段:安装 SCOTT 教学示例(经典 EMP/DEPT)

12. 手动创建 SCOTT 用户并导入数据

cmd

复制代码
sqlplus system@localhost:1521/XEPDB1

sql

复制代码
-- 删除已存在的 SCOTT 用户(如果有)
DROP USER scott CASCADE;

-- 创建 SCOTT 用户
CREATE USER scott IDENTIFIED BY tiger;
GRANT CONNECT, RESOURCE, CREATE SESSION, CREATE TABLE, UNLIMITED TABLESPACE TO scott;
ALTER USER scott ACCOUNT UNLOCK;

-- 退出并重新用 SCOTT 登录
EXIT

cmd

复制代码
sqlplus scott/tiger@localhost:1521/XEPDB1

13. 创建表和插入数据

sql

复制代码
CREATE TABLE DEPT (
    DEPTNO NUMBER(2) PRIMARY KEY,
    DNAME VARCHAR2(14),
    LOC VARCHAR2(13)
);

CREATE TABLE EMP (
    EMPNO NUMBER(4) PRIMARY KEY,
    ENAME VARCHAR2(10),
    JOB VARCHAR2(9),
    MGR NUMBER(4),
    HIREDATE DATE,
    SAL NUMBER(7,2),
    COMM NUMBER(7,2),
    DEPTNO NUMBER(2) REFERENCES DEPT(DEPTNO)
);

-- 插入 DEPT 数据
INSERT INTO DEPT VALUES (10, 'ACCOUNTING', 'NEW YORK');
INSERT INTO DEPT VALUES (20, 'RESEARCH', 'DALLAS');
INSERT INTO DEPT VALUES (30, 'SALES', 'CHICAGO');
INSERT INTO DEPT VALUES (40, 'OPERATIONS', 'BOSTON');

-- 插入 EMP 数据
INSERT INTO EMP VALUES (7369, 'SMITH', 'CLERK', 7902, TO_DATE('1980-12-17', 'YYYY-MM-DD'), 800, NULL, 20);
INSERT INTO EMP VALUES (7499, 'ALLEN', 'SALESMAN', 7698, TO_DATE('1981-02-20', 'YYYY-MM-DD'), 1600, 300, 30);
INSERT INTO EMP VALUES (7521, 'WARD', 'SALESMAN', 7698, TO_DATE('1981-02-22', 'YYYY-MM-DD'), 1250, 500, 30);
INSERT INTO EMP VALUES (7566, 'JONES', 'MANAGER', 7839, TO_DATE('1981-04-02', 'YYYY-MM-DD'), 2975, NULL, 20);
INSERT INTO EMP VALUES (7654, 'MARTIN', 'SALESMAN', 7698, TO_DATE('1981-09-28', 'YYYY-MM-DD'), 1250, 1400, 30);
INSERT INTO EMP VALUES (7698, 'BLAKE', 'MANAGER', 7839, TO_DATE('1981-05-01', 'YYYY-MM-DD'), 2850, NULL, 30);
INSERT INTO EMP VALUES (7782, 'CLARK', 'MANAGER', 7839, TO_DATE('1981-06-09', 'YYYY-MM-DD'), 2450, NULL, 10);
INSERT INTO EMP VALUES (7788, 'SCOTT', 'ANALYST', 7566, TO_DATE('1987-07-13', 'YYYY-MM-DD'), 3000, NULL, 20);
INSERT INTO EMP VALUES (7839, 'KING', 'PRESIDENT', NULL, TO_DATE('1981-11-17', 'YYYY-MM-DD'), 5000, NULL, 10);
INSERT INTO EMP VALUES (7844, 'TURNER', 'SALESMAN', 7698, TO_DATE('1981-09-08', 'YYYY-MM-DD'), 1500, 0, 30);
INSERT INTO EMP VALUES (7876, 'ADAMS', 'CLERK', 7788, TO_DATE('1987-07-13', 'YYYY-MM-DD'), 1100, NULL, 20);
INSERT INTO EMP VALUES (7900, 'JAMES', 'CLERK', 7698, TO_DATE('1981-12-03', 'YYYY-MM-DD'), 950, NULL, 30);
INSERT INTO EMP VALUES (7902, 'FORD', 'ANALYST', 7566, TO_DATE('1981-12-03', 'YYYY-MM-DD'), 3000, NULL, 20);
INSERT INTO EMP VALUES (7934, 'MILLER', 'CLERK', 7782, TO_DATE('1982-01-23', 'YYYY-MM-DD'), 1300, NULL, 10);

-- 创建 SALGRADE 表
CREATE TABLE SALGRADE (GRADE NUMBER, LOSAL NUMBER, HISAL NUMBER);
INSERT INTO SALGRADE VALUES (1, 700, 1200);
INSERT INTO SALGRADE VALUES (2, 1201, 1400);
INSERT INTO SALGRADE VALUES (3, 1401, 2000);
INSERT INTO SALGRADE VALUES (4, 2001, 3000);
INSERT INTO SALGRADE VALUES (5, 3001, 9999);

-- 创建 BONUS 表
CREATE TABLE BONUS (ENAME VARCHAR2(10), JOB VARCHAR2(9), SAL NUMBER, COMM NUMBER);

COMMIT;

14. 验证 SCOTT 用户

sql

复制代码
SELECT COUNT(*) FROM EMP;   -- 应返回 14
SELECT COUNT(*) FROM DEPT;  -- 应返回 4

第六阶段:在 SQL Developer 中配置连接

15. 新建三个连接

连接名 用户名 密码 服务名
大数据开发 bigdata_dev dev123 XEPDB1
CO示例 co co123 XEPDB1
SCOTT教学 scott tiger XEPDB1

📊 最终环境总览

用户 表/数据量 用途
BIGDATA_DEV ORDERS(100万行) 大数据量性能测试
CO 7张关联表(数千行) 现代业务模型练习
SCOTT EMP(14行)、DEPT(4行)等 跟着教学视频练习

💡 关键避坑点

问题 原因 解决方法
ORA-65096 在 CDB 中创建普通用户 切换到 PDB:ALTER SESSION SET CONTAINER = XEPDB1
ORA-00959 表空间不存在 数据文件路径错误 先用 SELECT name FROM v$datafile; 确认路径
ORA-00942 表不存在 CONNECT BY 权限问题 改用 PL/SQL 块插入数据
SP2-0310 无法打开文件 在 Windows 命令行而不是 SQL*Plus 中执行 确保提示符是 SQL>
ORA-01017 密码无效 SCOTT 用户未创建或密码错误 DROP USER scott CASCADE; 后重建

这份记录涵盖了从零开始配置 Oracle 21c XE 大数据开发环境的完整流程。

相关推荐
Han.miracle2 小时前
Spring Cloud + Nacos 环境切换与配置管理最佳实践
数据库·spring boot·spring cloud·maven
p@nd@2 小时前
DM删除用户后的不完全恢复测试
数据库·达梦数据库·备份还原·备份恢复
在屏幕前出油2 小时前
08. ORM——快速开始
数据库·后端·python·sql·pycharm·orm
lzhdim2 小时前
SQL 入门 11:日期时间格式化、IF、CASE的使用
数据库·sql
dishugj2 小时前
PSQL常见报错问题以及解决方案
数据库·postgresql
一个天蝎座 白勺 程序猿2 小时前
时序数据库选型从迷茫到清晰:国产DolphinDB凭什么成为大数据场景下的首选?
大数据·数据库·时序数据库
逝水流痕Summer2 小时前
PG触发器查询
数据库·postgresql
上海云盾-小余2 小时前
Web 业务常见 SQL 注入攻击原理详解及 WAF 防护部署实战教程
前端·数据库·sql
唐骁虎2 小时前
使用SQLAlchemy查询Pandas DataFrame
数据库·oracle·pandas