当前位置: 首页 > news >正文

(AI总结版)SQL Developer 安装好了,Oracle 21c XE 数据库已连接,之后的操作:搭建大数据开发的基础环境

本文介绍了在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 连接数据库进行数据分析。

http://www.jsqmd.com/news/679069/

相关文章:

  • 树莓派Pico与光电传感器打造实体解谜游戏控制器
  • Fedora 43 配置 ROCm 7.2 与 PyTorch 2.11
  • Leather Dress Collection惊艳效果:Leather Beltbra MicroShorts微距质感表现
  • 如何在Windows上直接运行Android应用?APK Installer让你轻松告别模拟器
  • 如何让微信在手机和平板同时在线?WeChatPad技术方案深度解析
  • 如何简化多表关联SQL逻辑_利用视图封装复杂JOIN操作
  • 如何高效使用文泉驿微米黑:开源中文字体的完整实践指南
  • Pixel Aurora Engine实际项目:为Retro Game Jam快速生成200+原创素材
  • 消除二叉树中的节点(python)
  • Dism++终极指南:告别系统维护焦虑的专业解决方案
  • 从嵌入式到终端:C语言万年历的5种实用改造方案
  • FUXA工业级可视化监控系统:5天从零构建专业SCADA平台的完整指南
  • Dify微调全流程详解:从数据准备、LoRA配置到评估上线,手把手带跑通首个可商用模型
  • 终极指南:3分钟掌握Applite,让Mac软件管理变得简单高效
  • 专知智库高企管理成熟度自诊系统:为政府/园区打造的高新技术企业培育管理利器
  • 如何让AMD/Intel显卡免费获得CUDA加速:ZLUDA兼容层完整指南
  • 大模型Agent的5种核心设计模式深度解析:工程师必备实战指南!从ReAct到Multi-Agent,手把手拆解!
  • Kotlin类型魔法:Any、Unit、Nothing 深度探秘
  • 2026Q2工业平移门技术全解析:甘肃工业门/兰州人行通道闸/兰州伸缩门/兰州保温卷帘门/兰州卷帘门/兰州工业厂房门/选择指南 - 优质品牌商家
  • 模型加载慢、推理卡顿、GC抖动频发,.NET 11 AI应用性能瓶颈诊断与7步精准修复,90%开发者忽略的第4步
  • 如何用NoFences告别桌面混乱:一个普通用户的桌面整理革命
  • HTML函数在多显示器环境下效率高吗_多屏硬件配置建议【汇总】
  • 告别臃肿!Elasticsearch平替Manticore登场
  • 掌握Agent智能体项目管理秘籍:让AI成为你的得力助手!
  • MySQL跨版本迁移数据格式不兼容_使用mysqldump全量导出导入
  • TranslucentTB开机自启动失效:Windows启动机制深度解析与系统级解决方案
  • 深度解析HsMod:基于BepInEx的炉石传说高级插件开发实战指南
  • 【flutter for open harmony】Flutter 聊天应用实战:go_router 路由管理完全实现指南
  • 宝塔面板网站备份文件太大怎么办_调整备份压缩等级与频率
  • CLIP-GmP-ViT-L-14环境部署:Ubuntu 22.04 + Python3.10 + torch2.3一键适配