MySQL的rpm和源码两种安装操作

相比于传统行业,互联网浪潮中MySQL一直是数据库的主力军,无论是曾经的SUN,还是现在的Oracle,虽然可能商业策略不同,但发展方向还是平稳向前的,因此说自己不会MySQL,还真有些不好意思了。我只能算是MySQL中的小小白,研究生毕设的时候,装过windows版本的MySQL,就像对Oracle一样,仅仅是用,但对于一门技术来说,没有深入理解运行的原理,就不算真正了解这门技术。又有一种说法,...
阅读(107) 评论(0)

Oracle培训的建议收集

近期要组织一次新员工培训,交代了两节课的任务,主要介绍Oracle数据库,一个是针对纯小白,一个是经过一段时间的学习,针对有一定基础的,内容不限,时间不限。介绍数据库,介绍Oracle,其实有非常广泛的选题,从体系结构到SQL语法,从备份恢复到性能优化,从数据库管理到高可用架构,虽然我离精通还差很远,但还是有一些话题可以聊。首先,针对基础课程,拟定了如下目录,1. 数据库基本概念2. Oracle...
阅读(66) 评论(0)

数据迁移中碰见的一些问题

单位有一套Oracle 9i的古老测试数据库,因为机房搬迁,所以需要迁移数据,新库是Oracle 11g了,一个比较简单的需求,但过程中碰见了一些问题,看似比较琐碎,值得总结一下。由于源库是9i,因此只能用imp/exp,不能用数据泵。问题1:导入目标库用户的默认表空间源库由于不规范的使用,对象默认存储的是数据库默认表空间USERS,既然是迁移,新库就要尽量规范一些。但问题来了,impdp/exp...
阅读(79) 评论(0)

无线路由器的些许知识

前段时间,家里原来的路由器,总是时不时掉线,因为网络环境并未有变化,所以打算直接换一个新的,于是乎开始广撒网,找应该买什么样的路由器,隔行如隔山,不看不知道,一看吓一跳,虽然以前学过CCNA,但现在看来,还是皮毛,更何况忘的干净,原来网络设备的世界,如此宏伟,不是想象的那么简单。我主要参考了知乎上的一些文章,总结了一些和网络、路由器相关的要点,版权还是要归属原作者。例如:https://www.z...
阅读(51) 评论(0)

修改表字段长度的操作,对业务是否有影响?

前两天测试同学问了一个问题,表中某一个字段,需要改一下长度,对业务是否会有影响?可能隐约之中,我们觉得没影响,但又好像有影响,究竟有何影响,我们从实验来看最科学。首先建测试表,NAME字段是VARCHAR2(10),10个字节的字符串类型,表有256万数据。我们将其长度改为20,从执行时间看,只有20毫秒,我们对上面的操作,做一下10046 trace,发现确实,首先使用LOCK以EXCLUSIV...
阅读(76) 评论(0)

有索引却不用的两个场景

一直有朋友问,是不是表建了索引,一定会使用索引,在RBO时代,访问效率会参考一些规则,优先级高的,认为效率就高,例如索引就比全表扫描效率高,但CBO时代,则会以成本为依据,谁的成本低,谁的效率就高,这样更科学。建了索引,SQL却未使用索引,有很多情况,何况我不精通,所以不能一一枚举出来,但结合昨天广分一位兄弟的问题,列举出两个场景,提供一些思路和方法。场景一:正确的有索引却不用创建测试表,插入一条...
阅读(72) 评论(0)

解决导入过程中出现的ORA-02289错误

用expdp导出生产库数据到测试库,执行impdp的时候报了ORA-02298错误,提示生效TBL_B表的外键约束FK_B_ID的时候出错,看看ORA-02298的错误描述,因为存在独立的字节点记录,导致生效约束操作报错,通俗一些,就是子表外键对应的主表主键/唯一约束键值不存在,所以此时无法生效外键约束。方案1:既然错误提示子表存在一些主表无记录的外键值,那么只要找出这些不符合主外键关系的子表记录...
阅读(72) 评论(0)

如何验证dump文件的有效性

