Category Archives: Oracle

GoldenGate 11g 快速配置单向DML、双向DML、一对多DML复制和单向DDL复制

一、单向DML复制

进程的拓扑结构如下:
3
源端主机:db01,目标端主机:db02
源端数据库mydb01,目标段数据库mydb02
0. 去edelivery.oracle.com的Fusion Middleware目录下载对应数据库和操作系统版本的OGG软件
1. 创建OGG目录$ORACLE_BASE/ggs,并在该目录下解压OGG
2. 创建工作目录

Continue reading

Posted in Database, Oracle.

Oracle实用监控小工具oratop

Oracle最近发布了一个非常监控的监控工具—oratop。这是一个C语言编写的client工具,模拟top命令的界面。目前只有Linux的版本,只支持11gR2之上的数据库。
在metalink上可以直接下载oratop这个二进制文件,文档

oratop提供的功能包括
• Monitoring current database activities,
• Database performance,
• Identifying contentions and bottleneck
• Monitor Active Data Guard
Continue reading

Posted in Database, Oracle.

Oracle快速升级11.2.0.3 RAC到11.2.0.4

Oracle 11g数据库最后一个组件版本(Component-Specific Release Number)11.2.0.4终于发布了。这里我也做了一个升级测试。关于新版本功能描述,可以在 Oracle Database 11g Release 2 (11.2.0.4) New Features 中查看。

下面是升级的流程:
Continue reading

Posted in Database, Oracle.

Oracle RAC HAIP测试

1. HAIP简介

Oracle从11.2.0.2开始引入了一个新特性网络冗余技术HAIP。HAIP的目的用来代替操作系统级别的网卡绑定以实现Active-Active的模式进行数据传输。一来可以实现传统操作系统网卡绑定带来的故障转移的功能,另一方面则可以更加充分利用其负载均衡的特性最大程度的减少因为gc等待带来的性能问题。

如果更多的网络适配器被指定,clusterware可以一次激活最多4个专用网络适配器。ora.cluster_interconnect.haip 将为Oracle RAC、Oracle ASM、Oracle ACFS等启用一至四个连接本地HAIP的互联通信网络适配器,注意,如果存在sun cluster,HAIT特性将在11.2.0.2中禁用。
Continue reading

Posted in Database, Oracle.

几个常用的审计触发器

1. 记录登录失败信息的触发器

某个生产数据库存在遇到大量登录失败,可能是某个应用服务器的登录密码设置错了,不断在尝试登录。
由于Oracle的审计系统只对建立的连接进行记录。需要使用ora_is_servererror系统触发器判断来找到未成功建立的session连接信息,最后将结果保存到alert日志中。
Continue reading

Posted in Database, Oracle.

Oracle RAC维护工具集 – 节点层olsnodes和网络层oifcfg

olsnodes

这个是clusterware中的层命令,用于显示集群节点信息。
[grid@racdb01 ~]$ olsnodes -h
Usage: olsnodes [ [-n] [-i] [-s] [-t] [ | -l [-p]] | [-c] ] [-g] [-v]
Continue reading

Posted in Database, Oracle.

使用在线重定义改变表的所在表空间

通常情况下,在线改变一个表的定义信息是很困难的。例如,当需要在不影响应用使用的情况下,将表从一个表空间迁至另一个表空间上。如果使用ALTER TABLE命令,则会影响数据的可用性。此时我们就需要用到在线重定义技术,Oracle 9i以上的版本提供了DBMS_REDEFINITION这个包。
现在debugo用户的t表在下TBS_MSSM表空间下,需要迁移到TBS_ASSM表空间下:
Continue reading

Posted in Database, Oracle.

Oracle Shared Pool点滴

1. What’s cursor
A handle or name for a private SQL area inthe PGA. Because cursors are closely associated with private SQL areas, theterms are sometimes used interchangeably.

2. Open_cursors
OPEN_CURSORS specifies the maximum number of open cursors (handles to private SQL areas)
a session can have at once. You can use this parameter to prevent a session from opening an excessivenumber of cursors.
It is important to set the value of OPEN_CURSORS highenough to prevent your application from running out of open cursors. The numberwill vary from one application to another. Assuming that a session does notopen the number of cursors specified by OPEN_CURSORS, there is no added overhead to setting this value higher than actually needed.
3. Shared pool包括
(1). Library cache:存储最近的可执行状态(解析过/编译过)的SQL语句和PL/SQL代码。
(1.1) library cache或 data dictionary cache的miss比buffer cache的miss代价大的多。例如软解析只需要CPU和library cache latch资源,而硬解析需要大量的CPU、library cache latch和shared pool latch。硬解析在SQL语句的解析和执行阶段都会发生。所以分配足够的内存是非常必要的。
(1.2) 如果没设置large_pool的情况下,Sharedserver连接,共享查询,RMAN都消耗了大量的shared pool内存。所以在SGA内存设置large pool来处理这些操作很有必要。
(1.3) shared pool中的内存分配以块的形式进行分配,以减少碎片的产生。
(2). Data dictionary cache: 数据字典缓存
(3). Server result cache:缓存查询和PL/SQL执行结果。可选的缓存区,由result_cache_max_size参数控制。
4. 在默认的CURSOR_SHARING=EXACT情况下,不同SQL文本、空格,大小写和注释的SQL语句都不能共享。例如
SELECT * FROM employees;
SELECT * FROM Employees;
SELECT * FROM employees;

Continue reading

Posted in Database, Oracle.

使用Oracle LogMiner找回丢失的数据

最近的一次应用上线故障,导致一些数据被错误的DML修改。这里考虑用LOG MINER从归档日志文件中找回DML信息来恢复。

数据库是一个包含2节点的RAC环境,首先通过gv$archived_log查询一下那个时间段的日志信息:

Continue reading

Posted in Database, Oracle.

Oracle 10.2.0.4.x 升级实录

三年前的一个单机Oracle数据库版本是10.2.0.4.3,需要升级到10.2.0.4.12,该版本是10.2.0.4系列最后一个稳定补丁版本。如今10.2只有Software Extended Support的许可才能下载相应的补丁=。=
对应的补丁如下:
Bug 12879933 – 10.2.0.4.12 (Apr 2012) Database Patch Set Update (PSU) Overlay (文档 ID 12879933.8)
(It is an overlay patch which must be installed on top of 10.2.0.4.4 Patch:9352164.)
所以还需要升级到10.2.0.4.4
Bug 9352164 – 10.2.0.4.4 (Apr 2010) Database Patch Set Update (PSU) (文档 ID 9352164.8)

1. 更新Opatch

—-检查opatch版本—-

Continue reading

Posted in Database, Oracle.