mongodb查询
测试数据> var arr1 = ["aaaa", "bbbb", "cccc", "dddd"];> var arr2 = ["eeee", "ffff", "gggg", "hhhh"];> for (var i = 1; i <= 200; i++) {... db.user.insert( { x : i, y : [arr1[i%4], arr2[i%4]]} )... }WriteResult({ "nInserted" : 1 })> db.user.findOne({x: 1}){ ...
iscsi与multipath搭建
服务端安装yum install iscsi-initiator-utilsyum install scsi-target-utilsyum install lsscsiservice iscsi startservice iscsid startservice tgtd startchkconfig iscsi onchkconfig iscsid onchkconfig tgtd on...
12c in-database archive
测试表,全表扫描54592一致性读,返回786432行SQL> select * from p;786432 rows selected. Statistics---------------------------------------------------------- 32 recursive calls &nbs...
12c ILM数据生命周期管理
首先,需要打开heat map,用来跟踪数据的访问情况SQL> alter system set heat_map = on;System altered.测试数据drop table p purge;create table p (id int, name varchar2(150)) partition by range (id) (partition p1 values less than (100), partition p2 values less than (200)) tables...
12c pdb 上手
通过种子创建(1 数据文件最大20G;2 使用公共临时表空间最多10G;3 创建pdb时同时新建一个默认表空间test(可选);4 以后pdb里的directory的创建到'/u01/oradata/cdb/pdb2/'下(可选);5 通过种子创建,数据文件的路径需要convert一下(如果设置了pdb_file_name_convert或db_file_name_convert...
dataguard主库坏块的修复
最理想的情况是11g dataguard配成用standby redolog实时应用。这种模式下主库出现坏块,当数据库被下一次被用到时自动利用备库来修复。主库SQL> select file_id, block_id, blocks from dba_extents where owner = 'SCOTT' and segment_name = 'T'; FILE_ID BLOCK_ID &nb...
11g 逻辑备库简单故障处理
模拟同步失败备库创建唯一性索引SQL> create unique index idx_scott_t_1 on scott.t(user_id);Index created.主库插入重复数据SQL> insert into scott.t select * from scott.t;36 rows created.SQL> commit;Commit complete.备库自动停止同步Mon Sep 29 17:22:32 ...
精算业务死锁的具体分析
真实表名、字段名、函数名、机器名、实例名已经替换截取trace文件的片段:trace文件是42号进程——也就是后面的 sid 777生成的。Instance name: PRODRedo thread mounted by this instance: 1Oracle process number: 42Unix process pid: 4620, image: oracle@hostname ...
关于进程的物理内存RSS
通常习惯直接把ps里的RSS看做是进程使用的物理内存。例如linux下ps的说明如下rss RSS resident set size, the non-swapped physical memory that a task has used ...
dataguard主库坏块的修复
1 最理想的情况是11g dataguard配成用standby redolog实时应用。这种模式下主库出现坏块,当数据库被下一次被用到时自动利用备库来修复。主库SQL> select file_id, block_id, blocks from dba_extents where owner = 'SCOTT' and segment_name = 'T'; FILE_ID BLOCK_ID &nb...
library cache pin导致业务阻断
(用户名,表、机器名已经被替换)有用户反映一个大量session并发执行一个函数的精算业务执行不下去了,现场DBA发现后台大量等待library cache xxx和mutex s wait on x等。查看blocking session,形成一条链条,顶端是session 930简单取了几个session21:42:17 SQL> select...
library cache pin业务阻断
(用户名,表、机器名已经被替换)有用户反映一个大量session并发执行一个函数的精算业务执行不下去了,现场DBA发现后台大量等待library cache xxx和mutex s wait on x等。查看blocking session,形成一条链条,顶端是session 930简单取了几个session21:42:17 SQL> select...
加快dba_hist_active_sess_history的查询速度
核心数据库的快照保留时间提高到1个月,导致从dba_hist_active_sess_history这张表里找点东西非常慢。从v$session里看发型是对WRH$_ACTIVE_SESSION_HISTORY走direct path read,很吃IO,而且速度也不快。看一下WRH$_ACTIVE_SESSION_HISTORY的定义:17:01:51 SQL> select dbms_metadata.get_ddl('TABLE','WRH$_ACTIVE_SES...
报表数据库4031
报表数据库11.2.0.3凌晨3点多 ORA-4031初步分析如下SQL> show parameter shared_poolNAME TYPE VALUE------------------------------------ ----------- ----------...
连接条件是两个字段“or”关系的SQL优化
下午发现一条SQL,消耗大量IO。SQL文本(部分表名和字段名做了替换)SELECT "A3"."apptype", "A3"."appno", "A2"."edate", "A3"."cno", "A1"."rcode", "A3"."chnl", &nb...
大表范围扫描走SORT MERGE JOIN的SQL优化
SQL文本(部分表名字段名做了替换)select XXXXX from t1 a where 1 = 1 and a.flag = '0' and a.flag2 = '1' and exists (select 'x' from t2 b where b.startno...
cursor_sharing=force导致sql profile部分hint失效
SQL文本(部分表名字段名做了替换)select * from (select prop1 , prop2, (select codename from code d1 &nbs...
用push_subq优化批处理统计SQL
用户反映有一条统计SQL好几个小时跑不完SQL原文(部分表名字段名被替换掉了)(t1和t2都是100多G的大表)select * from t1 awhere 1 = 1 and not exists (select 'X' from t2 where date1 is null and s...
RAC环境并行insert,当触发内部清理回收站时导致ORA-00600 [ktssdrp1]
Errors in file /u01/app/oracle/diag/rdbms/btas/btas1/trace/btas1_p001_130280.trc (incident=176570):ORA-00600: ????????????????????????, ????????: [ktssdrp1], [0], [0], [0], [], [], [], [], [], [], [], []Incident details in: /u01/app/oracle/dia...
翻译metalink上关于high version count的文章
什么是“high version count”?对于一个cursor,没有一个明确的定义到底多高的verstion算高,不同的系统可以容忍不同的version count。AWR报告列出了versions排前20的cursor,使你很容易发现潜在的问题。当你发现了成百上千个version的cursor,就需要考虑version为何如此之高,以及产生高version的原因...