oracle 使用rownum进行分页的陷阱(2)
本来想一起发的,老是报错,不让提交,内容太长?。四个测试语句(增加hints是为了打乱结果集里记录顺序,类似模拟select order by xx 多次运行记录的顺序不一样)、执行计划、结果:select * from (select t...
oracle 使用rownum进行分页的陷阱
同事遇到一个奇怪的问题,在使用下面分页导记录时发现分页后的记录跟总的记录数匹配(总的记录数大概25000),但是有些记录不存在,有些重复: SELECT * FROM (SELECT row_.*, rownum rn &...
关于sql语句的游标共享问题
我们库里有个语句占用了大量的内存,达到4.5G,该语句的整体架构是一样的,主要差别在于里面有四个in 例如: Id in ( 1,2 ),而in的值是动态变化的:SQL> select sum(SHARABLE_MEM)/power(1024,3) from v...
oracle LOGICAL standby 日志无法应用处理
今天同事早上建了个逻辑备库,但是发现日志一直没有应用: SQL> col FILE_NAME format a60SQL> select file_name,applied from DBA_LOGSTDBY_LOG ; FILE_NAME &n...
如果comment不是ddl操作多好
背景:有些表的字段类似如字典表,1 代表 A,2 代表B。。。问题是后面又来了 3,4,。。如是经常要求修改该字段的注释。但该操作属于ddl操作,会是对于的sql失效,如果该操作不是ddl操作多好:先通过一个10704得到如下t...
oracle 的 BLOCK CHANGE TRACKING
从10G版本开始,引入了BLOCK CHANGE TRACKING特性,这次算是真正的增量了。当这个特性开启后,ORACLE会创建一个trace文件,并起用后台进程CTWR记录变化的数据块,当需要增量备份的时候,就直接读这个文件获得要备份...
存储设备权限不对导致crs启动出错
今天在3节点测试库进行了一下压力测试,导致一个节点hang住。另外一个节点也出现I/O error:重启后发现节点crs起不来: 1 检查crs是否启动 [root@rac3 log]# ps -ef | grep -i crsroot ...
关于rac上sequence的值
在rac上sequence的值可能从不同的人查到的差别很大,重要原因是cache。取一次值就给对应的实例分配了对应的cache size 的值段。另外一个实例去取就从下一个cache size 的值段开始。这几天在调整SEQ_TEST_ID就遇到...
OCR磁盘和Votedisk磁盘全部破坏并且都没有备份的恢复
假设OCR磁盘和Votedisk磁盘全部破坏,并且都没有备份,该如何恢复, 这时最简单的方法就是重新初始话OCR和Votedisk, 具体操作如下:参考《大话oracle rac》 模拟磁盘损坏:[root@node1 ~]# crsctl ...
RAC添加和删除OCR及VoteDisk
以下操作都是在虚拟机上和版本oracle 10.2.0.1上完成的:最近准备仔细学习一下rac,根据《大话oracle rac》,于是练习一下添加和删除OCR及VoteDisk: 原来的环境为:[root@node1 ~]# cd /dev/raw[root@node...
shutdown abort要慎重
以前一直没有仔细观察shutdown abort后启动数据库会有什么处理过程:在内存中修改过的、尚未写入数据文件的数据将会丢失。在下一次数据库启动后,oracle可以通过重做(redo)日志进行事物重演(也就是进行前滚),将数...
mysql问题处理两则
1 mysqlimport 导入文本乱码,其实只要保证数据库、操作系统、文本文件的字符集一致,应该就不会有乱码: CREATE TABLE `trinfo` ( `s_id` varchar(50) NOT NULL, `o_code` ...
使用10046 来了解oracle的启动过程
以前一般用10046来跟踪SQL,把一些信息记录在trace文件里以后分析。还可以使用10046 来了解oracle的启动过程,可参考《深入解析oracle》:SQL> startup nomountORACLE instance started.Total System Global Area&n...
一个数据库最多可有多少个实例,多少个日志组
昨天在看controlfile的dump时,发现有如下记录:THREAD #1 ~~~ THREAD #32 LOG FILE #1~~~LOG FILE #192UNNAMED_INSTANCE_32 recno=32版本是10.2.0.1,一个数据库最多可以被32个instance打开,192个日志组。&...
备份归档日志
对于10G使用ASM作为存储时,常遇到到拷贝归档日志,可通过rman来实现:RMAN> BACKUP ARCHIVELOG FROM TIME 'SYSDATE-0.2' UNTIL TIME 'SYSDATE-0.1';Starting backup at 29-APR-11allocated channel: ORA_DISK_1ch...
Shared Pool Latch和Library Cache Latch竞争(转)
摘自《深入解析oracle》:Shared Pool Latch和Library Cache Latch竞争:这两个Latch是Shared Pool管理中最重要也是最常见的Latch竞争。Shared Pool Latch用于共享池中内存空间的分配和回收,如果SQL没有充分共...
rac的系统时间与物理备库lag
今天在为一个rac建一个物理备库的时候,发现日志都应用了,但就是有lag:[oracle@testdb2 ~]$ NAME &nbs...
事物的基本流程
事物的基本流程(摘自《深入解析oracle》):1 首先当一个事物开始时,需要在一个回滚段事物表上分配一个事物槽。2 在数据库头部获取一个ITL事物槽,改事物槽指向回滚段头的事物槽3 在修改数据之前,需...
undo表空间故障恢复,无备份
undo表空间故障恢复,无备份:SQL> select count(*) from testundo; count(*)---------- 199SQL> select * from v$recover_file;no rows selectedSQL> SQL> insert ...
undo表空间故障恢复
undo表空间故障恢复,有备份:onfigure channel device type disk format='/data/ora10g/%U'; CONFIGURE CHANNEL 1 DEVICE TYPE DISK clear;RMAN> show all;RMAN configuration parameters are:CONFIGURE RETENTION...