数据库

Oracle Database 12c查询优化器的缺陷-视图合并会造成查询结果不准确

最近在将一个11g的数据库导入到12c(12.1.0.2,并打了最新的补丁)的库后,测试人员反馈有一个SQL执行结果不正确。具体的SQL如下:SELECT *  FROM ( SELECT watnum,                 age...

Jet_Zhang
Oracle
2017-06-06 16:52

Oracle 12cr2 数据库之间跨网络传输表,分区或子分区

为了跨网络传输表,可以在执行导入操作时使用network_link参数,这样导入操作将会使用数据库链路而不用先导出dump文件。其操作步骤如下:1.选择一组表,分区或子分区。如果是要传输分区,那么在传输表操作中可以指定一个表的分区,并且在同一操作中没有其它的表将被传输。如果在传输表操作中中只有表分区的子集被导出,...

eric0435
Oracle
2017-06-06 15:38

Oracle 12cr2 数据库之间传输表,分区或子分区

在Oracle 12cr2中,可以使用传输表功能来从一个数据库中复制一组表,分区或子分区到另一个数据库中。传输表操作将会指定表,分区或子分区的元数据移到另一个数据库中。传输表操作会自动识别所指定表所在的表空间。为了移动数据,需要将这些表所在表空间的所有数据文件复制到目标数据库。Data Pump导入会自动释放由表,分...

eric0435
Oracle
2017-06-06 15:25

经典的print_table学习

最近上班路上读《Oracle性能优化与诊断案例精选》,发现eygle引用了一个非常方便的工具,原作者是大名鼎鼎的Tom,更加引起了我的关注。我理解一些工具是方便了我们日常的工作需求,但同时由于其封装了一些细节,因此若只是知道用法,不知道实现原理,对于个人来说,浪费了一次锻炼的机会,因为往往这些经典的工具,蕴...

bisal
Oracle
2017-06-05 23:51

ORA-01653/01654错误和dba_free_space视图的理解

上周,兄弟部门提出了一个问题,描述如下,开发库,对表X他们查询,或者DELETE的时候,经常出这个问题, 好像还与查询或者DELETE的数据量有关,是不是由于没建索引的原因,我查百度也没解决 select sum(bytes/1024/1024) sizeMB from dba_free_space z where z.tablespace_name=’XXX_DAT’&n...

bisal
Oracle
2017-06-04 23:41

创建索引的两种方式比对

有一个应用,需要创建索引,创建索引一般有两种方法,一种是CREATE INDEX ...;一种是CREATE INDEX ... ONLINE;字面意思上看,一个是在线,一个是非在线,有什么不同?1.语句执行时间的不同 创建测试表, 使用非在线创建索引,用时00.06秒, 使用在线方式...

bisal
Oracle
2017-06-03 23:43

Oracle 12c PDB的数据备份恢复

今天测试了一下12c中的PDB还原恢复,里面还是有不少的差别。我就简单模拟了一个破坏场景,是在一个未打开的PDB tcymob0从中删除了数据文件usres01.dbf,然后尝试备份恢复。当然在这个操作前,我们使用RMAN来备份,使用命令backup database即可备份整个数据库。手工破坏的语句如下:$ rm /U01/app/oracle/o...

jeanron100
Oracle
2017-06-03 23:34

MySQL和Oracle中的唯一性索引从差别(r12笔记第83天)

   今天在修复MySQL数据的时候,发现一个看起来“奇怪”的问题。  有一个表里存在一个唯一性索引,这个索引包含3个列,这个唯一性索引的意义就是通过这3个列能够定位到具体1行的数据,但是在实际中却发现这个唯一性索引还是有一个地方可能被大家忽略了。 我们先来看看数据的情况。 ...

jeanron100
MySQL
2017-06-02 23:32

由optimizer_switch所引起的诡异问题

mrr_cost_based代表是否使用基于代价的方式去计算使用MRR特性,新的系统中将他设置为off代表不使用基于代价方式而是使用基于规则的,这样设置的原因是考虑到MySQL基于代价的方式比较保守,不能使用到MRR这个特性。本身设置这个参数是没有任何问题,只不过正好遇到mrr_cost_based设置为off时碰到了这么诡异BUG,希望可以帮助到遇到同样问题的朋友们。

沃趣科技
MySQL
2017-06-02 09:43

Oracle 12C 跨网络传输数据库

跨网络传输数据库,可以通过使用network_link参数来执行导入操作,导入操作将使用数据库链路,不需要生成dump文件。操作步骤如下:1.在目标数据库中创建链接到源数据库的数据链路。执行导入操作的用户必须要有datapump_imp_full_database权限,并且连接到源数据库的数据链路也必须连接到一个有datapump_exp_full_database...

eric0435
Oracle
2017-06-02 09:30

三种批量删除PLSQL写法效率的比对

我们有一个重要的旧系统,最近夜维出现了一些问题,夜间执行5小时未完成,为了不影响业务,只能早上高峰期之前,DBA手工kill夜维进程。这一个夜维程序采用了PLSQL写的存储过程,通过数据库job定时启动执行。存储过程我很少使用,借着这次机会,补习了下,这个存储过程中的逻辑比较简单,依次删除若干张业务表,每张表...

bisal
Oracle
2017-06-02 00:05

从源码解析ERROR 1129 (HY000):Host is blocked because of many connection errors

原创水平有限今天群里一个朋友出现如下错误:ERROR 1129 (HY000): Host '10.0.0.8' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'为了找到这个问题原因,首先在源码中找到错误码点击(此处)折叠或打开{ "ER_HOST_IS_BLOCKED", 1129, "Host \'%-....

gaopengtttt
MySQL
2017-06-01 01:14

使用表空间组来管理多个临时表空间

使用表空间组来管理多个临时表空间表空间组能让用户使用来自多个临时表空间中的临时空间。使用表空间组,而不是单个临时表空间,可以减少由于一个临时表空间没有足够的空间来处理排序而引发的问题。表空间组能让单个并行操作的并行执行服务器进程使用多个临时表空间。表空间组有以下特性:.它包含至少一个临时表空间...

eric0435
Oracle
2017-05-31 10:55

从ORA-01752的错误,透过现象看本质

这几天开发同学反映了一个问题,有一个Java写的夜维程序,用于每天定时删除历史过期数据,3月10日之前经过了内测,但这两天再次执行的时候,有一条SQL语句一直报ORA-01752的错误,由于近期做过一次开发库的迁移,从一个机房搬迁至另一个机房,而且开发同学确认这期间未变代码逻辑,所以怀疑是否和数据迁移有关,这个错...

bisal
Oracle
2017-05-30 23:19

关于MYSQL 5.7 新连接建立流程源码接口(和5.6不同)

原创水平有限今天在看运维内参第三章源码的时候,发现书上很多代码入口函数和我用的5.7.14的源码对不上,然后再看了一下5.6的源码,书上写的基本都是5.6的源码(书是2015年开始写的)5.7.14在连接这一块做了相当大的改动,加了很多抽象类,变得更加复杂了。当然这也是软件模块划分的更加清晰的必然的结果,顺便说一下MYSQ...

gaopengtttt
MySQL
2017-05-29 23:01