数据库

MySQL 事务提交过程

开发老大要求通过binlog查询一条被修改的数据,数据被查出后问我,有没有可能binlog中不会记录,回答不会,因为数据被修改,若失败直接回滚,不会在binlog中记录,此刻一个朋友用了洪荒之力告诉我,失败的话也会记录,坐地无语,因为他sqlserver dba,用sqlserver的思维考虑mysql,哈哈哈哈哈,用实验让他闭嘴!简单测试...

haoge0205
MySQL
2016-08-17 11:37

Data Guard跳归档恢复的案例

自前些天写了一个脚本之后,今天特意测试了一下,没想到一下子发现了一个大问题。有一套一主两备的10gR2环境,一个异机备库一直在READ ONLY状态,也就意味着数据库在打开之后一直忘了恢复应用归档,然后在某一天发现时,已经延迟了好几个月。无论怎样,还得庆幸发现了这个问题。目前来看一种行之有效的方法就是重搭备库,...

jeanron100
Oracle
2016-08-15 23:21

通过shell脚本得到数据库的基本信息(一)

今天写了个脚本,虽然实现的功能不多,但是个人感觉是一个好的开始,架子出来了,后面要补充的细节加进来就逐步完善了。这个脚本的运行效果如下:OS     Version  is :[ RHEL_6.3 ]Oracle Version  is :[ 11.2.0.3.0]Oracle Instance is :[ dgtest ]dgtestORACLE_HOME  &nbs...

jeanron100
Oracle
2016-08-12 23:26

Oracle not exist子查询全扫的优化

Oracle not exist子查询全扫的优化 之前写过 Oracle 针对子查询里有group by 表全扫的优化(子查询和外层关系是left join); 本次介绍 子查询与外层是not exists的关系是如何优化子查询全扫的;分析: 慢的部分是item/item_barcode 2个大表全扫; 由于bill_asn_dtl_n_i表必要条件nos = 'MPD038DA15050001'过滤后量较小,且与2个全扫大表是not exist关系; 所以可以将bill_asn_dtl_n_i过滤后的结果 与 not exist子查询里的2个大表做关联,满足相同后再与外层判断是否not exist; 没必要将not exist 子查询2个大表全扫再与外层判断是否有相同的再过滤;优化后:

maohaiqing0304
Oracle
2016-08-12 12:53

MySQL · 答疑解惑 · 物理备份死锁分析

背景本文对 5.6 主备场景下,在备库做物理备份遇到死锁的case进行分析,希望对大家有所帮助。这里用的的物理备份工具是 Percona-XtraBackup(PXB),有的同学可能不清楚其备份流程,所以这里先简单说下,PXB的备份步骤是这样的:拷贝 InnoDB redo log,这是一个单独的线程在拷,直到备份结束;拷贝所...

haoge0205
MySQL
2016-08-12 11:39

关于视图和存储过程的权限问题探究

今天在处理一个工单的时候发现了一个奇怪的现象,开发同学需要创建一个存储过程,目前的架构类似这样的形式数据库中存在一个属主用户,表,存储过程等对象都创建在这个用户上,而另外有一些连接用户,根据业务和功能可能访问的对象权限也有所不同。所以就会出现一个owner,多个connect user的情况。这种方式可以减少很多...

jeanron100
Oracle
2016-08-10 23:23

最近的几个技术问题总结和答疑(八)

今天的技术问答是刘晨兄的一个问题,提问来自于我新书中的一个实验,刘晨兄非常认真,对我书中的很多细节都进行了测试。看到这个错误,如果出现end-of-file这类的错误信息,基本可以断定数据库实例是宕了。找到刘晨兄提到的页码标示,原来和我书中的测试结果有一些差别。我书中的结果类似这样的形式:错误代码也完全...

jeanron100
Oracle
2016-08-05 15:36

外连接转换为内连接的情况

一般的情况下外连接如下a right join b on a.id=b.id 那么b一定要作为驱动表,原因在于只有b作为驱动表才能得到完整的结果集,如果a作为驱动,那么返回的结果集可能不完整,但是在特殊的情况的,可能将外连接转换为内连接考虑如下的情况b   id  name  1   g1  1   g2 ...

gaopengtttt
MySQL
2016-08-05 10:58

在Buffer Cache中自动大表缓存

约翰,在A银行做DBA。凯特琳,新的首席技术官,她正在为数据库性能问题由于长的I/O响应时间而沮丧。为了提高性能,她希望增加数据库实例的缓冲区缓存,以便在缓存中缓存更多的数据,从而减少了频繁需要去读磁盘。戴比,系统开发工程师,经历了很多这样的问题在她的职业生涯中,她解释说,“我们的应用有很多全表扫描,数...

pxbibm
Oracle
2016-08-05 10:15

MongoBD 日常操作小节

一、开启Mongodb 密码验证功能默认安装完mongodb是不用密码验证的,直接输入mongo就可以登入数据库进行相关操作,设置参数auth=true启动mongodb密码验证功能,开启改功能步骤如下:①、修改参数文件auth=false,并重启mongodb②、登入数据库,创建管理员用户(默认是没有管理员账户的)[r...

静以致远√团团
NoSQL
2016-08-05 10:08

半自动化搭建Data Guard的想法和实践(三)

今天总算抽了些时间把半自动化的脚本完成了大半,目前还缺少两部分的脚本,一部分是安装前的检查脚本,可以做一个预检查。虽然目前来看还不是必须,但是这些是标准和规范的地方,这些条件不满足,失败的概率会加大。另外一部分是安装后的补充脚本,其实安装后还有很多需要注意的地方。大体想了下,补充的脚本包含下面的部...

jeanron100
Oracle
2016-08-04 23:10

ROSE HA,想说爱你不容易——为ROSE HA配置IP资源的LocalFailover

ROSE?售后以及技术人员也承认存在这样的问题,但是,?他们暂时不会考虑去修改ROSE HA的倒切逻辑。??如果ROSE不改变,也许我们就得考虑改变了,rac或者其他HA软件都是可以考虑的。?

Hoegh
Oracle
2016-08-04 13:27

记一次sql server 数据库sa用户无法登录的故障处理

故障现象:用服务器上面的(客户端)sql server management  stutio 去连接本服务器上的sql server 数据库,如下图:点击连接不报任何错,就是连接不上,一直处于等待状态; 但是通过windows 身份验证是可以连接的,并且是可以正常操作的,如下图:服务器名字不在是个IP,要选择local. ...

贺子_DBA时代
SQL Server
2016-08-04 00:34

oracle本地分区索引跨分区对成本的影响

分区索引分为本地索引和全局索引,但对于在分区表上建索引,一般用的比较多的还是普通索引和本地分区索引,而全局分区索引相对用的比较少.以下测试为验证:分区表上的本地分区索引因为查询条件引起跨分区,是否改为普通索引更合适.以下测试:oracle version:11.2.0.4建测试表:drop table SCOTT.TB_TEST01;create table SC...

selectshen
Oracle
2016-08-03 02:18

半自动化搭建Data Guard的想法和实践(二)

关于半自动化搭建Data Guard,自己花了一些时间,总算是把这件事情继续推进了一下,还是再啰嗦一句,为什么不自动化,因为安全。主库就是主库,任何变更都要手工检查审核,自动化的工作在备库和中控端来完成。我希望自己的脚本能够只知道主库的IP,不用一次又一次连过去配置和检查,当然要完成自动化还是半自动化,有些网友...

jeanron100
Oracle
2016-08-02 22:54