-
关于resize datafile理解的错误
resize数据文件的时候,常常会报ORA-03297错误,原来理解通过在相同表空间move一下对象,就会自动使用最小的未使用的空间,其实并不是这样的,在MOS文件中遇到ORA-03297错误也是直接给出的DROP对象,也不是在相同表空间中MOVE对象。下面通过测试来说明: ...
-
not in/not exists对连接列空值的处理
下面是测试not in/not exists对连接列有空值的处理方法 1,环境介绍 orcl1123.htz.pw > select * from v$version where rownum=1; BANNER ——————————————— ...
-
外键:主表与子表DML操作,TM锁申请模式
下面是测试在不同版本,在主表与子表上进行DML操作时,在主表与子表分别获取TM锁的情况。主键存在的表称为主表,外键存在的表称为子表。分别测试了9i,10g,11g三个测试的情况。 1 创建对象 所有的对象都创建在HTZ用户下,需要在3个版本的数据库都创建。 drop user htz cascade; create user htz identified by o ...
-
kill my own session(without system privilege)
下面测试开发要求实现会话能KILL自己用户下的会话的功能,由于KILL SESSION默认只有DBA用户才有权限,并且如果授予alter system权限给用户,那么他可以KILL所有用户的会话,不能满足要求,并且alter system包含的权限太多,生产环境不敢授予这样的权限。 1 创建KILL SESSION存储过程 在创建存储过程之前,先 ...
-
测试FOR UPDATE事务的回退
最近客户遇到了for update回退导致业务阻塞的情况,下面是在自己的环境中模拟for update死事务的回退及回退过程中占用的行锁与是否影响其它的dml语句。 1 环境介绍 www.htz.pw > select * from v$version where rownum=1; BANNER ————————— ...
-
rebuild object that object id less than 60
在ORACLE中对核心对象进行重建基本上会遇到ORA-00701错误,可以通过将数据库启动到upgrade或者配置event 38003错误来解决,但是object_id小于59的错误不能通过此方法来解决。但是可以通过重建创建对象,修改obj$与bootstrap$表来处理。下面是在自己的测试环境模拟一下对file$表及索引的操作,请非在生产环 ...
-
substituter bootstrap$ using other table
在有些情况下可以通过替换bootstrap$来达到一些目的,如重建object_id小于58的对象。下面是测试常用的2种方式来切换bootstrap$表:1,使用DBMS_DDL_INTERNAL.SWAP_BOOTSTRAP,2,直接修改system数据文件头的信息 1,DBMS_DDL_INTERNAL方法 使用dbms_ddl_internal要求数据库必须启动了upgrade状态,并且版本要 ...
-
change bootstrap$ table with bbed to skip corrupt block on i_undo1
在数据库启动的时如遇核心对象(特别是bootstrap$中的对象)有坏块,会抛出ORA-00604,ORA-01578导致数据库启动失败。下面是模拟在数据库启动时遇到i_undo1索引块完全被损坏的情况下,通过跳过i_undo1来正常启动数据库。如果块只是部分损坏,可以考虑通过bbed来手动修复块。 下面是测试11.2.0.3环境 ...
-
recover bootstrap$ corrupt block with dd tool
在11G中ORACLE提供DBMS_DDL_INTERNAL.SWAP_BOOTSTRAP直接切换boostrap表到用户指定的表,但是前提数据库必须启动到upgrade状态,如果bootstrap块损坏,数据库都不能启动,当然也不能使用DBMS_DDL_INTERNAL.SWAP_BOOTSTRAP。DBMS_DDL_INTERNAL.SWAP_BOOTSTRAP这个工具还是有很多作用的,将在后面会测试。 ...
-
how to resize a datafile for shrinking space
How to Resize a Datafile,下面的测试来至于QQ群里一位好友,在resize修改数据文件报ORA-03297错误。数据库存放在文件系统的时候,可能会遇到需要使用resize数据文件来达到收缩文件系统使用空间,一般在小环境遇得到,大环境基本遇不到。下面是基于11.2.0.3平台测试,不同版本可能部分地方不一致(如数据文 ...
-
SWAP_JOIN_INPUTS 修改HASH连接的驱动表
下面是测试在HASH连接的时候,修改驱动表的顺序。HASH连接不能用于不等值连接。 1 环境介绍 www.cdhtz.com > select * from v$version; BANNER ———————————————————— ...
-
delete archivelog until time n backed up n times
下面测试来至于QQ群里与朋友聊天,使用脚本调用rm命令来删除归档日志,其实rman中的delete命令基本上可以满足我们需要,不需要使用rm命令来删除。下面是测试删除已经备份2次,5分钟之前生成的归档文件。 1 版本介绍 www.cdhtz.com > select * from v$version; BANNER ———— ...
-
ALTER SYSTEM CHECK DATAFILES
在RAC环境中,当数据库OPEN状态时,如果遇到数据文件在其它一台实例,因为权限原因导致不能访问时,如1157报错 ORA-01157: cannot identify/lock data file 19 – see DBWR trace file ORA-01110: data file 19: ‘/app/Oracle/oradata/users02.dbf’ 此时我们需要使用alter system chec ...
-
ORACLE不完全恢复测试
在生产环境中,常常会遇到不完全恢复的情况。这里QQ群里朋友要求,测试使用set until命令的不完全恢复,此功能在8I中就已经增加。 语法如下: UNTIL SCN integer | UNTIL SEQUENCE integer [THREAD integer] | UNTIL TIME ‘ date_string ‘ Semantics Syntax Element Descri ...
csdw
是 1031csdw
哈哈,,黄大师,总结得好huangtingzhong
Loading Hinted Executionhuangtingzhong
下面是ASM磁盘头的部分ASM DATA DIhuangtingzhong
RMAN backup to Flash Rechuangtingzhong
Database Crashed With ORhuangtingzhong
How to Resolve ORA-00257123
How To Find The Processhuangtingzhong
How To Generate Same Nam罗罗
哦,懂了!