天凯科技的博客

十年磨一剑,天凯科技分享有价值的数据库运维经验

转载 查杀Oracle RMAN备份任务进程【常见DBA实用应急处理】

在ORACLE做RMAN备份的过程中,如果数据量较大,备份时间会非常耗时,并且对IO性能有较大影响,下面脚本可以查看RMAN的备份进度,从而估算剩余备份时间: –查看RMAN备份进度 SELECT inst_id, sid, serial#, opname, ROUND(SOFAR / T...

2020-01-12 14:37:36

阅读数 11

评论数 0

转载 创建Oracle存储过程循环查杀过期连接会话【企业DBA实战任务】

在一些写法不够严谨的程序代码设计上,一些数据库连接,在处理完数据请求后,没有主动释放或关闭,从而导致数据库层面积累了大量的无用连接,这些连接占用大量的数据库资源,在无法对代码做调整的情况下,可以从数据库层面主动结束或关闭这些会话连接,下面是针对这个问题设计的存储过程: CREATE OR REPL...

2020-01-12 14:35:50

阅读数 9

评论数 0

转载 设计Oracle统计信息自动更新的存储过程【DBA企业实战任务】

在数据库的运维工作中,经常会遇到一些表的数据量倾斜很严重,例如针对某些特定业务,一些大表需要经常做初始化任务操作,这时候若表的统计信息已过期或不够准确,会引起执行计划的数据有误,所以有时候需要手工去分析这些表的统计信息,但这样做比较耗时间与精力,为了解决这个问题,可以针对这些特定表,或数据倾斜严重...

2020-01-12 14:32:22

阅读数 10

评论数 0

转载 DBA紧急排杀脚本-救火模式

作为一个压力山大的DBA,很多时候需要面对处理一些紧急突发的救火任务,当业务出现异常,性能接近瘫痪的夺命一刻,需要果断出击,把系统业务的影响减少到最小,至于原因分析,可以交到后续分析,下面将针对不同的困境,作出排杀处理: 1,批量杀掉oracle连接进程:这种情况是终极绝招,在面对性能将要瘫痪的...

2019-11-28 09:47:18

阅读数 132

评论数 2

转载 SQL Server导出账号和密码

