(AI总结版)SQL Developer 安装好了,Oracle 21c XE 数据库已连接,之后的操作:搭建大数据开发的基础环境
2026/4/21 23:39:44 网站建设 项目流程

本文介绍了在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 步:创建用户

sql

CREATE USER bigdata_dev IDENTIFIED BY dev123 DEFAULT TABLESPACE bigdata_ts QUOTA UNLIMITED ON bigdata_ts;

第 4 步:授予权限

sql

GRANT CONNECT, RESOURCE, CREATE SESSION, CREATE TABLE TO bigdata_dev;

第 5 步:用新用户测试连接(重要!)

在 SQL Developer 中新建连接:

配置项填写内容
用户名bigdata_dev
密码dev123
主机名localhost
端口1521
服务名XEPDB1(⚠️ 不是XE

验证标准:点击“测试”显示“成功”


📊 阶段三:导入测试数据


原因:为了练习大数据分析,需要一张有足够数据量的业务表。


第 1 步:创建订单表

sql

DROP 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:月度销售趋势

sql

SELECT 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 10

sql

SELECT 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:客户价值分层

sql

SELECT 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:订单状态占比

sql

SELECT 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...
6bigdata_dev新建连接测试
7CREATE TABLE orders...
8执行 PL/SQL 块插入 100 万行数据
9SELECT COUNT(*) FROM orders验证
10执行 4 个分析查询验证

完成以上 10 步后,你的 Oracle 21c XE 环境就完全准备好用于大数据开发练习了。


接下来可以学习 SQL 优化、PL/SQL 编程,或者用 Spark/Python 连接数据库进行数据分析。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询