突破常识:SQL增加DISTINCT后查询效率反而提高
只要增加了DISTINCT关键字,Oracle就会对随后跟着的所有字段进行排序去重。以前也经常发现由于开发人员对SQL不是很理解,在SELECT列表的20多个字段前面添加了DISTINCT,造成查询的执行异常缓慢,基本上很难在ORA-1555错误出现之前得到查询的结果,甚至有些SQL会产生ORA-7445错误。所以在给开发人员培训的时候还着重介绍了...
Redo log文件被删除恢复
1. Redolog file是CURRENT的时候被删除, 清除日志时报错:ORA-01624: SQL> startup mountORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instanceORACLE instance started.Total System Global Area 354914304 bytesFixed Size ...
ASM Rebalance(摘自Blogspot)
Rebalancing actASM ensures that file extents are evenly distributed across all disks in a disk group. This is true for the initial file creation and for file resize operations. That means we should always have abalanced space distribu...
ORA-01190&ORA-19909
实验的时候碰到一个错误:SQL> create table t1 as select rownum rn from dual connect by rownum <= 10000;create table t1 as select rownum rn from dual connect by rownum <= 10000 &nb...
使用Error Stack跟踪Oracle错误堆栈信息
http://mp.weixin.qq.com/s?__biz=MjM5MDAxOTk2MQ==&mid=402587120&idx=1&sn=1304b693d66997f38a1643199eebe034&scene=1&srcid=0322mRQqbOYHF13JMJoBQITv&from=groupmessage&isappinstalled=0#wechat_redirect
Oracle SQL Model Clause
参考官方文档,学习了一下Oracle SQL Model语法。官方文档地址:http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/10g/r2/prod/bidw/sqlmodel/sqlmodel_otn.htm现将过程记录在这里:1. 准备过程, 连接到Oracle自带schema SH(sales history),创建数据源: CREATE VIEW sales_view AS ...
闪回版本查询(Flashback Version Query)
闪回版本查询是一个Oracle提供的一个比较有用的功能。我们可以用它来查看某一段时期内表数据所发生的变化。以下是示例:SQL> create table t2 as select rownum pkid, lpad('1', rownum, 'A') str from dual connect by rownum <= 5;SQL> col str format a10SQL> col pkid format 999SQL> select * from t2;...
ORA-01591: lock held by in-doubt distributed transaction
同事想删除某个表的数据,但是一直报错,跟我说是锁。通过如下SQL查询,没有发现表锁相关会话:SELECT ddl.owner AS 用户, ddl.name AS 对象, ddl.type AS 类型, vs.osuser AS os_user, vs.machine, ...
Linux下误删数据文件从文件句柄恢复数据文件
Linux操作系统中,如果文件从操作系统级别被rm掉,之前打开文件的进程仍然持有相应的文件句柄,所指向的文件仍然可以读写,并且该文件的文件描述符仍然可以从/proc目录读取。但是,此时如果关闭数据库,则此句柄会消失,除了扫描磁盘进行文件恢复外就没有其他办法了。因此在数据库出现问题的时候,如果不确认情况的复杂程...
11GR2 Active Duplicate过程(单实例对单实例)
今天做了一下RMAN Active Duplicate实验。归根结底,弄明白了,其实整个过程还是挺简单的。两台虚拟机IP分别是192.168.13.128, 192.168.13.129, 源端service_name: test01, 目标端service_name:dup011. SOURCE端与TARGET端都要有相同的目录结构, 在目标端创建所需的目录结构 mkdir-p /u01/app/oracl...
操作系统文件转储成BLOB
DECLARE v_src_file BFILE; v_dst_file BLOB; v_lgh_file NUMBER; c_directory VARCHAR2(20) := 'IMGUPLOAD_DIR'; v_index PLS_INTEGER;BEGIN FOR rec IN (SELECT * FROM h2.d_oldcertid_qdby q...
处理一起ORA-00838过程
。。。
Windows逻辑备份-EXPDP(保留5天内逻辑备份)批处理脚本
echo oracle database backup begins......set dt=%DATE%set FILE_NAME="%dt:~0,4%%dt:~5,2%%dt:~8,2%.dmp"echo %FILE_NAME%D:cd D:\backuprem ren H2USER.EXPDP.dmp H2USER.EXPDP.dmp.bak expdp system/sys@BYERP dumpfile=%FILE_NAME%.dmp directory=bybackup_dir compression=all schemas=H2 log=%FILE_NAME...
一次Linux虚拟机安装Oracle 11G数据库经历
10.20下午,接到任务,说是要在客户的Linux系统上安装Oracle 11G数据库搭建一个测试环境。赶紧联系客户现场,远程过去。cat /etc/issue发现是Oracle Enterprise Linux 6.0。接着,想通过yum安装Oracle的依赖包。cd /etc/y/etc/yum.repos.dwget http://public-yum.oracle.com/public-yum-ol6.repo发现虚拟机无法...
记录一次ORA-00600:13013错误的处理
ddd
ORA-00600: arguments: kkqcscpopn_Int:0
同事测试的时候,执行一个SELECT语句的时候出错了, 如图所示:感觉上像是个Oracle的bug。数据库版本:Oracle Database 11g Enterpris...
重建Oracle数据库控制文件
读了官方文档, 尝试着重建了一下控制文件:SQL> startup nomountORACLE instance started.Total System...
Oracle数据库中一致读行为的改变
Oracle如果通过唯一索引访问一行数据, 发生的并不一定是一致读。<br /><br />参考:<br />http://www.dbsnake.net/oracle-cr-behavior-change.html
通过instead of触发器更新视图的一个bug
视图代码:CREATE OR REPLACE VIEW V_SALE_SETTINGS ASSELECT b.compid, b.busno, b.orgname, b.orgshortname, b.orgabc, nvl(t.d...
一次Deadlock错误
2015-08-05早上上班时,同事告诉我,客户数据库有个作业出现了死锁。Oracle死锁时,相关信息会写入告警日志:alert*.logalert日志中相关信息:一次六月份的,这次上上线之前,还未影响客户正常使用