ORACLE数据库运维
文章平均质量分 84
天凯科技
广州天凯科技,专注数据库运维与优化,十年DBA实战经验,分享海量数据库运维案例与教程,敬请关注我们主页。
展开
-
查杀Oracle RMAN备份任务进程【常见DBA实用应急处理】
在ORACLE做RMAN备份的过程中,如果数据量较大,备份时间会非常耗时,并且对IO性能有较大影响,下面脚本可以查看RMAN的备份进度,从而估算剩余备份时间:–查看RMAN备份进度SELECT inst_id, sid, serial#, opname, ROUND(SOFAR / TOTALWORK * 100, 2) "%_COMPLETE" FROM gV$SESSION_LO...转载 2020-01-12 14:37:36 · 1484 阅读 · 0 评论 -
创建Oracle存储过程循环查杀过期连接会话【企业DBA实战任务】
在一些写法不够严谨的程序代码设计上,一些数据库连接,在处理完数据请求后,没有主动释放或关闭,从而导致数据库层面积累了大量的无用连接,这些连接占用大量的数据库资源,在无法对代码做调整的情况下,可以从数据库层面主动结束或关闭这些会话连接,下面是针对这个问题设计的存储过程:CREATE OR REPLACE PROCEDURE DB_KILL_FRNT_CLIENTS AS job_no ...转载 2020-01-12 14:35:50 · 374 阅读 · 0 评论 -
设计Oracle统计信息自动更新的存储过程【DBA企业实战任务】
在数据库的运维工作中,经常会遇到一些表的数据量倾斜很严重,例如针对某些特定业务,一些大表需要经常做初始化任务操作,这时候若表的统计信息已过期或不够准确,会引起执行计划的数据有误,所以有时候需要手工去分析这些表的统计信息,但这样做比较耗时间与精力,为了解决这个问题,可以针对这些特定表,或数据倾斜严重的表进行自动化分析,这样可以降低DBA的工作量,并且分析比较及时到位,下面是设计这样的存储过程,...转载 2020-01-12 14:32:22 · 510 阅读 · 0 评论 -
expdp远程导出方式network_link使用
很多时候,出于数据安全考虑,需要备份一些重要的业务数据,但这个时候服务器没有直接登录的权限,我们只能通过数据库用户名方式进行访问,这个时候可以考虑用exp,但exp毕竟是个旧版的工具,功能没有expdp那么全面,但由于expdp只能在服务端进行本地备份写入,受限比较大,这个时候可以考虑用expdp的network_link方式进行远程导出或直接导入,下面是这个方案的详细介绍:解决方案:通过dbl...转载 2019-11-10 16:35:25 · 1074 阅读 · 0 评论 -
ERROR OGG-01168使用allownoopupdates参数解决
(一)报错概述:gg 数据同步的 SCHEMA 下一张table 主备同步, 当在source 操作时(expdp 导出一张表时),此时 target , replicat abended 掉。(二)以下下是报错信息:(target 端)GGSCI (dominic.mysql2) 65> info allProgram Status Group ...原创 2019-11-10 16:17:51 · 2005 阅读 · 0 评论 -
OGG由于长事务无法停止抽取进程
由于抽取进程延时较大,想尝试重启进程,但正常关闭报下面错误:Sending STOP request to EXTRACT E_CRM ...There are open, long-running transactions. Before you stop Extract, make the archives containing data for those transactions a...原创 2019-11-10 16:12:48 · 2327 阅读 · 0 评论 -
goldengate开启DDL配置@ddl_setup.sql执行报错
开启DDL配置:1、关闭数据库回收站:SQL>alter system set recyclebin=off scope=both;2、编辑globals参数文件,标明支持DDL的GG对象存放在哪个schema下:GGSCI>view param ./globalsGGSCHEMA ogg 如果由于某些特殊的需求自定义DDL相关对象的名称的话,可以通过重定义位于Gol...原创 2019-11-09 22:28:29 · 1504 阅读 · 0 评论 -
Oracle数据库断电致使控制文件不一致的恢复方法
一. 数据库断电致使控制文件不一致的恢复方法数据库服务器意外断电出现ORA-00600[kcratr_nab_less_than_odr],不能open数据库1.open数据库报ORA-00600[kcratr_nab_less_than_odr]SQL> ALTER DATABASE OPEN; ALTER DATABASE OPEN * 第 1 行出现错误: ORA-006...原创 2019-11-05 09:03:04 · 1277 阅读 · 0 评论 -
exp导出出现EXP-00091异常
一.一个9I的库EXP时出现EXP-00091错误[oracle@localhost tmp]$ exp "'/ as sysdba'" tables=testxuchao.TAB_XN_PY_DICT \ > file=/tmp/xifenfei.dmp log=/tmp/xifenfei.log Export: Release 9.2.0.4.0 - Production o...原创 2019-11-05 08:54:27 · 480 阅读 · 0 评论 -
Goldengate数据初始化同步实战方案
一、 前言Goldengate数据初始化同步是指对数据同步两端进行重新配置,使数据重新得到正常同步的过程,有时候因OGG的两端数据发生异常更改,或归档日志意外删除等原因,同步已不能正常运行,这个时候不得不需要重新初始化,以下为整个初始化的详细步骤,以后有需要可按这个步骤进行配置.二、 操作步骤以下以MOBILE用户初始化为例,其他用户如需初始化更改相应的名字即可:1. 停止各进程:初始化...转载 2019-10-28 11:18:22 · 795 阅读 · 0 评论 -
RAC中SSH互通性异常的处理
问题现象:RAC的各节点ssh互相ssh连接发生异常,CRS警告日志出现以下信息:[client(32384)]CRS-10051:CVU found following errors with Clusterware setup : User equivalence not found for node “oracle02”User equivalence not found for no...原创 2019-10-27 22:25:31 · 1477 阅读 · 0 评论 -
数据库UNDO损坏无法打开的处理方法
问题现象:数据库意外断电后启动到OPEN状态时失败,警告日志报以下错误ORA-00600: internal error code, arguments: [4194], [56], [4], [], [], [], [], []问题分析:对于这种断电意外重启DB的现象,如警告日志出现ORA600 【4194】提示,说明回滚表空间出错,处于不一致状态,如数据库处于非归档并且无备份状态,可用...原创 2019-10-27 22:23:59 · 592 阅读 · 0 评论 -
Oracle系统表对象损坏导致DOWN机的分析
问题现象归档库于3月30日凌晨4点14分多异常DOWN机,次日早上手工启动成功,目前该库的版本较低11.2.0.1,偶尔有ORA-600触发,但这次是首次直接让实例DOWN机。故障分析查看当时alert警告日志:从这里可看出,30日的凌晨:02:00启动的清理资源维护计划中(每天22点到次日2点结束,如统计信息收集,sql tunning advisor这种,2点启动PMON清理进程作业)...转载 2019-10-26 21:31:19 · 585 阅读 · 0 评论 -
Oracle密码延迟验证导致的系统HANG住
问题现象:更改密码后,每次连接异常慢,就算用正确的密码连接,验证延时也非常大,导致应用程序连接反复出现超时现象;问题分析:经查实,这是由于11G的延迟密码特性引起,特别在一些自动连接特性的应用来说,如果密码认证错误,会一直累积密码验证时间,导致后面的正确验证也异常超时,这种问题一般发生在修改应用账户密码后,应用服务器没有及时更新数据库连接信息导致。解决方案:如果需要修改应用账户密码,需要...原创 2019-10-26 21:15:11 · 529 阅读 · 1 评论 -
NOLOGGING引致的数据不一致
周一调整快速恢复区还原后,出现了块损坏的情况:已经找到今天模拟环境部分表使用索引查询报数据块损坏的原因。 原因是昨晚在重建索引时,为提示重建索引的性能,重建时指定了表的索引Nologging,而恰好备份是在1点执行,在备份的45分钟内,重建的索引在还原到模拟环境时因nologging就出现了一致性问题,导致索引块损坏;临时解决办法:重建模拟环境的这些索引根本解决办法:已将正式环境2套R...原创 2019-10-26 21:13:03 · 262 阅读 · 0 评论 -
Oracle归档日志异常被删除的原因
问题现象:因业务组需求,需查一个表的历史操作记录,当时这个表没做审计,于是只能用logmnr日志挖掘的功能去查,后来发现前一日的某个时间段的归档日志消失了,应该是中间出现一个间隔,这个问题比较奇怪,因为备份任务清理过期归档日志并不在这个时间段,而且经查实并没有人为删除操作。问题分析:经分析排查,判断如下:这是由于自动维护任务调用进程VKRM进程清理可回收空间引起的,以下为归档被删除的ale...转载 2019-10-26 20:53:54 · 1411 阅读 · 0 评论 -
实战Oracle 11g RAC到单实例DataGuard环境搭建
Oracle RAC集群是双机热备架构,可以实现主机层面的高可用自动切换,但其缺点就是只有一份共享存储文件,所以为了保证数据的安全性,在RAC的前提下增加dataguard主备数据冗余很有必要,下面方案是对源端是RAC集群架构,并且处于上线的生产库,不能停机的情况下如何配置RAC到单机的DG热备。1 环境说明源端Primary Database 是一个两节点的RAC,存储采用ASM 方式,具体...原创 2019-10-25 16:59:13 · 1560 阅读 · 0 评论 -
Oracle使用触发器限制IP地址连接数据库
很多时候,需要在同一个机房中或内网下,限制测试服务器不能直接连接生产的数据库,首先想到了通过listener来搞定,修改sqlnet.ora文件,然后重新reload一次listener,但是客户有所担心,万一reload的时候,监听不能连接的问题,于是想到通过防火墙,但是客户告诉,通过防火墙,不可能,再想到了通过触发器,但是在测试的时候,有dba权限的用户无效。下面是整个测试解决过程。测试环境...原创 2019-10-25 12:20:59 · 676 阅读 · 0 评论 -
centos7下静默安装oracle11g
DBA经常需要安装配置ORACLE,但在LINUX环境下,有时候客户环境受限的原因,导致无法调用图形界面来进行数据库安装,这个时候需要学习静默的方式安装,下面是在LINUX下静默方式安装ORACLE11G:1、先确定yum能使用,网路能连上网络yum install vim -y2、yum install unzip -y3、安装oracle需要的rpm包,直接运行下面命令即可批量安装:...原创 2019-10-25 12:21:33 · 372 阅读 · 0 评论 -
Goldengate实时短信告警实现
前言goldengate数据同步方案灵活高效,可满足各企业各行业的同步数据需求,但由于其高成本的维护,对专业性要求较高,另外ogg的进程受到源端表结构变更,异常操作,目标数据库环境等各方面限制,将会造成进程的挂起,这样会让同步中断,所以对goldengate进程的监控尤为重要!脚本能对进程挂起进行实时告警,起到及时处理故障的重大作用,下面脚本将通过多年的经验积累开发而成,主要是通过短信形式对进程...转载 2019-10-25 12:23:18 · 467 阅读 · 0 评论 -
ORACLE Bug 4431215 清空归档日志引发的血案—处理篇
今早一大早就到了公司,正想去享受美味早餐,出于职业反映去检查了下几个核心RAC数据库,居然发现其中一个RAC数据库的两个节点的ALERT日志均有错误,其中一个节点更是持续滚动输出,马上提起12分的精神开始面对这新的挑战。初步查看发现,两个节点通过PL/SQL均不能连接,但是本机能正常登陆,而查询业务语句只有在节点1可以运行,但节点1也经常处于HANG这个状态。错误日志:节点1的ALERT日...原创 2019-10-25 12:23:35 · 493 阅读 · 0 评论 -
Goldengate异构同步方案(oracle to mysql)
对于不同数据库类型的业务系统,为了对接业务,很多时候需要做数据同步处理,Goldengate异构同步可以比较灵活处理这些问题,该方案描述了异构同步的具体配置步骤。ORACLE源库配置准备工作:1)开启附加日志selectsupplemental_log_data_minfromv$database;SUPPLEME---------------NO...原创 2019-10-25 12:24:19 · 412 阅读 · 0 评论 -
RAC数据库存储在线不停机更换方案
一、方案背景 本次迁移是针对ORACLE 11GR2 RAC的存储进行本地切换迁移,由于数据库文件数目较多,数据量大,并且停机时间限制较大,故用传统的数据文件移动,需要offline离线业务表空间,并且数据库系统数据文件需要在非打开状态下做迁移,对业务造成较大的暂停影响,并且操作过程容易出现细节错误,故考虑采用11G ASM的在线rebalance功能,将ASM数据库文件...原创 2019-10-25 12:24:38 · 1041 阅读 · 0 评论 -
SQL执行计划基线调优
经常遇到这样的场景:一些关键业务的SQL,执行计划是固定的,例如根据某个订单号查询订单的信息,根据用户ID查询用户的详情信息情况等,这个时候为了性能的稳定,会考虑去固化这部分的SQL执行计划,下面是利用Oracle 11g固化执行计划的方法示例:1,首先创建测试表并收集统计信息:SQL> drop table t;SQL> create table t as select...原创 2019-10-25 12:24:56 · 326 阅读 · 0 评论 -
oracle内置加解密函数dbms_crypto的应用
很多时候,我们需要对数据库一些敏感信息进行加密,例如用户密码,手机号,身份证等信息,由于采用传统的应用函数加密方式,如md5这种,都是公开解密算法,所以安全性不够高,下面方案将采用Oracle数据库dbms_crypto包进行数据加密,密钥可以自定义保存在数据库,并且可对其定义进行二次加密,安全性高,对于对敏感信息保密性要求较高的业务,可以考虑此方案!1,赋权给相应用户(使用加解...原创 2019-10-25 12:25:12 · 3904 阅读 · 0 评论 -
Oracle断电引起坏块的恢复案例
故障现象 由于网络部服务器切换演练,开发库服务器在没有正常关闭数据库的情况下断电关闭,当服务器开机后,数据库启动失败,在open阶段提示:/opt/app/oradata/orcl/system01.dbf不一致,需要介质恢复。故障处理背景 由于该开发库只有逻辑备份,没有物理备份,并且逻辑备份只是备份了数据库结构,并没有真实的数据,虽然开发库数据...转载 2019-10-25 12:26:00 · 543 阅读 · 0 评论 -
Oracle数据库 ORA-600 [13013]故障处理
接到电话,客户的核心系统Oracle数据库实例宕机,远程过去在告警日志中看到大量的如下报错,报错很频繁:......Fri Jul 25 13:20:14 2014Errors in file /u01/app/oracle/diag/rdbms/d012band/d012band/trace/d012band_smon_5964354.trc (incident=43361):...转载 2019-10-25 13:22:10 · 819 阅读 · 0 评论 -
实战生产库上不停机搭建ORACLE DataGuard
此方案适合于生产运营中的数据库,DB服务器停机时间非常苛刻,或无法停机维护的情况下,如支付,电商等业务,可通过该方案在线部署Dataguard,对客户系统无任何影响。一、基础信息操作系统:windows2008数据库:11.2.0.3配置信息:说明 主机名 IP地址 db_name sid DB_UNIQUE_NAME ...转载 2019-10-25 12:23:54 · 5037 阅读 · 1 评论 -
Oracle手工调用SQL TUNING调优神器
十年磨一剑,厚积薄发!1.网站具有丰富的数据库实战方案,系统运维方案,高价值精品视频教程等;2.注册会员可以发布自己的文章资源,赚取稿费!详情请访问并关注PC端: https://dbs-service.cn/会员QQ群:532272497 手机/微信:13926108245原创 2019-10-25 12:25:29 · 457 阅读 · 0 评论