Tuning 13 Using oracle blocks Efficiently

推进使用自动管理 automatic segment

1 个 Blocks = 2的幂次方倍
tablespace 像一块地
segment 像一个房子
extents 向一个装砖头的框
blocks 像砖头

segment 一次性最少要分配一个 extents

推荐使用 UNIFORM 在创建 extent 时.


grant connect, resource to mark;
create table t(id int, name char(10));

注意, 执行第一个命令时无法得到empty blocks 的数值, 需要执行 analyze table t compute statistics 才能得到 empty block (在 dba_tables)
alter table t allocate extent; -- 增加 extent
alter table t allocate extent (size 10m); -- 直接扩充10M, 因为这个环境一个extent是1m, 这样就扩充了10个extent.



oracle 的全表扫描会扫描到高水位的地方

可以看到高水位是在一个extent里的block 的情况.







小块对 OLTP 比较好

OLAP 使用大块, 决策支持, 数据仓库 等


只要记住PCTFREE 就行了, 下边的 PCTUSED 不用考虑

Migration: 迁移, 在block中的数据体积变大了, 那么它首先会在本块中寻找空间, 但是如果本块中没找到, 就会将这个信息移动到另一个块里, 并且在原来块里留下指针, 注意这样要读2次I/O, 因为前一个块只读到了一个指针. 所以要尽量避免这个事情发生.
Chaining: 这条记录太大了, 大到整个block 都放不下了, 那没办法了, 只能将这个信息分部分存储在两个或多个块里, 这样也要读2次I/O. 发生这个的原因或者是block小或者是表设计不当



move 的意思是将这个表copy到另一个表, 然后再将这个表删除

监控索引, 在恰当的时候对索引进行rebuild 等内容.



下边两个过时了, 在10g,11g都不这么用了


Tuning 13 Using oracle blocks Efficiently的更多相关文章
- Tuning 14 Using Oracle Data Storage Structures Efficiently
90% 是Heap table Cluster 集群表, index-organized table: 就是把索引和表 和二为一了. partitioned table:表非常大, 逻辑上是一个大表, ...
- CC++初学者编程教程(13) 基于Oracle linux 的Oracle12c环境搭建
1设置虚拟机选项 2 设置文件夹共享 3启动文件夹共享向导 4 设置共享文件夹 5 启用共享 6 关闭虚拟机设置 7 开启虚拟机 8 登陆帐户 9 看见虚拟机桌面 10 安装vmwaretools 1 ...
- PL SQL Developer 13连接Oracle数据库并导出数据
下载 并安装 PL SQL Developer 13,默认支持中文语言 ============================= 注册码: product code: 4vkjwhfeh3ufnqn ...
- Oracle案例13—— OGG-01163 Oracle GoldenGate Delivery for Oracle, reprpt01.prm
由于虚拟机宿主机重启,导致很多虚拟机服务需要重点关注,其中一个DG的从库和另一个report库有OGG同步,所以这里再系统恢复后检查OGG状态的时候,果然目标端的REPLICAT进程处于abend状态 ...
- Oracle SQL tuning 步骤
Oracle SQL tuning 步骤 SQL是的全称是Structured Query Language(结构化查询语言).SQL是一个在80年代中期被使用的工业标准数据库查询语言.不要把SQL语 ...
- 老李分享: Oracle Performance Tuning Overview 翻译下
1.2性能调优特性和工具 Effective data collection and analysis isessential for identifying and correcting perfo ...
- Oracle讨论Java 13版本
JDK 13提高了应用程序性能,添加了两种语言功能预览,以及更多JDK 13 根据Oracle Java Team的说法,JDK 13致力于通过提高Java SE平台和JDK的性能,稳定性和安全性来 ...
- ORACLE数据库管理员的职责
ORACLE数据库管理员的职责 一.概述 ORACLE数据库管理员应按如下方式对ORACLE数据库系统做定期监控: (1). 每天对ORACLE数据库的运行状态,日志文件,备份情况,数据库的空间使用情 ...
- Oracle DBA面试突击题
一份ORACLE DBA面试题 一:SQL tuning 类 1:列举几种表连接方式 答: Oracle的多表连接算法有Nest Loop.Sort Merge和Hash Join三大类,每一类又可以 ...
随机推荐
- 教你如何搭建vue项目
笔者工作也有一些时间,需要用vue写项目时也总是项目组长已经把项目搭建好了, 偶尔心血来潮想试着自己搭建一个vue项目 我们搭建vue项目呢主要是用到了vue-cli来搭建,但是前提是必须要已经安装好 ...
- Swing JTable 具体解释
改变列头 flightTable.getTableHeader().setDefaultRenderer(new TableCellRenderer() { public Component getT ...
- rails引入bootstrap
1.在Gemfile中增加 gem 'bootstrap-sass', '~> 3.2.0.2'2.bundle install3.把assets/stylesheets/application ...
- 算法笔记_055:蓝桥杯练习 Tricky and Clever Password (Java)
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 在年轻的时候,我们故事中的英雄——国王 Copa——他的私人数据并不是完全安全地隐蔽.对他来说是,这不可接受的.因此,他发明了一种密码,好 ...
- 算法笔记_085:蓝桥杯练习 9-3摩尔斯电码(Java)
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 摩尔斯电码破译.类似于乔林教材第213页的例6.5,要求输入摩尔斯码,返回英文.请不要使用"zylib.h",只能使用 ...
- C++11 std::async 包装实体店::packaged_task
更好的方式 C++11中提供了操作多线程的高层次特性. std::packaged_task 包装的是一个异步操作,相当与外包任务,好比我大阿里把电话客服外包给某某公司. std::future 提供 ...
- dmesg 时间转换脚本
https://linuxaria.com/article/how-to-make-dmesg-timestamp-human-readable perl脚本 #!/usr/bin/perl use ...
- macOS中安装docker
如官方文档中所说: 1.点击进入boot2docker/osx-installer release页面. 2.在下载页面中点击 Boot2Docker-x.x.x.pkg 来下载 Boot2Docke ...
- 【DB2】NVL2函数
语法: NVL2(表达式1,表达式2,表达式3) 如果表达式1为空,返回值为表达式3的值.如果表达式1不为空,返回值为表达式2的值. 例子: SELECT ID, NVL2(SEX,'非空','空值' ...
- C# Conditional特性避免 预处理命令泛滥使用
//#define CONDITION1 #define CONDITION2 using System; using System.Diagnostics; class Test { static ...