Category Archives: Oracle

添加磁盘导致的ASM实例crash

今天核心系统将一块磁盘(EMC DMX4)添加到了ASM dg中,然后数据库RAC两个节点双双crash掉了,顿时吓了一身冷汗。 Continue reading

Posted in Database, Oracle.

node.js连接Oracle数据库

接触了Node.js大概有一周时间了。异步的非阻塞编程很适合服务器端大量数据库/IO等信息的获取,减少了服务器线程的数量和负载。
第一步是配置Oracle的连接,Oracle的node.js driver基本都依赖于OCCI(Oracle C++ Call Interface),一共有两三个实现。其中node-oracle应该是比较稳定的一个。通过npm编译安装连接Oracle有些麻烦,下面是安装配置的方法。 Continue reading

Posted in Dev, JavaScript, Oracle.

常见的Oracle索引抑制场景

索引的抑制是在WHERE语句涉及到索引列的访问时却进行了table full scan等高I/O的方式扫描表。这是编写SQL的过程中经常遇到的问题,很多trap会导致索引无法使用。下面将一一列举常见的索引抑制场景。
Continue reading

Posted in Oracle.

Oracle 11g Health Monitor

Oracle 11g中引入了Health Monitor,用于多数据库进行全方面的诊断性检查,并生成报告。检查的内容包括:
Continue reading

Posted in Oracle.

Oracle Database 12c DBMS_STATS详解(三)

ALTER_STATS_HISTORY_RETENTION

该过程可以用来修改历史统计信息的保留时间。保留的历史统计信息既可以被自动清理,也可以使用PURGE_STATS手工清理。
语法
DBMS_STATS.ALTER_STATS_HISTORY_RETENTION (retention IN NUMBER);
Continue reading

Posted in Oracle.

Oracle Database 12c DBMS_STATS详解(二)

设置或者获取统计信息
可以使用如下的子程序来存储或者取回单独的与列相关的、与索引相关的以及与表相关的统计信息:

PREPARE_COLUME_VALUES
PREPARE_COLUMN_VALUES_NVARCHAR
PREPARE_COLUMN_VALUES_ROWID

SEED_COL_USAGE
SET_INDEX_STATS
SET_SYSTEM_STATS
SET_TABLE_STATS

GET_COLUMN_STATS
GET_INDEX_STATS
GET_SYSTEM_STATS
GET_TABLE_STATS

Continue reading

Posted in Oracle.

Oracle Database 12c DBMS_STATS详解(一)

作为一个dba,性能优化是少不了的事情,而这其中,dbms_stats这个包,则更是绕不过去的东西。
因此我就打算把12c官方文档Oracle® Database PL/SQL Packages and Types Reference 12c Release 1 (12.1)中的第153章的内容翻译一下,并加一些说明和例子进去,以便日后参考。
原文链接:
http://docs.oracle.com/cd/E16655_01/appdev.121/e17602/d_stats.htm#ARPLS059153章 DBMS_STATS

利用DBMS_STATS这个包,你可以查看或者修改优化器为数据库对象收集的统计信息。
你也可以参考oracle 数据库sql优化指南: http://docs.oracle.com/cd/E16655_01/server.121/e15858/toc.htm
Continue reading

Posted in Oracle.

DG环境中,主库执行的查询操作,是否会应用到备库上?

昨天被问到这个问题,回来就整理了一下相关的资料:
我们知道,dg的原理,就是在备库上应用主库生成的redo日志,从而使得备库能够准实时的保持与主库一致的状态。
那么,执行查询操作,会生成redo么?
Continue reading

Posted in Oracle.

索引的并行度解析

一直都对索引的并行度有一些疑惑,今天读到了崔华大神的书中关于index fast full scan的描述,借此机会整理一下。
Continue reading

Posted in Database, Oracle.

TimesTen Note 3 – Cache Group简介

1. Cache Group简介

Cache group是一组在Timesten中缓存的Oracle数据库表。这些在Timesten中缓存的数据库表称为缓存表(cache table)。
Timesten数据库可以包含多个cache group,每个cache group包含一个或者多个缓存表。但是同一个Oracle数据库表不能同时被cache到同一TT数据库的多个cache group中。可以在TT中的缓存表中创建额外索引会提高查询速度(建立非唯一索引,否则影响和Oracle数据库中源表业务一致性)。
缓存表要求每一张表必须有主键或者唯一索引:
a).如果存在主键,则在对应的cache group中创建对应列的主键。例如:
Continue reading

Posted in Database, NoSQL, Oracle.