由ORA-00997: illegal use of long datatype引发的血案之long转换为lob之二
结论1,long列不能直接迁移到另一个包含long列的表,否则会报错:ORA-00997: illegal use of LONG datatype2,可采用间接方式: 构建一个中间表,对应源表的long列为clob 把源表数据插入到中间表 然后再把中间表的数据插入到包含long列的目标表 3,即long-->clob--->l...
itpub网友问题--如何让某数据库用户不能查询all_users
ITPUB网友问题:http://www.itpub.net/thread-1941574-1-1.html使用如下命令新创建一个用户,怎么限制这个用户不能查看 all_users这张表?-- Create the user create user TEST1 default tablespace USERS temporary tablespace TEMP;-- Grant/Revoke role privileges grant connect to ...
使用oradebug dump hanganalyze分析oracle hang系列一
背景 oracle db有可能因为诸多因系而hang,可以借助某些工具进行诊断分析,本文主要学习如何用不用oradebug dump hanganalyze 3进行分析产生的TRACE FILE. 以及所包含的内容结构。 结论1,oradebug hanganalyze 3产生的TRACE FILE包括3部分内容2,各部分内容如下:第一部分Chains most l...
oracle 11g pmon工作内容系列三
结论1,oradebug dump errorstack 4,可以跟踪pmon的工作内容2,从上述的TRACE FILE可知有清除进程本身资源的操作,即清除PsO,进程状态对象fd=/proc/self/fd/8 File=/oracle/product/11.2.0/db_1/dbs/lkinstguowang (deleted)2015-11-01 22:03:06.576879 :8016E390:diag_uts:dbktb.c@716:dbktbDefaultBucketFree(): ...
oracle 11g pmon工作内容系列二
背景 我们知道 2,pmon工作内容如下:后经查询官方手册发现,PMON的工作内容如下: 1,监控后台进程运行状况 2,如果某些进程异常中断,PMON去释放会话资源以及占用的锁LOCK 3,更新事务表的标志以及清除事务XID的标记 4,清除异常...
oracle 11g pmon工作内容系列一
背景 熟悉PMON的含义及工作内容。结论1,pmon可以用10246 event进行跟踪PMON工作过程2,pmon工作内容如下:后经查询官方手册发现,PMON的工作内容如下: 1,监控后台进程运行状况 2,如果某些进程异常中断,PMON去释放会话资源以及占用的锁LOCK 3,更新事...
cluster table及其属表的table与普通表在数据块block中存储storage的区别
背景 之前测试关于cluster table的文章如下: create table进阶学习系列(十一)之cluster http://blog.itpub.net/9240380/viewspace-753248/ create table进阶学习系列(十一)之cluster_续(二) http://blog.itpub.net/9240380/viewspace-753249/  ...
oracle11g基于bootstrap$中的ind$表损坏系列五
结论1,如果在ind$删除对应测试表的索引条目,查询应用表不全再使用索引2,ind$表的flags以及相关几个列,控制索引是否可用3,ind$的定义非常复杂,值得全面学习4,ind$如下列控制从哪些表空间及数据文件和数据块开始读取索引的真正数据 file# number not null,  ...
oracle 11g如果应用表依赖的bootstrap$某些某表如obj$_col$数据损坏系列四
结论1,测试环境为oracle 11.2.0.12,如果测试表没有构建索引,如果你在obj$中删除测试表对应记录,会提示SQL> select a from t_booterr;select a from t_booterr *ERROR at line 1:ORA-00942: table or view does not exist 3,调整了基表的数...
oracle 11g bootstrap$系列三
背景 ORACLE启动非常复杂,进入正题,继续分析oracle mount至open的TRACE FILE。结论1,oracle mount到open,先读取控制文件,然后读取每个数据文件,接着读取第1号数据文件SYSTEM的第520数据块,然后在这个数据块创建字典表bootstrap$2,接着从创建好的bootstrap$把存储在其中的59个对象(包括表,索引,CL...
oracle 11g latch之v$latch和systemstate dump文件之系列四
背景 在上文 http://blog.itpub.net/9240380/viewspace-1821684/ 基础上, 整合latch和systemstate dump文件的分析,逐步掌握如何分析systemstate dump文件,同时加深对于latch理解。结论1,当数据库发生等待LATCH时,可以采用systemstate dump进行分析2,分析systemsta...
oracle 11g latch之v$latch系列三
背景 本文为oracle 11g latch系列的第三篇文章,继续深入学习latch,想要熟悉其原理,还是先了解下相关视图的含义,尔后进一步深入其中,便于解决问题。 本系列前2文链接如下: oracle 11g latch之系列一 http://blog.itpub.net/9240380/viewspac...
oracle 11g bootstrap$系列二
背景 基于上文:http://blog.itpub.net/9240380/viewspace-1821176/,继续测试了解bootstrap$与oracle启动有关系。 结论1,dd可以复制控制文件指定个数的数据块内容到一个临时文件2,dd示例,因为控制文件每个数据块大小为16K,而DD默认复制缓冲区大小为512BYTE,所以COUNT=32,这样正好是复制一个控制...
oracle 11g bootstrap$系列一
背景 oracle从nomount到mount,内部机制到底是怎么样的,要经历哪些过程,了解这些,对于理解ORACLE,会大有帮助,拓宽分析解决问题能力。结论1,测试环境为oracle 11.2.0.12,bootstrap$为底层表,共计存储60个对象3,这60个对象,有表,有索引,也有cluster table4,obj#为-1及0的对象不在obj$,它的含义...
bbed提交事务系列十一
背景 了解下bbed手工提交一个DML事务结论1,bbed修改的内容,有时会被冲掉,可能与未即时把缓冲内容写入到磁盘有关2,bbed修改前后都要在会话1(当前形成事务的会话)进行强制刷新缓冲池操作3,bbed修改ktbbh.ktbbhitl对数组编号下面的ktbitflg为00,即可以手工用BBED提交事务4,kbbitflg对应itl中的lck测试...
sqlplus如何处理会话操作dml事务
结论1,sqlplus退出(是正常退出),会自动提交DML事务 而且从一个用户切换到另一个用户,也会隐式自动提交DML事务2,所以用SQLPLUS操作一定要细心,尤其是在生产系统,千万小心,如果确认不要的数据,马上要回退即ROLLBACK 另让垃圾数据进入表 3,经测试,如果sqlplus客户端(secure crt)是...
用bbed提示事务transaction系列九
结论1,采用alter system dump datafile block对比分析事务提交前后的数据块各层结构的变化2,以此变化到BBED进行映射,搞清楚事务提交后到底是BBED涉及数据块各个层对应的结构体发生了变化3,基于BBED变化的结构体为基础,最终模拟使用BBED提交事务4,本文只是分析了事务提交前后的数据块的变化差异,将在下文分析undo ...
oracle 11g latch之v$latch系列二
背景 在上文中:http://blog.itpub.net/9240380/viewspace-1820418/,我们学习oracle 11g latch开了个头,本文继续了解latch相关的知识,主要基于v$latch进行测试,以小见大,为求真义。 结论1,latch分为乐意等待和不乐意等待,共计2种类型2,v$latch会包含所有的latch,即其中包含了当前ORACLE没有...
oracle 11g latch之系列一
背景 为了学习理解oracle latch,了解下与latch相关的一些参数及其含义,于是便有此文,oracle latch原理及机制是非常复杂的,我们会写一个系列,力争对它有一个整体的理解,提各分析问题的能力,进一步整合oracle的体系架构。 结论1,测试数据库版本为oracle 11.2.0.12,与latch spin...
oradebug工具使用系列一
结论1,oracle oradebug查看命令用oradebug help2,oradebug各种命令一定要进行分类,不然学习没有条理性,也不能把相关的命令整合使用3,oradebug dumplist显示所有可用的dump列表4,oradebug dump可以针对dumplist某个dump进行针对性分析与测试;dump列表有不同用途的dump,比如有:asm,library cache,row cache,scn,buf...