从一个案例看PL/SQL代码片的编译与运行
PL/SQL语言是Oracle针对数据库业务逻辑需求开发的一种面向过程的结构化编程语句。在Oracle内核中,存在PL/SLQ引擎和SQL引擎两个重要组成部分,分别用于处理结构化的PL/SQL语句和SQL语句。 同所有高级语言一样,PL/SQL语句同样存在编译和运行两个关键步骤。在Compile环节,主要实现语法权限检查、...
Alter Log中VKTM时间drift漂移现象
时间是包括数据库系统在内的诸多信息系统基础件的重要因素。对于运行在操作系统OS之上的中间件组件而言,获取到一个准确、连续和一致的时间非常重要,特别是多节点的环境下。如果没有一个统一的时间管理机制,其上的cluster组件工作是及其困难的。 本篇主要介绍Oracle vktm时间后台进程报警的Bug...
使用Dstat来进行Linux综合性能诊断
性能测试、评估和优化一直是系统管理维护人员工作的重点。当我们针对一台生产应用进行分析的时候,获取如CPU、内存、IO、网络吞吐和进程负载的基础数据,对于后续的性能评测和优化是至关重要的。 Linux作为目前应用最广泛的服务器操作系统,为了应对各种性能问题,已经发展出很多原生的性能检测工...
使用DataPump的Sample参数来进行数据抽样
数据泵Datapump是Oracle推出的一项非常方便的数据逻辑备份还原工具。同传统的Exp/Imp相比,Datapump无论在性能、功能上都提供了很多优势进步。在实际工作中,大数据抽样是一个经常出现的业务需求。对一个海量数据表,也许抽取有代表性的数据量就可以完成相应工作。 在select语句中,我们的确可以...
聊聊Dataguard的三种保护模式实验(下)
4、最大保护模式Maximum Protection 最大保护模式是DG可以提供的最高保护级别,建立在日志同步传输和确认的基础上。同样,可以使用alter database方法进行设置。 SQL> alter database set standby database to maximize protection;Database altered &nb...
聊聊Dataguard的三种保护模式实验(上)
Data Guard是Oracle高可用性HA的重要解决方案。针对不同的系统保护需求,DG提供了三种不同类型的保护模式(Protection Mode),分别为:最大保护(Maximum Protection)、最大可用(Maximum Availability)和最大性能(Maximum performance)。在实际应用场景下,我们需要根据不同的业务场景和数据可用性需求,...
聊聊Oracle 11g的Snapshot Standby Database(下)
3、Snapshot Standby行为研究 下面我们分析一下Snapshot Standby的工作性质和行为性质。我们在主库方向研究当前状态。 --主库日志情况 SQL> select group#, sequence#, archived, status from v$log; GROUP# SEQUENCE...
聊聊Oracle 11g的Snapshot Standby Database(上)
Oracle 11g是Data Guard的重要里程碑版本。在11g中,Active DataGuard、Advanced Compression等特性大大丰富了Data Guard的功能和在实践领域应用的广度。其中,除了传统的Physical Standby和Logical Standby,11g推出了新的Standby类型——Snapshot Standby。Standby的实质是“同步更新”,无论是Physical ...
Oracle Standby Redo Log实验两则
Standby Redo Log是Oracle Dataguard的重要组件内容。在笔者看来,Standby Redo Log就是Physical Standby进行数据同步的online redo log。Standby端要想进行同步数据,就必须存在一组或者多组的Standby Redo Log。 根据不同的保护模式(Protection Mode),主库Primary和备库Standby维持一种同步...
Dataguard Standby备份报错RMAN-06820 ORA-17629解决
<p style="text-indent:2em;"><span style="font-size:16px;"> </span></p><p style="text-indent:2em;"><span style="font-size:16px;">Oracle Dataguard</span><span style="font-family:宋体;font-size:16px;">是官方重要</span><span style="font-size:16px;">HA</span><span style="font-family:宋体;font-...
AWR信息报告
<p style="text-indent:2em;"> </p><p style="text-indent:2em;"><span style="font-size:16px;">AWR</span><span style="font-family:宋体;font-size:16px;">报告是我们研究分析</span><span style="font-size:16px;">Oracle</span><span style="font-family:宋体;font-size:16px;">性能,特别是应用程序工作特...
聊聊RMAN的ARCHIVELOG DELETION参数(下)
RMAN是Oracle推出的官方备份还原工具。经过几个大版本的发展,RMAN已经支持多种备份介质和恢复策略的主要工具,也是业界普遍认可是Oracle备份还原官方策略。Archivelog是Oracle备份还原策略的重要组成元素,不完全备份+连续的归档日志可以让我们将数据库恢复到发生故障点,实现数据的无损失恢复。但是,现实生活中archive log给没有经验的运维人员也带来了不少的问题,归档空间占满引起Hang住、瞬间归档日志过多生成引起问题等。一些前辈也在不断强调“归档模式不美好”。
聊聊RMAN的ARCHIVELOG DELETION参数(上)
RMAN是Oracle推出的官方备份还原工具。经过几个大版本的发展,RMAN已经支持多种备份介质和恢复策略的主要工具,也是业界普遍认可是Oracle备份还原官方策略。Archivelog是Oracle备份还原策略的重要组成元素,不完全备份+连续的归档日志可以让我们将数据库恢复到发生故障点,实现数据的无损失恢复。但是,现实生活中archive log给没有经验的运维人员也带来了不少的问题,归档空间占满引起Hang住、瞬间归档日志过多生成引起问题等。一些前辈也在不断强调“归档模式不美好”。在RMAN工作参数中,针对archive log,是可以设置专门的删除策略(Deletion)。在实践领域中,已经备份过或者确保安全传输的归档日志,其实就可以删除了,特别是在有限的Fast Recovery Area管理模式下。对于自动删除archive log的策略,比较常见的是applied to standby和shipped to standby,也就是Data Guard场景下。
Oracle元数据重构实验
元数据是几乎所有数据库都具有的基础数据,其中包括基础数据字典、系统功能视图和函数结构等内容。越是功能强大成熟的数据库产品,其元数据信息越是众多复杂。在Oracle世界中,我们经常使用的性能工具AWR、作业Scheduler和RMAN工具,甚至Data Pump工具,都是建立在数据字典的基础上。大部分数据字典是在sys和system用户schema下,普通用户只是通过同义词调用和访问对象,删除破坏的风险的是比较低的。在实践工作中,主要有两种情况会破坏元数据:管理员帐号误操作和系统内部运行数据损坏。无论是哪一种情况,元数据损坏的故障通常是很麻烦的,越是基础的元数据损坏,故障现象就越是紧急复杂和多变。
由Oracle Bug引起的AWR Snapshot收集故障
AWR报告是Oracle从10g开始引入的一项重要性能特性。以9i可选组件Statspack为基础,借助自动周期作业,我们可以获得一系列的Oracle性能片段,从而在出现性能问题的时候更加从容。AWR引入的一个结果,就是系统需要根据配置内容将性能数据保存在数据库中。从10g之后,sysaux表空间从system表空间从脱离开来,就提供了这种可能性。我们在实际运维工作中,是可能会遇到AWR元数据引起的故障问题。本篇主要介绍这个案例,留待需要同仁待查。
Linux LVM空间拓展演示
虚拟化逐渐成为我们日常运维工作的主要部署策略。在虚拟化带来的各种好处中,硬件资源动态调整是传统物理机难以企及的优势方面。针对不同类型的应用和性能需求,我们可以为各个应用系统提供更加个性化的部署方案和资源解决方案。而且,当存储、CPU和内存等资源不足的时候,我们是可以快速的提供资源补充给应用。
实现Oracle非1521标准端口动态注册
动态注册dynamic registry和静态注册是Oracle实例和监听器之间建立联系的重要方式。从现在趋势看,默认监听器+动态注册已经成为默认Oracle标准配置。在一些场景下,处于安全的原因可能需要修改标准监听配置和注册方式。本篇主要介绍如何实现非1521端口进行动态注册方法。
非规范处理IMP-00010错误一例
<p style="text-indent:2em;"><span style="font-size:12pt;"><span>Exp/Imp</span></span><span style="font-family:宋体;font-size:12pt;">堪称是</span><span style="font-size:12pt;"><span>Oracle</span></span><span style="font-family:宋体;font-size:12pt;">产品系列中的经典之作,以其简单易用在技术人员中广受...
使用Ccscan进行数据字符集转换验证(下)
上篇中,笔者演示了如何安装调用Ccscan工具,下面继续通过演示实验进行测试。 4...
使用Ccscan进行数据字符集转换验证(上)
字符集问题是IT领域各个方面都需要面对的问题。从最早网页编程乱码,到数据库报表显示乱码,搜索...