去除重复记录记录
做导入数据的时候,不小心把一个表中的数据全都搞重了,也就是说,这个表里所有的记录都有一条重复的。这个表的数据是千万级的,而且是生产系统。也就是说,不能把所有的记录都删除,而且必须快速的把重复记录删掉。对此,总结了一下删除重复记录的方法,以及每种方法的优缺点。为了陈诉方便,假设表名为Tbl,表中有...
oracle隐藏参数的查看和使用
今天在论坛里,有个朋友问了个问题,非归档模式下,将其中一个数据文件offline,之后数据库又切换了很多的日志,又重启过,还没备份,现在想将之前的数据文件online,结果可想而知,具体如何分析处理?像这种情况,...
Oracle 高水位线的一点研究
最近学习了一阵子Oracle, 感觉Oracle真的是博大精深, 包括Oralce内存结构,性能调整,数据备份等都不简单, 这些对开发也很重要, 下面把做的Oracle高水位线的一些实验贴出来, 方便以后Review: 高水位线实验: -- 创建test3表 SQL> create table test3 as 2 select * from dba_objects whe...
linux vmstat 命令
vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令,一个是Linux/Unix都支持,二是相比top,我可以看到整个机器的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存...
latch:cache buffers chains的优化思路
数据块在buffer cache存放是以linked list方式存放的。当一个session想要访问/修改buffer cache的block,首先需要通过hash算法检查该block是否存在于buffer cache中,检查相同的SQL语句是否存在于library cache中也是通过hash算法实现的。要判断block是否存在于buffer cache中,就需要扫描linked list(此...
Oracle 11g业务用户更改密码后产生大量library cache lock等待
在我的一个两节点RAC数据库上,alert日志中平均每3秒左右就会产生一条ORA-3136连接超时错误,登录数据库之后,检查会话的等待事件,发现很多会话的event为library cache lock,并且发现由于library cache lock造成锁阻塞的会话也很多,从AWR报告的Time Model Statistics部分可以看到,connection management call 消耗的时间占整个DB Time的99.95%,记得以前好象看到过由于11g的新特性密码错误可能造成大量library cache lock的文章,于是上MOS上也查了查相关的文档,结合dba_audit_trail视图发现,从4月7日起到现在,平均每天约有九千多次的登录失败记录,那么是不是4月7日对PAMPAS_W用户更改密码了呢? 通过查询sys.user$也得到了验证,用户在4月7日9点31分更改过密码。到此问题查清了,解决方案也很简单,通知负责应用的工程师来改正密码或者在数据库层面也可通过设置28401事件来屏蔽密码错误验证延迟功能。 oracle采用的这种密码延
ORACLE 10G下LOB_DATA字段类型占满临时表空间问题
??有一套10.2.0.4两节点RAC数据库,大概每隔一星期左右,后台alert就会报临时表空间不足的错误,通过查询发现占用监时表空间的sql是在执行一个包体,该包体已被加密,并且之前该库的临时表空间已经扩展过2次,每次30G,基本上可以说,既使再扩展的话还是有可能造成临时表空间不足的情况,带着这个问题,我们发现占用大量监时表空间的数据类型为LOB_DATA和LOB_INDEX,每个会话占用的临时段大小不一,最大的可能占用到几十G以上,并且还会持续增长,这说明会话占用的临时段一直不释放,积累造成临时表空间满。通过网上搜索及查询MOS文档,觉得可能是ORCLE的bug(Bug 5723140 – Temp LOB space not released after commit [ID 5723140.8]),从10.2.0.4开始虽然已经修复了该bug,但是默认情况下:为了更加高效的利用temp,在session未断开前,不自动释放temp 空间,可以通过设置event 60025来强制会话在commit之后就立即释放临时段。
解决一例latch:cache buffers chains小记
最近发现一个数据库的latch:cache buffers chains等待较多,因为近期很关注这个库,所以打算找一下问题出在哪儿。select sid,event,p1text,p1,p2text,p2,p3text,p3,wait_class from v$session_wait where w...
AIX中find命令和xargs命令介绍
find查找文件 命令格式: find pathname options[-print -exec -ok] pathname :目录路径 -print :匹配的文件输出到标准输出 -exec :对匹配的文件执行该参数所给出的shell命令 -ok :与-exec同...
linux下使用find xargs grep查找文件及文件内容
1,在某个路径下查文件。在/etc下查找“*.log”的文件find /etc -name “*.log”2,扩展,列出某个路径下所有文件,包括子目录。find /etc -name “*”3,在某个路径下查找所有包含“hello abcserver”字符串的文件。find /etc -name “*” | xargs grep “hello abcserver...
每天一个linux命令:find命令之xargs
在使用 find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行。但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出现溢出错误。错误信息通常是“参数列太长”或“参数列溢出”。这就是xargs命令的用处所在,特别是与find命令...
linux下find,xargs命令详解和实例
在我们平时的系统管理中,查找文件是时常需要的一个操作,在Linux系统中有2个命令是必须要掌握的,如果我们真正掌握了这个命令已经他的常用参数的话,我们可以在工作中游刃有余,下面是我在网上找到的一点资料,这些天放假有空,整理出来给大家共享下,附件是压缩的源文件,希望大家喜欢,愿和大家一起进步。。。使用...
plsql开发语言基础
plsql 匿名块: set serveroutput on;beginfor i in 1..10 loopdbms_output.put_line('zhanggaoang');end loop;end;for 循环 插入数据beginfor i in 1..100 loopinsert into zag values('x',i);end loop;end;/ commit;declare匿名块: declare x varchar2(40):='my fi...
物化视图
一、物化视图的一般用法物化视图是一种特殊的物理表,“物化”(Materialized)视图是相对普通视图而言的。普通视图是虚拟表,应用的局限性大,任何对视图的查询,Oracle都实际上转换为视图SQL语句的查询。这样对整体查询性能的提高,并没有实质上的好处。1、物化视图的类型ON DEMAND、ON COMMIT。二者的区别在于刷新方法的...
数据库日常运维中的几个操作建议
如果你去看其他DBA的操作的时候,如果要判断他们水平的高低,我想就是通过一些操作的差别来看了,而水平高低就体现于此。细节决定成败,越是看起来简单的操作越是要严谨,一丝不苟。我们来简单举几个例子,可以作为参考。有更多的见解欢迎大家提出来,我们来集思广益,把大家认为需要的,重要的操作都...
【RAC】Oracle RAC集群环境下日志文件结构
在Oracle RAC环境中,对集群中的日志的定期检查是必不可少的。通过查看集群日志,可以早期定位集群环境中出现的问题,以便将问题消灭在萌芽状态。简单介绍一下有关Oracle集群环境中日志的结构,方便快速查找所需的日...
ORACLE会话连接进程三者总结
概念介绍 通俗来讲,会话(Session) 是通信双方从开始通信到通信结束期间的一个上下文(Context)。这个上下文是一段位于服务器端的内存:记录了本次连接的客户端机器、通过哪个应用程序、哪个用户登录等信息. 连接(Connection):连接是从...
WEBLOGIC启动JVM参数设置经验
1. 堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在W...
crontab失败的解决过程
1.问题描述:在使用crontab定时执行发布包sql脚本解析工作时,出现了一个奇怪的问题,脚本执行到生成release_xxxx.tmp文件就终止执行了,且release_xxxx.tmp文件是空的。但是以同样的方式手动执行dbmisProject.sh脚...
Sql Tuning Advisor 使用方法
Sql Tuning Advisor 1.使用步骤: ?创建优化任务?执行优化任务?查看建议?确认建议(实施建议)2.使用案例: 2.1 创建优化任务: DBMS_SQLTUNEDECLARE my_task_name VARCHAR2(30); my_sqltext CLOB;BEGIN...