使用Oradebug修改Oracle SCN
Oracle SCN对于数据库运行、维护而言是至关重要的因素。在启动从mount到open过程中,主要是各种文件的SCN进行比较的行为。通常情况下,我们是不需要介入到Oracle SCN的取值和设置,甚至错误的干预可能会引起严重运行事故。 在之前的文章中,笔者介绍过使用隐含参数和跟踪事件来推动Oracle SCN前进...
配置Linux环境下多网卡高可用网络端口
网络是信息系统的核心关键。目前主流的信息系统结构体系中,数据库存储往往都是在系统的后端,不直接与前端用户相对。同时,在诸如SAN和NAS等基于网络体系的存储环境中,可靠的网络环境是我们必须考虑的因素。 从常见系统运维事故中,意外断电、断网和空调漏水是三个主要故障因素。意外的网络中断...
使用NID修改DBID和DBNAME实验(下)
3、单独修改DBID情况 如果是单独修改DBID的情况呢?需要修改的范围略小一些。 [oracle@MYTElife admin]$ env | grep ORAORACLE_SID=testdbORACLE_BASE=/u01/app/oracleORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 启动数据...
使用NID修改DBID和DBNAME实验(上)
在Oracle中,DBID和DBNAME是两个低调但又是及其重要的对象。作为标记信息,DBID和DBNAME广泛的出现在参数文件、密码文件、数据文件和日志文件中,更有甚者在备份集合归档日志中。笔者看过一位前辈的文章中,强调称职DBA应该将管理数据库的DBID牢记于心。 一般情况下,已经创建好的数据...
使用BBED修改文件头解决数据库Open验证问题(下)
在上篇中,我们进行了环境准备。(http://blog.itpub.net/17203031/viewspace-2126665/)下面就可以进行问题修复动作。 3、故障修复 总体修复的思路是:使用BBED,将文件头的SCN等关键信息修改到与控制文件control file相匹配即可。 当前,控制文件各个...
使用BBED修改文件头解决数据库Open验证问题(上)
笔者在《一次数据文件镜像丢失引起的故障解决》(http://blog.itpub.net/17203031/viewspace-2126579/)中,使用了强制关闭数据库Open过程中完整性验证来开启数据库。除此之外,还可以使用数据文件头修改的方法,“骗过”Oracle启动机制。 本篇就通过BBED来模拟错误和进行修复。注意:BBED是Oracl...
使用Out of Place升级策略进行Oracle Patch操作
数据库升级、打补丁是我们经常面对的日常工作内容。在正常情况下,两个因素是我们必须要考虑的问题:停机时间窗和回退方案。就Oracle而言,即便是最简单的更新操作,都难以做到“零停机”。回退方案是在一旦发现新版本存在问题,迅速的回退到原有的版本,支持应用访问。 目前,Oracle推荐两种大规...
一次数据文件镜像丢失引起的故障解决
对DBA而言,世间最悲催的事情不外于由于软硬件故障(硬件居多)引起的数据丢失,同时发现没有备份,恢复无门。但是,笔者并不认为“归档模式+若干备份”是避免出现问题的法宝。“狡兔三窟”,事先多留退路可能是成熟DBA应有的职业素养。关键时刻,一个几天前的Dump文件、几个月前的配置表和系统特性往往是拯救D...
使用AWK分析Oracle系统锁定、Hang状态
在早期Oracle版本中,由于技术不成熟等原因,数据库锁定和僵死状态还是时有发生的。对待这些问题,老先生们的处理策略无外乎是“重启”和“考究”两种策略。所谓“重启”,通过强制的重启服务器或者数据库,将软硬件偶然出现的锁定僵死状态重置,是一种最简单的处理办法。但是,如果是应用程序层面潜在的缺陷、...
使用Preprocessor预处理器语句对外部表进行介入处理
Oracle外部表External Table是一项比较传统方便的工具。使用独立在文件系统中的文本文件为载体,通过Directory对象建立起虚拟数据表(External Table)和数据文件数据之间的关系。同时,通过直接加载等技术提高数据导入过程速度,让用户使用起来可以得到同数据库表相同的查询检索效率。 对于Exter...
Alert Log中回收站对象操作告警
Alert Log是我们进行日常巡检、故障调整和问题发现的重要研究对象。通过对数据库Alert Log的研究分析,很多问题都可以得到比较全面的掌握,我们也可以从中获得很多知识。 1、问题说明 在笔者观察的一台数据库中,Alert Log出现如下信息: Thu Oct 06 22:00:00 2016...
聊聊Oracle 11g中的char类型使用
在Oracle数据表和程序类型中,字符类型可能是使用最多的一种了。从历史上看,Oracle首先推出了固定长度char类型字段,之后才推出了变长度类型varchar2。目前,主流Oracle应用开发都已经普遍接受了varchar2作为数据表字段类型表示。如果存在超长字符,都考虑使用CLOB这类大对象进行存储。 但是,我...
Postgresql Linux版本安装——RPM包安装
Postgresql和MySQL是目前比较流行、活跃的开源关系型数据库系统。相对于高端Oracle商业产品,Postgresql和MyQL在软件成熟度、发展功能上的确还有很大改善空间。但是在系统选型过程中,基础软件水平是要受到未来系统整体负载、运维要求和重要的预算决定的。好东西是好,但也要看我们是否需要他,或者是否用得起...
DataGuard环境下备库RMAN-05021问题有效性解决方案
Dataguard环境作为Oracle官方重要的HA功能组件,在实践领域有非常多的应用场景和成功案例。同任何技术一样,在配置过程中,会出现一些问题需要解决。本文主要介绍在修改Physical Standby备份Rman参数中出现的问题和解决策略。 1、问题描述 笔者环境为11.2.0.4的Dataguard环境,两台...
为Linux版本Oracle 11gR2配置HugePage
HugePage是Oracle在Linux版本下一种性能优化手段。对于共享内存区域(SGA)的数据库系统,Oracle通常都推荐在操作系统层面配置上HugePage,为Oracle实例准备更大的可用共享内存和整块的内存。 本文主要介绍在Oracle 11gR2版本上,进行HugePage配置全过程。记录下来,共需要的朋友待查。 ...