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

读书笔记:Oracle数据库的日志开关和数据仓库设计秘诀

我们的文章会在微信公众号IT民工的龙马人生和博客网站( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢!
由于博客中有大量代码,通过页面浏览效果更佳。

本文为个人学习《Expert Oracle Database Architecture Techniques and Solutions for High Performance and Productivity(第四版本》一书过程中的笔记与理解分享,仅用于学习与交流,部分内容参考原书观点并结合>实际经验进行整理。若涉及版权问题,请联系删除或沟通处理。也请大家支持购买原版书籍。

Oracle数据库的"日志开关"和"数据仓库"设计秘诀

一、数据库的"黑匣子":日志模式选择

想象飞机上的黑匣子,它记录着飞行中的所有关键数据。Oracle数据库也有类似的机制——重做日志(redo log),而LOGGING和NOLOGGING就是控制这个"黑匣子"的开关。

两种模式怎么选?

  • 常规模式(LOGGING):像全天候工作的监控摄像头,记录所有操作(默认选择)
  • 节能模式(NOLOGGING):像选择性记录的执法记录仪,只在特定情况下工作

真实场景建议

  • 银行交易系统 → 必须用LOGGING
  • 数据分析临时表 → 可考虑NOLOGGING加速处理
  • 开发测试环境 → 根据需求灵活选择

小知识:即使设为NOLOGGING,日常的增删改操作仍会被记录,只有像大批量导入这样的特殊操作才会跳过日志。

二、数据块的"会客室":INITRANS参数

把数据库块想象成公司会议室,INITRANS就是会议室里预设的座位数:

  • 默认只有2个座位(INITRANS=2)
  • 当多人(并发事务)同时要开会时,来晚的人只能排队等待
  • 会议室可以临时加座位(动态扩展),但空间有限

实用建议

  • 普通办公室(低频修改的表):默认2个足够
  • 热门会议室(高频并发表):建议增加到10-20个座位
  • 最大容量永远是255人(Oracle的硬限制)

三、"随便放"的储物间:堆组织表的本质

堆表就像你家的大储物间:

  • 东西(数据)随便放,哪里有空塞哪里
  • 找东西时没有固定顺序,每次翻出来的顺序可能都不一样
  • 即使按顺序放进去,拿出来时顺序也会乱

经典案例

-- 往储物间放三个箱子
INSERT INTO 储物间 VALUES(1, '冬季衣服');
INSERT INTO 储物间 VALUES(2, '夏季衣服'); 
INSERT INTO 储物间 VALUES(3, '春秋衣服');-- 扔掉第二个箱子
DELETE FROM 储物间 WHERE 箱子编号=2;-- 放入新箱子
INSERT INTO 储物间 VALUES(4, '儿童衣物');-- 查看时顺序可能是:3,1,4 而不是1,3,4
SELECT * FROM 储物间;

重要原则
想按顺序找东西?必须用"ORDER BY"明确说明!

-- 正确做法:使用排序指令
SELECT * FROM 储物间 ORDER BY 放入时间;

四、DBA的秘密武器:逆向工程建表语句

新手设计师常问:"这个漂亮房子是怎么建的?"Oracle也提供了类似的"设计图纸查看"功能:

-- 先建个简单表
CREATE TABLE 我的表 (编号 NUMBER PRIMARY KEY,名称 VARCHAR2(100),详情 CLOB
);-- 查看完整设计图纸(包含所有隐藏细节)
SELECT dbms_metadata.get_ddl('TABLE', '我的表') FROM dual;

这个方法能揭示:

  • 默认的存储参数设置
  • 隐藏的索引配置
  • 特殊字段(如CLOB)的存储方式
  • 表空间分配情况

五、优化存储的三大法宝

  1. 空间预留(PCTFREE)

    • 像行李箱留出伸缩层:默认留10%空间
    • 装冬季衣服的箱子 → 多留空间(PCTFREE=30)
    • 装书本的箱子 → 少留空间(PCTFREE=5)
  2. 会客座位(INITRANS)

    • 预估会有多少客人同时来访
    • 家庭相册(很少修改):2个座位足够
    • 热门留言本(多人同时写):需要10个座位
  3. 压缩打包(COMPRESS)

    • 普通打包:NOCOMPRESS(保持原样)
    • 真空压缩:COMPRESS ADVANCED(节省70%空间)
    • 部分压缩:COMPRESS BASIC(仅对大件物品压缩)

特别提醒

  • 照片文件(LOB数据)有自己的存储规则,不受箱子(PCTFREE)设置影响
  • 它们总是塞满整个盒子才会换新盒子

掌握这些知识,你就能像专业仓库管理员一样高效管理Oracle数据库存储了!

------------------作者介绍-----------------------
姓名:黄廷忠
现就职:Oracle中国高级服务团队
曾就职:OceanBase、云和恩墨、东方龙马等
电话、微信、QQ:18081072613
个人博客: (http://www.htz.pw)
CSDN地址: (https://blog.csdn.net/wwwhtzpw)
博客园地址: (https://www.cnblogs.com/www-htz-pw)

http://www.sczhlp.com/news/59581/

相关文章:

  • 网站开发销售合同网站建设实训实训心得
  • 南京网站定制开发公司连接打开wordpress
  • 学校网站制作公司西安工程建设工程信息网
  • 网站现在怎么做排名网站开发毕业设计开课题目
  • 一级a做爰片免费网站 小说泗洪网页定制
  • wordpress做过的大型网站菏泽网站建设服务
  • 佛山网站优化流程公路水运建设质量安全监督网站
  • 河南省住建局官方网站手机和电脑网站分开做
  • 天津网站建设品牌推广项目建设进度
  • 新手必看!打造公众号AI排版高级感,层级设计秘籍大公开
  • linux随笔
  • 大学网站建设管理办法wordpress数字商城
  • 旅游网站项目评估考研培训机构排名前五的机构
  • 外贸网站如何做推广苏州wordpress seo模板
  • 网站推广渠道类型京津冀协同发展河北定位
  • 上海怎样做网站怎么在电脑上自己做网站吗
  • 上传商品的网站广东外贸网站建设企业
  • 重庆卓光网站建设无锡网站建设
  • 北京 网站 公司开发公司副总求职简历
  • 深圳网站优化项目微信公众号可以做什么
  • 中国核工业二四建设有限公司实习安排在公司官方网站哪里看?请牢记此域名
  • 公司网站域名及空间福建设计网站
  • 找衣服款式的网站网站制作验收单
  • 网站建设之开展电子商务wordpress外贸服装营销型主题
  • 南宁大型网站建设广州网站设计服务商
  • 用凡科做网站的费用wordpress 菜单 标签
  • 没有备案的网站使用微信seo网站建设 厦门
  • js逆向之补环境代理模板
  • 微网站是手机网站吗wordpress加载单页面内容
  • 新手想做网站赚钱北京网站开发培训班