- 浏览: 893528 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (1095)
- 大数据存储 (76)
- 编程语言(Java&Scala) (46)
- 大数据建模 (33)
- 开发与管理 (8)
- 操作系统 (13)
- 实用代码集合 (25)
- 新技术研究 (15)
- 前端技术研究 (22)
- 物联网 (18)
- 兴趣探索 (15)
- 编程语言(Groovy&Grails) (92)
- 编程语言(RubyOnRails) (153)
- 个人收藏 (153)
- 技术管理 (12)
- 编程语言(Flex) (8)
- 架构和框架(GWT) (4)
- 数学和算法 (6)
- 人工智能(TensorFlow) (11)
- 编程语言(Python) (6)
- 移动开发 (4)
- 软件工程实践 (54)
- 个人感悟 (6)
- 职场感悟 (5)
- 行业经验 (23)
- 产品和运营 (10)
- 生活与随想 (155)
- 简单生活 (70)
- 天空的云 (53)
- 秋月春风 (14)
- 东逝水 (59)
- 浪花淘 (35)
- 白发渔樵 (4)
最新评论
-
cljhyjs:
今天看看在研究,已经安装好了,请问怎么一步一步使用呢?
Thingsboard -
yx200404:
说一下十维空间 -
Clear_Love:
设置了也报错
Xcode 7遇到 App Transport Security has blocked a cleartext HTTP 错误 -
wang263574375:
我想问的是,如果防火墙的设置不能改变,那么要怎么处理呢?
ORA-12571:TNS包写入程序失败 -
ralflsb:
SmartSVN 8.6
SmartSVN破解包
行迁移(row migration):由于在table的pctfree设置过小,在update这个table并使其行长增大的时候,就有可能因为块的剩余空间不够存储该行,oracle会把该行数据迁移到另外一个有足够空闲空间的block中,此即发生了行迁移;发生行迁移时,行rowid并不变,原先存储该行的地方增加了一个新的指针,该指针指向迁移后的block id,所以我们在访问发生了行迁移的行时,会要读取迁移前和迁移后的2个block,一个表如果有大量的行发生了row migration,那么就有必要查看该table的storage设置了,看看pctpree是否可以调整的更大一点。
链接(row chained):和行迁移相对应的是行链接row chained,行连接常发生在行很大的情况下,如有long,raw,lob列,当insert一条新的记录时,一个block空间不够容纳一条记录,oracle会链接若干个block用来存储此记录,此即称为行链接;行链接是应为行的长度太长,要想避免,只能增加爱block size,在oracle9i之前,创建好数据库后您无法修改block size,要求你在建库的时候就要规划好,在oracle9i,提供了多块大小的技术,您可以设置2k,4k,8k,16k,32k大小的block,若想使用,您还必须设置相应的db_nk_cache_size缓冲池的大小。
下面是应用中客户维表行迁移的检测和消除步骤
检查user_tables信息
利用oracle自带的脚本utlchain.sq,新增表chained_rows,用于存储发生行迁移记录信息
Table created.
用analyze命令分析该表
Chained_rows用于存放产生行迁移的记录信息,其中head_rowid表示产生行迁移记录的rowid;
从该表中任意找一个head_rowed,看看行迁移消除前的执行计划
可以看到,取一条记录需要2个consistent read ;
接下来,来消除该表上的行迁移
修改表的pct_free,增大为25,日后需再观察,是否有大量的行迁移情况,如有,则说明还需要调整该参数。
建立临时表,存放发生行迁移的记录
查看是否有外键约束应用于此表上,如果有。则先禁用此约束,操作结束后再启用
SQL>
未选定行
如有相关表建有外键指向该表,需要先禁用约束
删除发生行迁移的记录
从临时表中重新插入记录
看看执行行迁移消除后的执行计划
可以发现,执行行迁移消除后,consistent gets为1个block了。
最后,drop临时表
注:行迁移主要是由于update的时候,块剩余空间满足不了而导致的,对于行迁移的消除,除了上面介绍的方法外,采用exp/imp ,先把表导出,然后再导入,或者采用move命令,同样,可以达到行迁移消除的目的。
链接(row chained):和行迁移相对应的是行链接row chained,行连接常发生在行很大的情况下,如有long,raw,lob列,当insert一条新的记录时,一个block空间不够容纳一条记录,oracle会链接若干个block用来存储此记录,此即称为行链接;行链接是应为行的长度太长,要想避免,只能增加爱block size,在oracle9i之前,创建好数据库后您无法修改block size,要求你在建库的时候就要规划好,在oracle9i,提供了多块大小的技术,您可以设置2k,4k,8k,16k,32k大小的block,若想使用,您还必须设置相应的db_nk_cache_size缓冲池的大小。
下面是应用中客户维表行迁移的检测和消除步骤
检查user_tables信息
Select table_name,pct_free,num_rows,blocks,chain_cnt From user_tables Where table_name='CUST_DIMT0'; TABLE_NAME PCT_FREE NUM_ROWS BLOCKS CHAIN_CNT ------------------------------ ---------- ---------- ---------- ---------- CUST_DIMT0 20 363338 8846 7449
利用oracle自带的脚本utlchain.sq,新增表chained_rows,用于存储发生行迁移记录信息
SQL> @ $ORACLE_HOME/rdbms/admin/utlchain.sql
Table created.
SQL> grant all on chained_rows to dwh; Grant succeeded.
用analyze命令分析该表
SQL> analyze table cust_dimt0 list chained rows into sys.chained_rows; Table analyzed
Chained_rows用于存放产生行迁移的记录信息,其中head_rowid表示产生行迁移记录的rowid;
从该表中任意找一个head_rowed,看看行迁移消除前的执行计划
SQL> set autotrace traceonly; SQL> select * from cust_dimt0 where rowid='AAAF9UAARAAAAWGAA3'; Execution Plan ---------------------------------------------------------- 0 SELECT STATEMENT ptimizer=CHOOSE (Cost=1 Card=1 Bytes=172) 1 0 TABLE ACCESS (BY USER ROWID) OF 'CUST_DIMT0' (Cost=1 Card=1 Bytes=172) Statistics ---------------------------------------------------------- 0 recursive calls 0 db block gets 2 consistent gets 0 physical reads 0 redo size 1467 bytes sent via SQL*Net to client 275 bytes received via SQL*Net from client 2 SQL*Net roundtrips to/from client
可以看到,取一条记录需要2个consistent read ;
接下来,来消除该表上的行迁移
修改表的pct_free,增大为25,日后需再观察,是否有大量的行迁移情况,如有,则说明还需要调整该参数。
SQL> alter table cust_dimt0 pctfree 25;
建立临时表,存放发生行迁移的记录
CREATE TABLE CUST_DIMT0_080331 AS SELECT * FROM CUST_DIMT0 WHERE ROWID IN (SELECT HEAD_ROWID FROM SYS.CHAINED_ROWS WHERE TABLE_NAME='CUST_DIMT0');
查看是否有外键约束应用于此表上,如果有。则先禁用此约束,操作结束后再启用
SQL> select constraint_name,constraint_type,r_owner,r_constraint_name from dba_constraints where table_name='CUST_DIMT0' and wner='DWH'; CONSTRAINT_NAME CONSTRAINT_TYPE R_OWNER R_CONSTRAINT_NAME ------------------------------ --------------- ------------------------------ ------------------------------ CUST_DIMT0_PK P SYS_C006476 C SYS_C006477 C SYS_C006478 C SYS_C006479 C
SQL>
SELECT * FROM DBA_CONSTRAINTS WHERE R_CONSTRAINT_NAME='CUST_DIMT0_PK';
未选定行
如有相关表建有外键指向该表,需要先禁用约束
alter table xxx disable constraint yyyy
删除发生行迁移的记录
SQL> DELETE CUST_DIMT0 WHERE ROWID IN (SELECT HEAD_ROWID FROM SYS.CHAINED_ROWS WHERE TABLE_NAME='CUST_DIMT0');
从临时表中重新插入记录
SQL> INSERT INTO CUST_DIMT0 SELECT * FROM CUST_DIMT0_080331;
看看执行行迁移消除后的执行计划
SQL> select * from cust_dimt0 where rowid='AAAF9UAARAAAAWGAA3'; 未选定行 Execution Plan ---------------------------------------------------------- 0 SELECT STATEMENT ptimizer=CHOOSE (Cost=1 Card=1 Bytes=172) 1 0 TABLE ACCESS (BY USER ROWID) OF 'CUST_DIMT0' (Cost=1 Card=1 Bytes=172) Statistics ---------------------------------------------------------- 0 recursive calls 0 db block gets 1 consistent gets 0 physical reads 0 redo size 1222 bytes sent via SQL*Net to client 234 bytes received via SQL*Net from client 1 SQL*Net roundtrips to/from client 0 sorts (memory) 0 sorts (disk) 0 rows processed
可以发现,执行行迁移消除后,consistent gets为1个block了。
最后,drop临时表
SQL> drop table CUST_DIMT0_080331; Table dropped
注:行迁移主要是由于update的时候,块剩余空间满足不了而导致的,对于行迁移的消除,除了上面介绍的方法外,采用exp/imp ,先把表导出,然后再导入,或者采用move命令,同样,可以达到行迁移消除的目的。
发表评论
-
期货交易的秘密
2022-09-28 12:31 20期货交易盈利的逻辑,简单来说就是4个字:大赚小亏。 赚钱的时 ... -
一个未了的心结
2022-09-27 14:16 87我有一个未了的心结, 就是攻克癌症, 我后面不管做啥, 挣了钱 ... -
生是一场自我实现的预言
2022-03-15 15:21 0术力之限要靠道力突破, 道力之限要靠心力突破, 人生是一场自我 ... -
人生是一场自我实现的预言
2022-03-15 14:25 511术力之限要靠道力突破, 道力之限要靠心力突破, 人生是一场自我 ... -
物联网大数据平台
2021-01-28 15:29 305TDengine是专为物联网、车联网、工业互联网、IT运维等设 ... -
大数据平台CDH搭建指南
2021-01-28 15:26 284CDH和CM介绍及搭建 http://www.fblinux. ... -
使用Flume+Logstash+Kafka+Spark Streaming进行实时日志处理分析【公安大数据】
2018-09-20 16:53 1132使用Flume+Logstash+Kafka+Spark St ... -
Cloudera Hadoop运维管理与性能调优
2018-09-17 18:53 630Cloudera Hadoop运维管理与性能调优 -
CIO
2018-08-30 11:34 335一个企业的运营过程,不论其身处哪个行业,其实都是一个信 ... -
Hadoop与MPP是什么关系?有什么区别和联系?
2018-08-29 11:17 1594Hadoop与MPP是什么关系?有什么区别和联系? -
大数据资料
2018-05-25 09:44 239大数据资料 -
大数据相关的一些内容和知识
2018-04-22 20:38 348一、大数据通用处理平 ... -
难念的经
2018-03-27 12:13 409“笑你我枉花光心计 爱 ... -
办公室里面小屁就没有掌握自己命运的资格
2018-02-07 10:03 432办公室里面小屁就没有掌握自己命运的资格。 -
一个成熟的自动化运维系统具备什么功能?
2018-02-05 16:57 335一个成熟的自动化运维系统具备什么功能? -
我国“十三五”国家大数据战略离不开专业的数据中心基础设施运维服务
2017-11-21 15:35 489我国“十三五”国家大数据战略离不开专业的数据中心基础设施运维服 ... -
千万级记录的Discuz论坛导致MySQL CPU 100%的优化笔记
2016-07-08 12:15 815千万级记录的Discuz论坛导致MySQL CPU 100%的 ... -
Oralce表被锁了,咋办?
2015-11-02 10:27 6391.下面的语句用来查询哪些对象被锁: select objec ... -
id oracle
2013-11-21 13:14 677SQL> startup ORA-27125: una ... -
一个sql简单关于分组的sql
2013-05-14 16:36 764select * from ( select aa.pe ...
相关推荐
在高考地理复习的众多单元中,第六单元“人口与地理环境”无疑是一个重点单元,特别是在复习到第22讲“人口迁移达标检测知能提升”时,理解人口迁移的概念、动态变化及其影响变得至关重要。人口迁移不仅仅是一个地理...
- **错误配置检测**:使用存储发现和设计工具可以帮助检测并解决错误配置问题,确保迁移过程顺利。 #### 五、数据迁移工具和技术 1. **数据迁移工具包**:许多供应商提供了专门的数据迁移工具包,这些工具包能够...
融合领域知识的心跳异常检测深度模型研究及应用 本文主要研究融合领域知识的心跳异常检测深度模型,旨在解决当前心电信号检测方法的不足之处,例如对信号噪声敏感、无法解决数据类别不平衡、无法解决个体差异性等...
以YOLO系列为例,YOLO将目标检测视为回归问题,将输入图像一次性划分为多个区域,直接在输出层预测边界框和类别概率。YOLO采用卷积网络来提取特征,使用全连接层来得到预测值。其网络结构通常包含多个卷积层和全连接...
以“xenu”为例,它是一款经典的免费死链接检测工具,由Alex Bochannek开发。Xenu's Link Sleuth(简称Xenu)以其强大的功能和友好的界面受到许多网站管理员的青睐。它能迅速地遍历整个网站,检查每个链接是否有效,...
这些多层结构允许模型捕获高级抽象特征,使得深度学习在图像识别、自然语言处理和,如本例中的,恶意软件检测等领域表现出色。 在恶意软件检测领域,传统的签名匹配方法已经无法应对日益复杂的攻击手段。深度学习...
以某世界五百强车企的水箱检测为例,传统的2D和3D检测方案难以满足需求,而采用基于深度学习的SM-Insight工业质检软件,能够有效地解决各种复杂缺陷检测问题,提高识别率和检测效率,减少人工检测的资源浪费。...
1. **软件检测**:使用专业的硬盘检测软件,如本例中的"检测硬盘有无坏道.exe",它们通常会执行全面的扫描,包括逻辑坏道和物理坏道的检测。这类软件通过读取硬盘上的每一个扇区,检查是否有读取错误,从而发现潜在...
而对于那些难以接触或具有腐蚀性的物料,核辐射式物位计则利用射线穿透介质的特性进行测量,是一种有效的解决方案。 温度检测仪表作为另一类关键的测量工具,在化工生产中占据着举足轻重的地位。主要的温度检测仪表...
RetinaNet是另一款由FAIR团队开发的深度学习对象检测框架,它解决了传统检测网络中的“类别不平衡问题”。在传统的检测网络中,背景区域远多于目标物体,导致训练过程中对目标物体的响应被稀释。RetinaNet通过引入一...
例如,雅虎的数据泄露事件就是其中臭名昭著的一例。因此,有效的网络入侵检测系统对于保障网络环境的安全至关重要。 本文的研究重点在于利用深度学习技术进行实时网络入侵检测。深度学习近年来因其在各种应用场景中...
本章节综合检测不仅是对知识点的复习,更是对高中学生分析和理解能力的一种考验。 首先,人口分布规律揭示了人类对适宜居住环境的自然选择。人口多集中在温带、亚热带的河流中下游平原或沿海平原地区,这些地方气候...
随着人类社会的进步和科技的...2021年高考地理大一轮复习第七章的检测内容,不仅帮助学生构建系统的城市地理知识体系,而且培养了学生分析城市问题的能力,为解决城市发展中遇到的诸多挑战提供了理论基础和实践指导。
转换法是一种解决物理问题的有效策略,尤其是在处理复杂的运动过程或受力分析时。这种方法基于运动的相对性和牛顿第三定律,通过转换参考系或研究对象来简化问题。例如,对于题目中的例1,两木块A和B通过弹簧连接,...
在陕西省汉中市2020届高三文综第二次教学质量检测考试试题中,考生们面临了众多地理学科的知识点挑战,这些知识点不仅考察了学生对地理学基本概念的掌握,还对分析和解决问题的能力提出了较高要求。本文将针对上述...
利比亚的南水北调工程是一个典型例子,该项目旨在解决北部地中海沿岸地区水资源短缺的问题,利用南部丰富的淡水资源,体现了对地理资源分布的理解和利用。 农业发展条件是地理学与人类活动结合最为紧密的领域之一。...
在2021版新高考英语一轮复习中,Module 4 "Sandstorms in Asia" 这一课后达标检测,不仅是对外研版必修3教材内容的巩固,更是对学生们环境意识和英语综合运用能力的双重考察。 首先,气候变化的现实性是该课后检测...
在当今新能源汽车和高科技电子产品的研发与生产中,混合集成电路(HIC)作为其中的核心技术之一,其可靠性直接关系到整个系统的性能和寿命。HIC的失效模式和机理是工程师们在研发和质量检测过程中必须深入研究的关键...
在【标题】为“版高考地理二轮专题复习检测:非选择题答题模板3-2-5[精选].doc”的文件中,我们围绕湖泊生态、河流地形特征、水资源管理、人口迁移、交通运输、河流水文现象及资源开发等多个维度,展开对地理知识的...