为了测试用途,从生产库导出了一份dump文件,打算导入测试环境中,如果这份dump文件有损坏,可能我执行的impdp,会造成数据库有一部分数据导入成功了,但另一部分失败了,要么挑出失败的部分,断点执行,这难度比较大,要么只能清空,重新执行。我们是不是只能通过执行impdp,真正执行导入操作才可以知道这份expdp导出的dump文件是否是完整正确的?Oracle如此智能,会给我们一些方法来校验。这篇...
阅读(184) 评论(0)

生产数据导入测试环境碰见的一些问题

我们某一个系统的夜维出现了性能的问题,删除N张表,数据量从几万到几百万不等,现在需要3.5-4个小时,看了一下SQL AWR,有些采用了TABLE ACCESS FULL,而且是数据量百万级的表,并且一次删除5000条,批量要删除几百次,相当于执行几百次TABLE ACCESS FULL,效率可想而知。大家讨论后,决定除了索引、SQL语句,从夜维程序逻辑上也要优化,提出了一些方案,目前正处于测试中...
阅读(199) 评论(0)

一个诡异的SQL事务现象

今天测试过程中,同事提出了一个,看似诡异,实则很基础的问题,乍一看会被迷惑。用实验来复现下这个问题,(1) 创建测试表,A表的id字段是主键,B表的id_a字段是外键,参考A表的id主键,(2) 应用有这么一个逻辑,一个事务中,先更新表A,再INSERT表B,其中表B的id_a字段值是来自于表A刚才操作的主键,模拟如下,可以看出,更新表A的操作正常,但使用表A的主键值id=1,来INSERT表B的...
阅读(129) 评论(0)

解决Logical Reads高的方法和实验

之前介绍了CBC,就是cache buffer chains这个等待事件的影响,《缓解latch: cache buffers chains的案例》,解决逻辑读过高的SQL语句,是优化方向。为了更直观地说明这个问题,通过模拟实验,来了解下。创建测试表,test表三个字段,分别是id1,id2和name,insert入100万行记录,其中id1每个distinct值100次,id2针对每个id1的d...
阅读(85) 评论(0)

缓解latch: cache buffers chains的案例

这两天我们的一个核心系统U*S,正在做压力测试,虽然压测的服务器配置不如生产,但可以反映出一些问题,初始测试的TPS可以说非常低,据测试同事反映,压测一会,数据库服务器CPU就上来了,业务上有积报现象,找不着原因。既然数据库服务器CPU飙升上来了,说明数据库服务器上有压力,这就需要看压测期间,数据库有何负载变化。Oracle提供了我们非常丰富的工具,AWR就是其中之一,可以让我们了解特定时间段,数...
阅读(2142) 评论(0)

学习show_space存储过程

今天学习和介绍一个有用的工具,来自TOM大神的show_space,其实这就是一个存储过程,用他可以统计一些段的用度,非常方便,网上流传着不同的版本。首先我们看下原版的脚本,https://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:5350053031470create or replace procedure show_...
阅读(153) 评论(0)

Linux实际内存占用率算法,以及使用Python实现内存监控

这两天我们的一个核心系统,一套集群,逐台开始报警,内容是内存占用超阈值。按说这应该是一个非常紧急且需要立即处理的报警,但实际是不是这样,待我们拨云见日。以下为模拟实验,了解了下监控系统这条内存占用超阈值报警的计算方法,是用used/total*100%=1949/1988*100%=98%,即内存占用量超过了98%。网上学习了一番,其实这种计算方法不很准确,原因就是Linux的内存管理机制和Win...
阅读(161) 评论(0)

DBMS_STATS.AUTO_SAMPLE_SIZE的值是什么?

昨天类总在微信公众号,给我留言,这是2014年写的一篇文章(http://blog.csdn.net/bisal/article/details/18910785#reply),看了一下,当时的实验和说明是,SQL> exec dbms_stats.gather_table_stats(ownname=>'SYS', tabname=>'T2');PL/SQL procedure successf...
阅读(275) 评论(0)
334条 共23页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:1042440次
    • 积分:12863
    • 等级:
    • 排名:第1095名
    • 原创:305篇
    • 转载:7篇
    • 译文:22篇
    • 评论:99条
    最新评论