Welcome 微信登录

首页 / 数据库 / MySQL

乱用Oracle Hint造成性能问题案例二

乱用Oracle Hint造成性能问题案例二

某医保系统在业务高峰期间相关模块使用不了查询不出结果,生成业务高峰期间上午10点到11点期间的AWR报告从上面的top sql部分可以看到执行时间最长的已经达到19019秒,还有几个运行时间也要执行几千秒,其中SQLID为d7bv3q1camq5x的SQL逻辑读和物理读都在几千万甚至上亿次。而每次也就返回200多行记录。其中SQL语句为: select /*+ rule */a.stat_type,a.his_item_code,a.his_item_na...
RMAN还原控制文件

RMAN还原控制文件

如果丢失或损坏所有的控制文件就需要从备份中还原控制文件。restore controlfile命令用来还原控制文件。在还原控制文件后需要对数据亩执行完全介质恢复并以resetlog选项来打开数据库。RMAN可以将控制文件还原到它的默认存储位置,也可以使用restore controlfile ... to destination来指定位置。从已经知的控制文件备份中还原控制文件 SQL> show parameter control_filesNAME...
MySQL使用二进制日志恢复数据库

MySQL使用二进制日志恢复数据库

一、二进制日志简介MySQL有不同类型的日志,其中二进制文件记录了所有对数据库的修改,如果数据库因为操作不当或其他原因丢失了数据,可以通过二进制文件恢复。在my.ini文件中设置了log-bin,重新启动MySQL后就开启了二进制日志。数据库每次重新启动(或执行flush logs命令)后,都会生成一个新的二进制日志,如在在my.ini文件中设置了log-bin=F:mysqlloglogbin则数据库第一次启动会生成logbin.000001,第二次启动...
MySQL编程中的6个重要的实用技巧

MySQL编程中的6个重要的实用技巧

每一行命令都是用分号(;)作为结束对于MySQL,第一件你必须牢记的是它的每一行命令都是用分号(;)作为结束的,但当一行MySQL被插入在PHP代码中时,最好把后面的分号省略掉,例如:mysql_query("INSERT INTO tablename(first_name,last_name)VALUES("$first_name",$last_name")");这是因为PHP也是以分号作为一行的结束的,额外的分号有时会让PHP的语法分析器搞不明白,所以...
Linux下MongoDB集群--副本集环境搭建

Linux下MongoDB集群--副本集环境搭建

mongoDB 副本集适合写比较少,读较多的场景,写可以使用消息队列来进行控制,这样可以减少高并发写带来的压力。副本集的使用场景要根据自己的项目需求来选择,要是有着高并发的写需求,建议采用分片的方式搭建集群,在稳定性方面要比副本集要高。我这里的使用场景是将写入操作用队列控制,主要是查询多。副本集中的副本节点在主节点挂掉后通过心跳机制检测到后,就会在集群内发起主节点的选举机制,自动选举一位新的主服务器。主节点故障后会实现自动切换,节点数量一定要大于等于3,否...
Oracle 关于number类型转换to_char类型 存在的问题

Oracle 关于number类型转换to_char类型 存在的问题

Oracle 关于number类型转换to_char类型 存在的问题select to_char(0.1) nums from dual;观察发现如果小数的整数位是0, 转换字符串之后没有了前面的0,如果需要前面的0,则需要一定的规则进行格式化,示例如下select to_char(0.1,"0.9") nums from dual;我们把小数换成整数后再看select to_char(1,"0.9") nums from dual;整数也会编程doubl...
Python 生产环境MySQL数据库增量备份脚本

Python 生产环境MySQL数据库增量备份脚本

MySQL数据库常用的办法是通过MySQLdump导出sql进行备份,但是不适合数据量很大的数据库,速度,锁表是两个严重的问题。前面写了一遍文章介绍xtrabackup的热备工具,见 http://www.linuxidc.com/Linux/2015-02/113058.htm。下面的脚本是基于xtrabackup实现自动备份数据库的功能。需求描述:每天晚上23点,对数据库进行一次完整备份。第二天0-22点,每小时进行一次增量备份。每次备份前把上次的完整...
生产环境MySQL快速备份工具XtraBackup使用案例

生产环境MySQL快速备份工具XtraBackup使用案例

MySQL的备份有很多种方式,最常用的应该是MySQLdump了,将数据库导出一个 sql文件,还原的时候source db.sql 就欢快的执行了。小伙伴愉快的布上一个shell脚本,配上cron,幸福的看着每天备份文件的生成,倍感安全。假如一个MySQL超过了10G呢? 请相信我,导出的时间需要好几个小时,那还原呢,时间会更长。我曾经用sql还原一个6G的数据库,用了3个多小时。MySQLdump这种逻辑备份的缺点就不多说了,说说xtrabackup,...
Oracle使用游标为所有用户表创建主键语句

Oracle使用游标为所有用户表创建主键语句

应用场合:数据表新增自增一主键能加快数据表的访问速度,而且是整形的索引速度最快。本程序适合在导入Oracle数据库时删除不存在主键的情况下运行。代码说明:所有的表主键字段名都设置为ID,如果已存在ID字段,则判断是否是整形,如果不是就重命名字段为[表名ID],然后新增ID,如果不存在则直接添加自增一ID的主键操作说明:打开PQSQL连接数据库后直接执行下面的详细脚本代码运行即可,脚本有风险(会删除原来的索引跟主键约束),请不要轻易在正式运行的数据库上直接执...
Redis的持久化--RDB的工作原理及引发的问题

Redis的持久化--RDB的工作原理及引发的问题

Redis持久化RDB模式的工作原理:Redis持久化RDB模式,Redis借助了fork命令的copy on write机制。在生成快照时,将当前进程整个复制出来,fork出一个子进程,然后在子进程中循环所有的数据,将数据写成为RDB文件。Redis持久化RDB模式引发的问题:RDB模式需要Redis服务所占内存的1倍的内存例如一台机器总共16G内存,用了10G内存做Redis服务,假如这10G内存都占满了这时运行save命令,这时会把10G的进程再复制...
MongoDB 存储过程的使用以及性能调优方案

MongoDB 存储过程的使用以及性能调优方案

虽然MongoDB给了我们很多驱动可以用,但是都没有mongodb的shell来的方便。就比如说最近需要做的DBRef嵌套类型的数据要做CRUD如果使用mog驱动的话会非常麻烦。因此我们这里来做个试验,首先给test数据库添加初始化数据添加Server-side script以及测试mongo 添加数据db.people.insert({"_id":"test","phone","233333"}) //输入原始数据// 数据库修改函数// update之...
RedHat+Oracle安装过程中碰到的一些值得总结的问题

RedHat+Oracle安装过程中碰到的一些值得总结的问题

昨天大半夜装一个RedHat Linux 5+Oracle版本,期间碰到了几件事情,陈述如下,以此为据。1. 安装前需要配置内核参数,可参考Oracle官方文档推荐的最低值来设置,但往往机器自身有些参数值已有了,例如kernel.shmmax、kernel.shmall,也参考过网上不少帖子,设置的值有所差别,此时官方文档中的一句话值得我们注意:“Note: If the current value of any parameter is hi...
<< 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 >>