本文介绍了在Windows环境下搭建Oracle大数据开发基础环境的完整流程分为4个阶段1切换到XEPDB1容器2创建开发用户bigdata_dev并授权3创建订单表并插入100万测试数据4执行4个典型分析SQL验证环境。关键步骤包括确认数据文件路径、创建表空间、配置用户权限并通过PL/SQL批量生成测试数据。完成所有步骤后即可进行SQL优化、PL/SQL编程等大数据开发练习。每个阶段都提供了验证标准确保环境配置正确。搭建大数据开发的基础环境从“SQL Developer安装好了Oracle 21c XE 数据库已连接”这个状态开始以下是按正确顺序需要完成的全部操作帮助你在 Windows 环境下搭建好大数据开发的基础环境。整个流程分为4 个阶段请按顺序执行 总览阶段目标核心任务关键验证点阶段一切换到正确的容器ALTER SESSION SET CONTAINER XEPDB1SHOW CON_NAME显示XEPDB1阶段二创建开发用户表空间 → 用户 → 授权bigdata_dev能登录阶段三导入测试数据创建orders表插入 100 万行数据SELECT COUNT(*)返回1000000阶段四验证分析查询执行 4 个典型分析 SQL每个查询正常返回结果 阶段一切换到正确的容器PDB原因Oracle 12c 及以上采用多租户架构业务用户必须在PDB可插拔数据库中创建而不是 CDB 根容器。sql-- 1. 查看当前容器应该是 CDB$ROOT SHOW CON_NAME; -- 2. 切换到 XE 版本自带的 PDB 容器 ALTER SESSION SET CONTAINER XEPDB1; -- 3. 确认切换成功应显示 XEPDB1 SHOW CON_NAME;✅验证标准SHOW CON_NAME显示XEPDB1 阶段二创建专属开发用户原因大数据开发不应使用system管理员账号需要创建有独立权限的普通用户。第 1 步确认数据文件路径sql-- 查询现有数据文件路径确定你的数据库文件存放在哪里 SELECT name FROM v$datafile;记录下路径例如D:\APPDATA\DATABASE\ORADATA\XE\XEPDB1\SYSTEM01.DBF→ 目录是D:\APPDATA\DATABASE\ORADATA\XE\XEPDB1\第 2 步创建表空间sql-- 使用上一步查到的正确路径 CREATE TABLESPACE bigdata_ts DATAFILE D:\APPDATA\DATABASE\ORADATA\XE\XEPDB1\BIGDATA01.DBF SIZE 500M AUTOEXTEND ON NEXT 100M;第 3 步创建用户sqlCREATE USER bigdata_dev IDENTIFIED BY dev123 DEFAULT TABLESPACE bigdata_ts QUOTA UNLIMITED ON bigdata_ts;第 4 步授予权限sqlGRANT CONNECT, RESOURCE, CREATE SESSION, CREATE TABLE TO bigdata_dev;第 5 步用新用户测试连接重要在 SQL Developer 中新建连接配置项填写内容用户名bigdata_dev密码dev123主机名localhost端口1521服务名XEPDB1⚠️ 不是XE✅验证标准点击“测试”显示“成功” 阶段三导入测试数据原因为了练习大数据分析需要一张有足够数据量的业务表。第 1 步创建订单表sqlDROP TABLE orders PURGE; -- 如果之前创建过先删除 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) );第 2 步插入 100 万行测试数据sql-- 使用 PL/SQL 块生成数据比 CONNECT BY 更稳定 BEGIN FOR i IN 1..1000000 LOOP INSERT INTO orders (order_id, customer_id, product_name, order_amount, order_date, status) 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 ); -- 每 1 万行提交一次 IF MOD(i, 10000) 0 THEN COMMIT; END IF; END LOOP; COMMIT; END; /第 3 步验证数据sql-- 应该返回 1000000 SELECT COUNT(*) FROM orders; -- 查看前 10 行示例 SELECT * FROM orders WHERE ROWNUM 10;✅验证标准COUNT(*)返回1000000 阶段四执行分析查询验证原因确认环境可用于大数据分析场景。依次执行以下 4 个 SQL查询 1月度销售趋势sqlSELECT TO_CHAR(order_date, YYYY-MM) AS month, COUNT(*) AS order_count, SUM(order_amount) AS total_amount, AVG(order_amount) AS avg_amount FROM orders GROUP BY TO_CHAR(order_date, YYYY-MM) ORDER BY month DESC;查询 2产品销售额 TOP 10sqlSELECT product_name, COUNT(*) AS sales_count, SUM(order_amount) AS total_revenue FROM orders WHERE status COMPLETED GROUP BY product_name ORDER BY total_revenue DESC FETCH FIRST 10 ROWS ONLY;查询 3客户价值分层sqlSELECT customer_id, COUNT(*) AS order_frequency, MAX(order_date) AS last_order_date, SUM(order_amount) AS total_spent, CASE WHEN SUM(order_amount) 100000 THEN VIP WHEN SUM(order_amount) 50000 THEN Gold WHEN SUM(order_amount) 10000 THEN Silver ELSE Bronze END AS customer_tier FROM orders GROUP BY customer_id ORDER BY total_spent DESC FETCH FIRST 20 ROWS ONLY;查询 4订单状态占比sqlSELECT status, COUNT(*) AS order_count, ROUND(COUNT(*) * 100.0 / SUM(COUNT(*)) OVER(), 2) AS percentage, SUM(order_amount) AS total_amount FROM orders GROUP BY status ORDER BY order_count DESC;✅验证标准每个查询都正常返回结果无报错 完整操作清单可打印对照步骤操作状态1ALTER SESSION SET CONTAINER XEPDB1☐2SELECT name FROM v$datafile确认路径☐3CREATE TABLESPACE bigdata_ts...☐4CREATE USER bigdata_dev...☐5GRANT CONNECT, RESOURCE...☐6用bigdata_dev新建连接测试☐7CREATE TABLE orders...☐8执行 PL/SQL 块插入 100 万行数据☐9SELECT COUNT(*) FROM orders验证☐10执行 4 个分析查询验证☐完成以上 10 步后你的 Oracle 21c XE 环境就完全准备好用于大数据开发练习了。接下来可以学习 SQL 优化、PL/SQL 编程或者用 Spark/Python 连接数据库进行数据分析。