SQL Server通过任务脚本导出只有创建用户的语句,无密码这个在迁移过程很痛苦.所以官方网站提供一个存储过程sp_help_revlogin请送导出账号和密码. 找到想要的账号在B(恢复机)恢复即可 打开 USE master GO IF OBJECT_ID ('sp_hexadec...

2019-11-19 09:46:07

阅读数 10

评论数 0

转载 expdp远程导出方式network_link使用

很多时候,出于数据安全考虑,需要备份一些重要的业务数据,但这个时候服务器没有直接登录的权限,我们只能通过数据库用户名方式进行访问,这个时候可以考虑用exp,但exp毕竟是个旧版的工具,功能没有expdp那么全面,但由于expdp只能在服务端进行本地备份写入,受限比较大,这个时候可以考虑用expdp...

2019-11-10 16:35:25

阅读数 28

评论数 0

原创 ERROR OGG-01168使用allownoopupdates参数解决

(一) 报错概述: gg 数据同步的 SCHEMA 下一张table 主备同步, 当在source 操作时(expdp 导出一张表时),此时 target , replicat abended 掉。 (二) 以下下是报错信息:(target 端) GGSCI (dominic.mysql2) 65...

2019-11-10 16:17:51

阅读数 25

评论数 0

原创 OGG由于长事务无法停止抽取进程

由于抽取进程延时较大,想尝试重启进程,但正常关闭报下面错误: Sending STOP request to EXTRACT E_CRM ... There are open, long-running transactions. Before you stop Extract, make th...

2019-11-10 16:12:48

阅读数 75

评论数 0

原创 goldengate开启DDL配置@ddl_setup.sql执行报错

开启DDL配置: 1、关闭数据库回收站: SQL>alter system set recyclebin=off scope=both; 2、编辑globals参数文件,标明支持DDL的GG对象存放在哪个schema下: GGSCI>view param ./globals GGSC...

2019-11-09 22:28:29

阅读数 53

评论数 0

原创 swap分区调整

由于安装Oracle 的时候,swap太小只划分了4G,后期发现交换分区太小,不满足使用,于是进行了swap分区的扩容 过程: swap分区的扩展很简单,但是需要root用户权限 dd if=/dev/zero of=/swap bs=1024M count=16(从/分区分出8x1024M大小的...

2019-11-09 22:13:15

阅读数 30

评论数 0

原创 LINUX动态调整LVM

如果需要将一个已经挂载的分区进行容量缩小,将腾出的容量划分成其他分区,需要怎么做呢?下面为详细步骤: 1.卸载 touch /opt/test.txt -->写入一些文件 umount /opt 2.文件系统检查 fsck -f /dev/mapper/VolGroup00-LogVol0...

2019-11-09 22:03:58

阅读数 8

评论数 0

原创 使用parted 分区2TB以上磁盘

在生产环境下,一般不会用到软RAID, 服务器是通过RAID卡将多块磁盘形成一个磁盘阵列。在启动系统后,有会一个没有分区的大磁盘。这种情况下就不能使用fdisk命令进行分区了。在这里,我们使用parted来进行分区。 这里我用一个2TB的磁盘来估演示,如果使用parted将整个磁盘阵列分为一个分...

2019-11-09 21:43:23

阅读数 13

评论数 0

原创 Centos 6.5安装VNC Server

CentOS_6.5安装VNC_Server 1.安装桌面环境所需软件包: yum grouplist | more yum groupinstall "Desktop" "Desktop Platform" "Desktop Plat...

2019-11-09 21:36:16

阅读数 19

评论数 0

转载 MYSQL误删数据恢复

MYSQL误删数据恢复,有备份的话很简单,只需要生成一个最近备份的数据 然后用mysqlbinlog找回备份时间点之后的数据 再恢复到现网即可。要是没有备份 可能就会比较麻烦,找回数据的成本也是非常之高的. 下面介绍下 mysqlbinlog找回备份时间点之后的数据的办法: 做个简单的实验,将...

2019-11-09 17:44:08

阅读数 17

评论数 0

转载 SQL SERVER数据库批量日志还原生成脚本

在对SQL SERVER数据库进行异地恢复的过程中,很多时候,由于完整备份时间比较久远,或数据库事务日志的备份频率较高,如想把数据库恢复到最新的状态,需要进行多次的日志还原,这个时候手动操作比较繁琐,下面将用脚本方式将在源库批量生成还原脚本,可在异地一次性批量执行,比较方便灵活: SELECT ...

2019-11-09 17:30:44

阅读数 16

评论数 0

原创 SQL SERVER如何还原一个误删表数据

–1先做数据库完整备份还原,还原到临时库: USE [master] RESTORE DATABASE [hotel_bak] FROM DISK = N'D:\BackupDB\Hotel\Hotel_2018_04_21_0213.bak' WITH FILE = 1...

2019-11-09 17:23:05

阅读数 53

评论数 0

原创 Oracle数据库断电致使控制文件不一致的恢复方法

一. 数据库断电致使控制文件不一致的恢复方法 数据库服务器意外断电出现ORA-00600[kcratr_nab_less_than_odr],不能open数据库 1.open数据库报ORA-00600[kcratr_nab_less_than_odr] SQL> ALTER DATABASE...

2019-11-05 09:03:04

阅读数 52

评论数 0

原创 exp导出出现EXP-00091异常

一.一个9I的库EXP时出现EXP-00091错误 [oracle@localhost tmp]$ exp "'/ as sysdba'" tables=testxuchao.TAB_XN_PY_DICT \ > file=/tmp/xifenfei...

2019-11-05 08:54:27

阅读数 17

评论数 0

转载 Goldengate数据初始化同步实战方案

一、 前言 Goldengate数据初始化同步是指对数据同步两端进行重新配置,使数据重新得到正常同步的过程,有时候因OGG的两端数据发生异常更改,或归档日志意外删除等原因,同步已不能正常运行,这个时候不得不需要重新初始化,以下为整个初始化的详细步骤,以后有需要可按这个步骤进行配置. 二、 操作...

2019-10-28 11:18:22

阅读数 51

评论数 0

原创 RAC中SSH互通性异常的处理

问题现象: RAC的各节点ssh互相ssh连接发生异常,CRS警告日志出现以下信息: [client(32384)]CRS-10051:CVU found following errors with Clusterware setup : User equivalence not found ...

2019-10-27 22:25:31

阅读数 58

评论数 0

原创 数据库UNDO损坏无法打开的处理方法

问题现象: 数据库意外断电后启动到OPEN状态时失败,警告日志报以下错误 ORA-00600: internal error code, arguments: [4194], [56], [4], [], [], [], [], [] 问题分析: 对于这种断电意外重启DB的现象,如警告日志出现OR...

2019-10-27 22:23:59

阅读数 31

评论数 0

原创 日志繁忙导致UPDATE语句挂起

某天运行一条很普通的UPDATE语句: update mbs7_ar.Ys_PackageCashFlow set IsApplyCheck=1 where Id = 72648; 卡在那里半天没运行完 查看该语句的执行计划也是正常: Execution Plan----------------...

2019-10-27 22:14:01

阅读数 26

评论数 0

转载 Oracle分布式查询语句的优化

分析: 由于优化器无法判断或获得远端表的统计信息,故原执行计划默认会采取把远程表(无论大小)拉到本地再连接的方式执行,这样如果远程表较大的情况将会比较缓慢,像上述查询耗时在1分钟以上。 原SQL语句: Select Wb.*, (Select Wi.Nextarrivedate ...

2019-10-26 21:35:51

阅读数 152

评论数 0

转载 Oracle系统表对象损坏导致DOWN机的分析

问题现象 归档库于3月30日凌晨4点14分多异常DOWN机,次日早上手工启动成功,目前该库的版本较低11.2.0.1,偶尔有ORA-600触发,但这次是首次直接让实例DOWN机。 故障分析 查看当时alert警告日志: 从这里可看出,30日的凌晨:02:00启动的清理资源维护计划中(每天2...

2019-10-26 21:31:19

阅读数 118

评论数 0

原创 Oracle密码延迟验证导致的系统HANG住

问题现象: 更改密码后,每次连接异常慢,就算用正确的密码连接,验证延时也非常大,导致应用程序连接反复出现超时现象; 问题分析: 经查实,这是由于11G的延迟密码特性引起,特别在一些自动连接特性的应用来说,如果密码认证错误,会一直累积密码验证时间,导致后面的正确验证也异常超时,这种问题一般发生在修改...

2019-10-26 21:15:11

阅读数 79

评论数 0

原创 NOLOGGING引致的数据不一致

周一调整快速恢复区还原后,出现了块损坏的情况: 已经找到今天模拟环境部分表使用索引查询报数据块损坏的原因。 原因是昨晚在重建索引时,为提示重建索引的性能,重建时指定了表的索引Nologging,而恰好备份是在1点执行,在备份的45分钟内,重建的索引在还原到模拟环境时因nologging就出现了一...

2019-10-26 21:13:03

阅读数 54

评论数 0

转载 Oracle SQL执行计划异常解析的处理方法

现象: 该语句一直以来都比较高效,执行计划用了索引范围扫描后经历三次嵌套循环,可在2秒内返回结果,但今天经同事反映却走了1分多钟! 原SQL语句: Select * From (Select Rownum As Rownumber__, t.* From (Select...

2019-10-26 21:02:26

阅读数 351

评论数 0

转载 Oracle归档日志异常被删除的原因

问题现象: 因业务组需求,需查一个表的历史操作记录,当时这个表没做审计,于是只能用logmnr日志挖掘的功能去查,后来发现前一日的某个时间段的归档日志消失了,应该是中间出现一个间隔,这个问题比较奇怪,因为备份任务清理过期归档日志并不在这个时间段,而且经查实并没有人为删除操作。 问题分析: 经...

2019-10-26 20:53:54

阅读数 270

评论数 0

原创 SQL隐式转换带来的性能问题

碰到一SQL异常慢,从执行计划来看,走了正常的索引,经过进一步分析: 原SQL语句: SELECT ROWNUM AS ROWNUMBER__,T.* FROM (Select T1.ID AS "InvMainID", T2...

2019-10-26 20:43:26

阅读数 53

评论数 0

原创 Merge into引用序列的限制

遇到现象: 该PLSQL块服务运行正常,但表S_VipShopStock的主建出现严重跳号,运行第一次max(id)为600,下一次执行id为1200,经过重建序列并且把cache参数改为空也不能解决问题。 原服务(2秒执行一次): begin merge into mbs7_oms.XS_Vip...

2019-10-26 20:33:39

阅读数 103

评论数 0

原创 实战Oracle 11g RAC到单实例DataGuard环境搭建

Oracle RAC集群是双机热备架构,可以实现主机层面的高可用自动切换,但其缺点就是只有一份共享存储文件,所以为了保证数据的安全性,在RAC的前提下增加dataguard主备数据冗余很有必要,下面方案是对源端是RAC集群架构,并且处于上线的生产库,不能停机的情况下如何配置RAC到单机的DG热备。...

2019-10-25 16:59:13

阅读数 110

评论数 0

转载 Oracle数据库 ORA-600 [13013]故障处理

接到电话,客户的核心系统Oracle数据库实例宕机,远程过去在告警日志中看到大量的如下报错,报错很频繁: ...... Fri Jul 25 13:20:14 2014 Errors in file /u01/app/oracle/diag/rdbms/d012band/d012band/...

2019-10-25 13:22:10

阅读数 105

评论数 0

原创 MYSQL自动备份任务设计for Linux

本方案在LINUX下配置MYSQL自动备份任务,并生成压缩文件传输至远程服务器,最后删除历史备份文件。 在LINUX下部署shell程序: #!/bin/bash USER=root PASSWORD="root" DATABASE="oa" ...

2019-10-25 12:26:46

阅读数 54

评论数 0

原创 SQL server自动备份并FTP远程传输

出于安全考虑,SQL数据库备份文件,很多时候需要本地备份完后,传输至远程服务器保留,下面脚本利用SQL代理作业,对多个数据库进行备份后传输至远程服务器: --Backup(循环备份多个数据库) Declare @str varchar(max)='' select @...

2019-10-25 12:26:33

阅读数 81

评论数 0

原创 mysql日志恢复指定表

很多时候,MYSQL数据库由于一些误操作,需要恢复指定表,或某个表指定时间点的数据,这个时候需要根据MYSQL的binlog日志做时间点的恢复,下面将介绍这个方案的具体步骤: 一、登录数据库刷新binlog 1.1)查看当前的binlog show master status; +---...

2019-10-25 12:26:17

阅读数 65

评论数 0

转载 Oracle断电引起坏块的恢复案例

故障现象 由于网络部服务器切换演练,开发库服务器在没有正常关闭数据库的情况下断电关闭,当服务器开机后,数据库启动失败,在open阶段提示:/opt/app/oradata/orcl/system01.dbf不一致,需要介质恢复。 故障处理背景 由于该开发库只有逻辑备份,...

2019-10-25 12:26:00

阅读数 60

评论数 0

转载 SQL SERVER修复孤立用户

目前客户遇到一个这样的问题: 由于某种原因,当时把系统登录用户“##MS_PolicyEventProcessingLogin##”删除了,后在系统日志中发现大量如下提示,每5秒报一次错误。 消息: The activated proc '[dbo].[sp_syspolicy_...

2019-10-25 12:25:43

阅读数 50

评论数 0

原创 Oracle手工调用SQL TUNING调优神器

十年磨一剑,厚积薄发! 1.网站具有丰富的数据库实战方案,系统运维方案,高价值精品视频教程等; 2.注册会员可以发布自己的文章资源,赚取稿费!详情请访问并关注PC端: https://dbs-service.cn/ 会员QQ群:532272497 手机/微信:13...

2019-10-25 12:25:29

阅读数 51

评论数 0

原创 oracle内置加解密函数dbms_crypto的应用

很多时候,我们需要对数据库一些敏感信息进行加密,例如用户密码,手机号,身份证等信息,由于采用传统的应用函数加密方式,如md5这种,都是公开解密算法,所以安全性不够高,下面方案将采用Oracle数据库dbms_crypto包进行数据加密,密钥可以自定义保存在数据库,并且可对其定义进行二次加密,安全性...

2019-10-25 12:25:12

阅读数 108

评论数 0

原创 SQL执行计划基线调优

经常遇到这样的场景:一些关键业务的SQL,执行计划是固定的,例如根据某个订单号查询订单的信息,根据用户ID查询用户的详情信息情况等,这个时候为了性能的稳定,会考虑去固化这部分的SQL执行计划,下面是利用Oracle 11g固化执行计划的方法示例: 1,首先创建测试表并收集统计信息: SQL&...

2019-10-25 12:24:56

阅读数 60

评论数 0

提示
确定要删除当前文章?
取消 删除