数据库链相关内容:
JOB自动执行出错,但手工执行正常——浅谈job和database link的一个特点:描述了匿名数据库链的特点,以及和JOB配合使用时会出现的情况。
通过数据库链执行DDL语句:通过数据库链只能执行DML语句,这篇文章介绍了通过数据库链执行DDL的变通方式。
一个同义词可能指向多个对象:怎样使一个同义词指向多个对象。
同时使用数据库链和序列时应注意的几点:通过数据库链获取数据进行插入时,如果使用序列,可能会碰到的问题。
使用数据库链的几个小技巧:介绍了如何嵌套数据库链、数据库链标识符的使用和如何增加数据库链的使用安全性。
如何从远端返回LOB对象:从远端返回LOB对象的方法。
访问本地物化视图一定比访问远端表快吗:一般访问本地物化视图肯定比访问远端对象快,这里描述一个特例。
通过数据库链访问当前库:本地数据库也是可以通过数据库链访问的。
能否通过数据库链传播游标:解释了为什么不能通过数据库链打开一个游标。
数据库链的USING语句:如何不依赖TNSNAMES.ORA中的设置建立数据库链。
远端数据库读取插入到另一个远端数据库:从远端库读数据插入另一个远端库对数据库链的要求。
远端数据库读取插入到另一个远端数据库(二):对上一篇文章中的现象进行简单的总结。
调整本地时间的小bug:修改本地时间可能给造成的问题。
PUBLIC数据库链无法删除的问题(一):PUBLIC数据库链无法正常删除的问题。
PUBLIC数据库链无法删除的问题(二):PUBLIC数据库链无法正常删除的解决。
数据库链与同义词:建立包含数据库链的同义词时需要额外的注意。
去掉DB_DOMAIN的方法:如何去掉DB_DOMAIN。
ORA-7445(qxuagtag)错误:分布式查询造成的bug。
对远端表使用NVL2的bug:10g中对于远端表使用NVL2函数会报错。
通过数据库链执行TEXT操作的小bug:通过数据库链执行TEXT操作的小bug。
使用当前用户的数据库链的实现:简单描述Oracle是如何实现当前用户方式的数据库链。
ORA-600(qerrmOFBu1)错误:访问远端对象是人工中止出现的bug。
ORA-600(729)错误:通过数据库链执行CREATE TABLE AS SELECT且人为中止会引发这个bug。
ORA-7445(ktcirs)错误:造成这个问题的原因是用户通过数据库链访问当前数据库环境。
FIRST_ROWS优化模式访问远端表可能导致错误结果(一):FIRST_ROWS优化模式下,通过数据库链访问远端表,且SQL包括IN子查询语句时,优化器可能给出错误的执行计划,从而导致结果集出现重复记录。
FIRST_ROWS优化模式访问远端表可能导致错误结果(二):继续研究问题和版本的关系,以及相应的解决方法。
ORA-2049错误解决过程:通过DBLINK向远端数据库的插入记录时出现了这个错误。
ORA-2083错误:如果数据库的GLOBAL_NAME中包含'-',就可能导致通过数据库链创建的物化视图、视图和同义词出现这个错误。
11g新密码策略对数据库链的影响:Oracle的11g对密码策略进行了修改,密码开始区分大小写了。
通过数据库链执行DML所需权限:只有INSERT权限这对于通过数据库链执行插入操作是不够的。
包含DOMAIN的数据库建立数据库链到不包含DOMAIN的数据库:由于Oracle自动在数据库链中添加DOMAIN导致的问题。
Oracle11gr2新增ALTER DATABASE LINK语法:Oracle提供了ALTER DATABASE LINK的语法。
物化视图:
oracle的执行计划居然出错!:9204中查询重写的bug。
定位导致物化视图无法快速刷新的原因:当无法创建快速刷新的物化视图时,如何找到物化视图不能快速刷新的原因。
物化视图的快速刷新(一):基于连接的物化视图的快速刷新限制。
物化视图的快速刷新(二):基于聚集的物化视图的快速刷新限制。
物化视图的快速刷新(三):包含UNION ALL的物化视图的快速刷新限制。
建立支持查询重写的同名物化视图失败会删除原有物化视图:这个bug可能导致你原有物化视图被意外删除。
物化视图查询重写的限制(一):建立查询重写的物化视图的限制。
物化视图查询重写的限制(二):使用查询重写功能的限制条件。
物化视图日志没有清除:介绍了手工清除非正常删除的物化视图的注册信息。
物化视图日志结构:详细介绍Oracle物化视图日志的各个字段的含义。
Oracle如何根据物化视图日志快速刷新物化视图:描述Oracle是如何利用物化视图日志来刷新物化视图的。
物化视图日志如何避免系统时间变化带来的影响:介绍Oracle的物化视图日志机制是如何避免调整系统时间带来的影响的。
物化视图的PCT特性(一):基于分区表的物化视图的PCT特性介绍。
物化视图的PCT特性(二):基于分区表的物化视图的PCT特性的限制条件。
访问本地物化视图一定比访问远端表快吗:一般访问本地物化视图肯定比访问远端对象快,这里描述一个特例。
物化视图导出导入可能导致物化视图日志的失效:一个很恐怖的bug,会在意想不到的情况下造成物化视图复制环境被破坏。
建立包含ROLLUP或CUBE的物化视图:何时使用包含ROLLUP和CUBE的物化视图。
两个导致物化视图无法快速刷新的问题:同义词问题和不同表字段追加问题。
建立物化视图所需权限(一):建立普通物化视图所需权限。
建立物化视图所需权限(二):建立快速刷新物化视图所需权限。
建立物化视图所需权限(三):建立ON COMMIT物化视图所需权限。
建立物化视图所需权限(四):建立查询重写物化视图所需权限。
物化视图注册信息的清除:物化视图清除注册信息的问题。
在包含LONG类型的表上建立物化视图:物化视图可以复制LONG类型。
物化视图是否根据字段进行刷新(一):描述现象。
物化视图是否根据字段进行刷新(二):对Oracle的刷新行为进行推测。
物化视图是否根据字段进行刷新(三):通过SQL_TRACE的方式确认前面文章的推测。
物化视图复制快速刷新的限制(一):不能在复制得到的物化视图上建立快速刷新的物化视图。
物化视图复制快速刷新的限制(二):变向的解决方案,将连接或聚集物化视图提前放到基表站点。
GLOBAL_NAME相同的数据库中物化视图刷新问题(一):物理备份生成的数据库对物化视图刷新的影响。
GLOBAL_NAME相同的数据库中物化视图刷新问题(二):逻辑备份生成的数据库对物化视图刷新的影响。
物化视图主站点复制后物化视图的刷新问题:多个主站点是否会导致物化视图刷新错误。
ORA-600(999)错误(一):物化视图刷新的问题。
ORA-600(999)错误(二):进一步深入研究这个问题。
ORA-600(999)错误(三):进一步深入研究数据库中缺少了哪些信息造成了这个问题。
物化视图刷新过程中出现的约束冲突问题:物化视图刷新过程中约束冲突的解决方法。
建立物化视图导致数据库实例崩溃:建立物化视图的时候,直接导致了实例的崩溃。
物化视图的创建写法与刷新问题:物化视图的创建写法与刷新问题。
小议物化视图与基表数据不一致的消除(一):快速刷新的只读物化视图于基表不一致的解决方法。
小议物化视图与基表数据不一致的消除(二):修改物化视图日志来同步INSERT和DELETE操作。
小议物化视图与基表数据不一致的消除(三):如何通过修改物化视图日志来同步UPDATE操作。
小议物化视图与基表数据不一致的消除(四):如何通过修改物化视图日志来同步包含LOB列的UPDATE操作。
10203设置CURSOR_SHARING为SIMILAR导致物化视图刷新失败:设置CURSOR_SHARING为SIMILAR导致物化视图刷新失败。
一个物化视图快速刷新的问题:不影响快速刷新的限制物化视图的字段精度方法。
Oracle11新特性——在线操作功能增强(六):在线重定义功能对物化视图日志的支持。
ORA-600(ksmovrflow)错误:8i或9i数据库以10g的基表建立物化视图的时候报错。
如何确定导致刷新组刷新失败的物化视图(一):讨论对于本地物化视图,如何定位刷新组中刷新失败的物化视图。
如何确定导致刷新组刷新失败的物化视图(二):这篇文章描述一种对于各种情况均适用的方法。
物化视图基表站点升级导致物化视图刷新错误ORA-4062:物化视图快速刷新报错,出现ORA-4062、ORA-4068错误。
物化视图方式进行逻辑数据迁移:数据库逻辑迁移方式除了EXP/IMP之外,还可以使用物化视图进行迁移。
利用物化视图进行逻辑数据迁移要点:简单介绍一下使用物化视图进行逻辑数据迁移过程中需要注意的一些要点。
ORA-600(kkzgavupd_agg.2)错误:在9204上快速刷新一个物化视图出现这个错误。
物化视图删除的顺序:讨论的删除物化视图和删除物化视图日志的顺序。
物化视图日志的维护:降低物化视图日志表的高水位线。
创建其他用户下的物化视图报错权限不足:创建一个其他用户的物化视图时报错。
10G物化视图PCT快速刷新不再需要物化视图日志(一):Oracle10g增加了物化视图PCT快速刷新的支持,使用PCT快速刷新不再需要物化视图日志。
10G物化视图PCT快速刷新不再需要物化视图日志(二):继续深入研究一下PCT快速刷新的机制。
10G物化视图PCT快速刷新不再需要物化视图日志(三):研究PCT快速刷新的机制。
物化视图日志对UPDATE的影响:物化视图日志记录基本修改的同时,是否会对基表的DML产生一定的影响。
ORA-6544(55916)错误:在11g上建立物化视图访问10.1的源表报错。
ORA-12028错误:在建立物化视图中碰到了这个错误。
物化视图的非原子性刷新:介绍物化视图的原子性刷新特点。
对于整数大于3和大于等于4是否一样(三):讨论包含物化视图的情况。
ORA-23515错误:包含物化视图的表空间无法直接删除。
利用触发器对物化视图刷新进行定制:可以通过在物化视图上创建触发器的方式,对刷新操作进行定制。
物化视图刷新并非完全根据物化视图日志记录:物化视图的刷新不仅仅依赖于物化视图日志。
ORA-26500错误:建立、删除函数索引等操作执行后应该重新对表生成复制支持。
改造DISTINCT物化视图(一):介绍SELECT语句中的DISTINCT操作。
改造DISTINCT物化视图(二):介绍COUNT或SUM聚集函数中的DISTINCT操作。
改造DISTINCT物化视图(三):描述一个包含UNION ALL的例子。
改造包含MAX或MIN的物化视图:如何改造一个包含MAX或MIN聚集函数的物化视图。
包含LOB的物化视图快速刷新:9.2和10上对于包含LOB的物化视图的快速刷新,处理机制不同。
包含LOB的物化视图快速刷新(二):继续研究10g以后对LOB对象是如何刷新的。
包含LOB的物化视图快速刷新(三):研究10g以后版本当LOB对象超过32K时,物化视图如何刷新。
包含LOB的物化视图快速刷新(四):对比9i和11g包含LOB的物化视图的刷新性能。
物化视图日志表被DROP后建立物化视图报错:如果物化视图日志表是直接被DROP,则建立物化视图时报错。
获取物化视图字段的修改矢量(一):描述如何获取一个列修改后对应的物化视图修改矢量。
高级复制:
物化视图导出导入可能导致物化视图日志的失效:一个很恐怖的bug,会在意想不到的情况下造成物化视图复制环境被破坏。
物化视图注册信息的清除:物化视图清除注册信息的问题。
在包含LONG类型的表上建立物化视图:物化视图可以复制LONG类型。
物化视图复制快速刷新的限制(一):不能在复制得到的物化视图上建立快速刷新的物化视图。
物化视图复制快速刷新的限制(二):变向的解决方案,将连接或聚集物化视图提前放到基表站点。
包含复制环境的数据库迁移(一):物化视图站点通过EXP/IMP进行迁移。
包含复制环境的数据库迁移(二):单主站点通过EXP/IMP进行迁移。
GLOBAL_NAME相同的数据库中物化视图刷新问题(一):物理备份生成的数据库对物化视图刷新的影响。
GLOBAL_NAME相同的数据库中物化视图刷新问题(二):逻辑备份生成的数据库对物化视图刷新的影响。
物化视图主站点复制后物化视图的刷新问题:多个主站点是否会导致物化视图刷新错误。
如何确定导致刷新组刷新失败的物化视图(一):讨论对于本地物化视图,如何定位刷新组中刷新失败的物化视图。
如何确定导致刷新组刷新失败的物化视图(二):这篇文章描述一种对于各种情况均适用的方法。
问题诊断方面:
通过整合多种Oracle技术来定位、分析并解决问题——一次Access数据库表导入Oracle的完整记录:综合多种Oracle技术解决问题的实例。
一次ORA-01041错误诊断:描述了一次问题诊断的经历。
网络问题或客户端异常可能导致数据库会话处于僵死状态:一些僵死会话的产生和处理。
长时间latch free等待——记一次系统异常的诊断过程:诊断长时间的LATCH FREE等待。
一次网络连接错误的诊断:解决一个sqlplus无法连接到数据库的问题。
建立11G DATA GUARD环境后Listener无法启动:解决Listener无法启动的问题。
V$SQL视图显示结果异常的诊断:V$SQL视图中SQL_TEXT列中的数据是不正常的。
JOB调用DBMS_STATS包出错的诊断:自动收集统计信息报错的诊断。
RAC安装出现ORA-341和ORA-312错误:RAC建库过程中报错的诊断过程。
数据库升级造成的X_$BH状态异常问题:将9204数据库升级到了10201,升级后发现X_$BH和X_$KCBWDS视图状态不正确。
函数索引产生隐藏列:前两天在进行LOGMNR操作的时候发现了空的列名,经检查发现是函数索引造成的隐藏列。
表异常增大的bug:10203版本可能会出现的bug,导致表的大小异常增长。
物化视图基表站点升级导致物化视图刷新错误ORA-4062:物化视图快速刷新报错,出现ORA-4062、ORA-4068错误。
一次更新操作的优化:描述最近进行了一次更新操作的处理和优化工作。
数据泵导入分区表统计信息报错(一):在进行数据泵导入操作时,发现一个bug。
数据泵导入分区表统计信息报错(二):继续深入研究这个问题。
数据泵导入分区表统计信息报错(三):检查问题和表的MONITORING属性之间的关系。
数据泵导入分区表统计信息报错(四):文章描述问题的解决过程。
数据泵导入分区表统计信息报错(五):描述导致问题的原因。
有趣的触发器事件:在查询触发器的视图时碰到了一个有趣的问题。
一次ORA-4030问题诊断及解决(一):简单记录一下问题的诊断和解决过程。
一次ORA-4030问题诊断及解决(二):继续寻找源数据库和目标数据库执行计划不同的原因。
一次ORA-4030问题诊断及解决(三):寻找产生问题的真正原因。
一次ORA-1461错误处理过程(一):简单描述一下解决过程。
一次ORA-1461错误处理过程(二):描述一个隐藏问题的解决。
解决ORA-600(16164)错误的过程(一):描述问题的产生和现象。
解决ORA-600(16164)错误的过程(二):描述解决问题的过程。
NVARCHAR2索引造成的ORA-964错误(一):使用NVARCHAR2类型碰到的一个bug。
NVARCHAR2索引造成的ORA-964错误(二):通过TRACE跟踪导致错误的原因。
ORA-600(17069)错误的解决过程:描述这个问题的发现、诊断和解决过程。
RAC环境在ASM上创建表空间出错ORA-569:描述ASM上建立表空间是出现的错误以及解决过程。
一次ORA-942错误的跟踪(一):描述错误现象和问题初步诊断。
一次ORA-942错误的跟踪(二):描述定位问题的过程,介绍解决问题的方法。
一次ORA-942错误的跟踪(三):进一步深入研究问题的产生原因。
一次ORA-942错误的跟踪(四):找到导致问题的最终原因,并验证解决方法。
一次ORA-942错误的跟踪(五):描述重现问题过程。
ORA-06544(56319)错误:测试CONVERT DATABASE数据库的时候碰到错误。
删除表空间出现ORA-22868错误(一):描述错误现象。
删除表空间出现ORA-22868错误(二):定位DBA_TABLES视图中查询不到表的问题。
删除表空间出现ORA-22868错误(三):描述解决错误的过程。
RAC环境碰到ORA-4063错误:RAC环境中,查询一个视图出现了ORA-4063错误。
ftp到ASM磁盘组路径错误的问题:通过FTP的方式,将数据文件拷贝到ASM磁盘组中,结果不小心导致数据文件拷贝到错误的目录下。
ORA-2449错误:删除一个表空间的时候碰到了这个错误。
建立ASM磁盘组报错ORA-15063:为RAC环境创建磁盘组时,碰到了这个错误。
一次RMAN备份报错的诊断过程(一):描述问题的现象。
一次RMAN备份报错的诊断过程(二):跟踪错误信息,寻找定位问题的方向。
一次RMAN备份报错的诊断过程(三):解决JOB长时间未完成的问题。
一次RMAN备份报错的诊断过程(四):继续清除数据库中僵死的会话。
一次RMAN备份报错的诊断过程(五):通过清除racgimon以及racgmain check进程来尝试解决问题。
一次RMAN备份报错的诊断过程(六):解决cluster无法启动的问题。
RAC环境出现Waiting for instances to leave信息(一):描述问题的发现过程。
RAC环境出现Waiting for instances to leave信息(二):描述问题的解决过程。
PL/SQL方面:
对字符串的“sum”——在Oracle中自定义聚集函数的例子:如果利用Oracle的自定义功能实现用户自定义的聚集函数,这个例子给出了一个实现字符串合并的例子。
DBMS_REPAIR的使用:介绍了DBMS_REPAIR包的作用,并给出了使用DBMS_REPAIR包进行修改的例子。
DBMS_REPAIR的使用(二):在上一篇文章的基础上,利用自己编写的恢复过程,从已经保存的索引中恢复数据。
Oracle的在线重定义表功能:介绍9i引入的在线重定义功能。
Oracle的在线重定义表功能(二):一个在线重定义的使用实例。
如何定位DUMP所需的文件号和BLOCK号:DUMP数据文件需要指定DATAFILE和BLOCK,这篇文章介绍如何最方便的通过ROWID获取上面的信息。
Oracle9i使用闪回操作:介绍Oracle9i的闪回功能。
NUMBER类型转化为二进制:Oracle没有将数值转化为二进制的方式,这里实现了转换的功能。
郁闷的911错误:一个中文字符引起的问题。
自定义分析函数:自定义分析函数的一个例子。
给用户授予权限时应该尽量避免ANY系统权限:给出了一个通过ANY权限获得管理员权限的例子。
Deterministic函数:介绍ORACLE函数的DETERMINISTIC特性。
Deterministic函数(二):10g中DETEMINISTIC的不同之处。
计算月还款的小过程(一):写了一个简单的计算月还款的小程序。
计算月还款的小过程(二):对第一篇文章中的函数进行了封装、重载,增加了新功能。
计算月还款的小过程(三):增加了提前还款的功能。
通过触发器复制包含LONG类型的表:给出了通过触发器将LONG类型数据复制到一张BLOB类型的表中,同时这个例子还演示了如何避免变易表。
BULK COLLECT的小毛病:BULK COLLECT可能产生空记录的问题。
日期转换函数的格式参数大小写规则:介绍Oracle日期转化函数的格式参数大小写问题。
FORALL语句的小问题:描述FORALL语句的一个限制。
FOR ALL语法浅析:对比FOR ALL语句和FOR LOOP的效率。
PLSQL计算质数:利用PLSQL计算质数,例子主要展示算法对效率的影响。
判断是否数字类型:两种判断一个字符串是否包含的是合法数值的方法。
判断是否数字类型(二):添加了对科学技术法的判断。
10g的MAX、MIN的bug:在10g中使用MAX或MIN对CHAR类型操作,并将结果输出到变量,可能造成计算结果超长的问题。
编码规范的重要性——一次PLSQL程序问题诊断:通过实例说明编码规范的重要性。
RETURNING语句几个小问题:介绍PLSQL的RETURNING语句。
过程执行报错ORA-4068:对4068这个错误的产生进行了深入的分析。
自定义聚集函数访问远端对象(一):问题描述。
自定义聚集函数访问远端对象(二):多种角度进行测试,全方位展示问题。
自定义聚集函数访问远端对象(三):解决方法及总结。
一个处理操作系统文件属性的小函数:利用Oracle得到批量处理系统文件属性的脚本。
计算个人所得税的函数:一个计算个人所得税的小函数。
UTL_FILE包的简单例子:介绍UTL_FILE包的使用,给出一个将查询结果写到CSV文件中的例子。
将任意表数据导出为CSV文件的过程:上面一篇文章的升级,支持任意查询结果生成CSV文件。
将IP地址转化为数值:一个将IP地址转换为数值的函数。
新建对象也可能导致存储过程的失效:描述新建对象导致存储过程失效的情况。
新增对象对调用者权限存储过程的影响:新建对象可能导致调用者权限存储过程执行出错。
调用者权限过程的权限问题:描述调用者权限存储过程的特点。
调用者权限存储过程的权限特点:利用动态SQL来避免权限问题。
命名空间的小问题:命名空间问题。
VIEWS是关键字吗:VIEWS居然是PLSQL的关键字。
TO_LOB函数:TO_LOB函数的特殊性。
数值超过NUMBER最大表示范围的问题(一):通过一个小的函数引出数值超过NUMBER最大范围的问题。
数值超过NUMBER最大表示范围的问题(二):给出外部C存储过程的解决方案。
数值超过NUMBER最大表示范围的问题(三):给出外部JAVA存储过程的解决方案。
数值超过NUMBER最大表示范围的问题(四):利用Oracle存储过程自定义加和乘的方法,解决问题。
数值超过NUMBER最大表示范围的问题(五):利用Oracle的对象,采用另一种算法实现。
ORA-28595错误:配置外部C过程时碰到的错误。
ORA-19206错误:错误描述及解决。
利用DBMS_METADATA包获取权限信息:利用DBMS_METADATA包获取权限信息。
一个INSTEAD OF TRIGGER的例子:一个INSTEAD OF触发器的小例子。
Oracle9i的1467错误:自定义聚集函数出现ORA-1467错误。
ORA-600(923)错误:调用DBMS_UTILITY包的GET_PARAMETER_VALUE过程时出现了ORA-600错误。
触发器中获取SQL语句:在触发器中获取触发语句的功能。
在远端和本地存储过程间传递数组:远端存储过程和本地存储过程之间传递数组的方法。
奇怪的ORA-1422错误:登陆触发器查询V$SESSION造成的问题。
撤销事务报错ORA-55505:建表时间和被撤销事务间隔太短造成的问题。
撤销事务指定错误的XID导致ORA-600(4000)错误:指定错误的XID导致的问题。
ORA-600(ktftb_backout_xids_3)错误:指定错误的撤销事务个数造成的问题。
撤销事务报错出现多个ORA-600错误:撤销事务测试过程中碰到的几个错误。
Oracle11新特性——PLSQL函数缓存结果(一):11g新增功能PLSQL函数缓存结果的功能。
Oracle11新特性——PLSQL函数缓存结果(二):11g新增功能PLSQL函数缓存结果和DETERMINISTIC函数的区别。
Oracle11新特性——PLSQL函数缓存结果(三):11g新增功能PLSQL函数缓存结果的应用实例。
Oracle11新特性——PLSQL新特性(一):PLSQL的函数指定参数调用和CONTINUE语句。
Oracle11新特性——PLSQL新特性(二):PLSQL的SEQUENCE的改进。
Oracle11新特性——PLSQL新特性(三):PLSQL的SIMPLE_INTEGER数据类型。
Oracle11新特性——PLSQL新特性(四):PLSQL的inlining优化。
Oracle11新特性——PLSQL新特性(五):PLSQL的新增的控制触发器的触发顺序功能。
Oracle11新特性——PLSQL新特性(六):PLSQL新增的复合触发器。
Oracle11新特性——PLSQL新特性(七):PLSQL的动态SQL方面的增强。
Oracle11新特性——撤销事务(一):简单介绍撤销事务的用法。
Oracle11新特性——撤销事务(二):介绍撤销级联事务。
Oracle11新特性——撤销事务(三):撤销事务与外键约束的关系。
Oracle11新特性——在线操作功能增强(三):Oracle对象依赖性判断增强。
Oracle11新特性——在线操作功能增强(六):在线重定义功能对物化视图日志的支持。
10g在线重定义新特性——复制表相关对象:Oracle提供了新的过程COPY_TABLE_DEPENDENTS,大大简化了在线重定义的步骤。
利用TYPE解决IN列表过长的问题:使用TYPE方式,解决IN列表过程的问题。
一个复杂问题的求解过程(四):尝试使用PL/SQL实现。
一个复杂问题的求解过程(五):仍然使用PL/SQL实现,这里采用了递归算法。
一个有趣的错误ORA-1002:循环中回滚后继续操作,会导致这个问题。
小议Oracle中构造数组:简单总结一下在PL/SQL中使用二维数组。
有趣的触发器事件:在查询触发器的视图时碰到了一个有趣的问题。
如何为表中多条记录分别实现构造结果集(二):利用Oracle的TYPE实现结果集构造。
不使用日期函数实现ADD_MONTHS函数功能:用PL/SQL实现Oracle的ADD_MONTHS的功能。
不使用日期函数实现ADD_MONTHS函数功能(二):在原有的基础上做了一点小改动。
BEFORE触发器修正数据错误:使用BEFORE触发器记录或修正导入过程中出现的数据类型超长的错误,结果没成功,这里研究一下这个问题。
获取导致导入失败的数据:从导出的dmp文件中获取错误的记录。
获取导致导入失败的数据(二):继续修正方法继续找出异常的数据。
获取导致导入失败的数据(三):最终获取了导致错误的记录。
获取汉字拼音首字母:给出一个获取汉字拼音首字母的例子,并简单说明思路。
Oracle中实现连乘:如何在Oracle中实现连乘。
10g树形查询新特性CONNECT_BY_ISCYCLE的9i实现方式(一):描述一下解决问题的思路。
10g树形查询新特性CONNECT_BY_ISCYCLE的9i实现方式(二):初步实现CONNECT BY NOCYCLE的功能。
10g树形查询新特性CONNECT_BY_ISCYCLE的9i实现方式(三):初步实现CONNECT_BY_ISCYCLE的功能。
10g树形查询新特性CONNECT_BY_ISCYCLE的9i实现方式(四):CONNECT_BY_ISCYCLE功能的最终实现。
PIPE函数的例子:一个利用PIPE函数解决问题的例子。
小议自治事务(一):简单描述一下自治事务可以使用的位置。
小议自治事务(二):描述自治事务的事务性特点。
小议自治事务(三):描述自治事务与会话的关系。
小议自治事务(四):描述自治事务与主事务在事务和会话级的关系。
小议自治事务(五):描述自治事务与主事务与临时表的关系。
小议自治事务(六):对比自治事务与普通事务的代价差别。
临时表的ORA-14550错误:测试自治事务的时候访问临时表出现了这个错误,简单总结一下。
Oracle中实现圆周率计算(一):在Oracle中实现Oracle圆周率的计算。
Oracle中实现圆周率计算(二):给出一个真正的算法。
Oracle中实现圆周率计算(三):将代码迁移到JAVA存储过程。
不包含INTO的动态SQL不会增加序列值:不包含INTO的动态SQL不会增加序列值。
JAVA存储过程出现ORA-24345错误:写了一个简单的JAVA存储过程,处理一个精度较大的数学问题,结果碰到了ORA-24345错误。
利用字符串实现高精度数值运算(一):描述两个字符串相加。
利用字符串实现高精度数值运算(二):描述两个字符串相乘。
利用字符串实现高精度数值运算(三):描述两个表示整数的字符串相减。
利用字符串实现高精度数值运算(四):给出完整的字符串相减的解决方法。
利用字符串实现高精度数值运算(五):给出基础的字符串除法的解决方案。
语句级一致性与函数的关系:查询不会看到其他会话未提交的修改,或者发生在查询开始之后的修改。
ORA-7445错误(pdtisq_record_explode):错误的原因和索引表的索引表有关。
一次ORA-1461错误处理过程(一):简单描述一下解决过程。
一次ORA-1461错误处理过程(二):描述一个隐藏问题的解决。
利用自定义分析函数的一个例子:利用Oracle的自定义聚集函数解决一个问题。
ORA-7445(kkxmgoag)错误:在运行自定义分析函数过程中出现了这个错误。
ORA-7445(kkxmgoag)错误(二):介绍这个错误在不同版本下的不同表现。
触发器迭代限制:描述触发器迭代触发的限制。
字符串连接超长的解决(一):将自定义聚集函数的返回值改为LOB类型。
字符串连接超长的解决(二):将自定义聚集函数的内部变量改为LOB类型。
一次PLSQL处理LOB字段的优化:介绍了一下优化LOB处理的过程。
Oracle10g新增DBMS_FILE_TRANSFER包(一):介绍COPY_FILE过程。
Oracle10g新增DBMS_FILE_TRANSFER包(二):介绍GET_FILE和PUT_FILE过程。
利用DBMS_FILE_TRANSFER包实现远程备份:利用DBMS_FILE_TRANSFER包来实现备份到其他服务器上的功能。
10g新增功能实现字符串连接:Oracle10g提供了字符串连接的功能,使用WMSYS.WM_CONCAT(TNAME)就可以实现这个功能。
解决字符串连接设置间隔符的问题:通过修改自定义聚集函数来实现设置间隔符的功能。
利用PLSQL实现表空间的迁移(一):介绍PULL_SIMPLE_TABLESPACE过程。
利用PLSQL实现表空间的迁移(二):介绍PULL_TABLESPACES过程。
利用PLSQL实现表空间的迁移(三):介绍CLONE_TABLESPACES过程。
利用PLSQL实现表空间的迁移(四):介绍ATTACH_TABLESPACES过程。
利用PLSQL实现表空间的迁移(五):介绍DETACH_TABLESPACES过程。
利用触发器对物化视图刷新进行定制:可以通过在物化视图上创建触发器的方式,对刷新操作进行定制。
利用UTL_SMTP发送邮件:UTL_SMTP包可以发送EMAIL。
系统触发器的应用顺序(一):描述一下系统级触发器的触发顺序。
系统触发器的应用顺序(二):看一个例外的情况。
系统触发器的应用顺序(三):寻找导致问题的原因。
系统触发器的应用顺序(四):通过TRACE检查问题的原因。
使用DBMS_RANDOM过程引发的问题:描述DBMS_RANDOM的调用可能导致的问题。
函数调用发生在SQL调用之前还是过程中:描述函数的调用是发生在SQL运行之前,还是发生在SQL的运行之中。
运行无法解决的编译错误:绝大部分情况下,可以直接尝试执行过程,来省略编译的步骤。但是有的时候,直接运行并不起作用。
Oracle11gr2触发器依赖判断增强(一):对比11.1和11.2在列级依赖上的差别。
Oracle11gr2触发器依赖判断增强(二):介绍触发器列级依赖存在的问题。
触发器中操作LOB:触发器中可以像其他数据类型一样处理LOB字段,但是仅局限于SQL语句对LOB的修改。
EXP/IMP和SQLLOADER:
物化视图导出导入可能导致物化视图日志的失效:一个很恐怖的bug,会在意想不到的情况下造成物化视图复制环境被破坏。
JOB和导入导出:EXP/IMP时可能丢失JOB的问题。
SQLLDR装载换行符的小问题:利用SQLLOADER装载换行符的方法。
导入报错OCI-21500 [kopuigpfx1]:9204导入XMLTYPE类型的BUG。
减少全库导入时发生的错误(一):问题描述。
减少全库导入时发生的错误(二):通过删除已经存在对象的方式进一步减少错误的产生。
减少全库导入时发生的错误(三):导入时增加TOID_NOVALIDATE参数,跳过对象的验证。
减少全库导入时发生的错误(四):处理OLAPSYS和WKSYS用户的错误。
减少全库导入时发生的错误(五):进一步减少错误,最终将上千个导入错误减少到了七个。
包含复制环境的数据库迁移(一):物化视图站点通过EXP/IMP进行迁移。
包含复制环境的数据库迁移(二):单主站点通过EXP/IMP进行迁移。
全库导入不会导入SYS和SYSTEM用户的对象权限:描述一个很容易被忽视的权限问题。
小议IMP操作参数COMMIT=Y(一):描述COMMIT=Y设置的缺点。
小议IMP操作参数COMMIT=Y(二):进一步讨论COMMIT=Y对性能的影响。
小议IMP操作参数COMMIT=Y(三):COMMIT=Y对数据完整性的影响。
分步导入可能会遇到的问题:导入的时候如果采用表和索引分步导入的方式可能会出现问题。
常规路径导出比直接路径导出快的问题(一):常规路径导出比直接路径快的问题。
常规路径导出比直接路径导出快的问题(二):对比本地服务器二者执行时间。
常规路径导出比直接路径导出快的问题(三):分析导致问题的原因。
EXP-3错误:9204导出10g数据库可能出现的错误。
导出小写的表:记录一下exp碰到小写表的时候如何处理。
EXP转换表空间:EXP过程碰到表空间的转换时需要注意的问题。
EXP转化表空间(二):利用10g的改名表空间名称的方法解决表空间的转化问题。
EXP在9R2上导出时报错ORA-3113和ORA-24324:EXP的过程中出现了ORA-3113和ORA-24324错误。
EXP在9R2上导出时报错ORA-3113和ORA-24324(二):继续分析错误情况。
获取导致导入失败的数据:从导出的dmp文件中获取错误的记录。
获取导致导入失败的数据(二):继续修正方法继续找出异常的数据。
获取导致导入失败的数据(三):最终获取了导致错误的记录。
获取导致导入失败的数据(四):继续探讨导致SQLPLUS程序崩溃的原因。
获取导致导入失败的数据(五):检验通过检查共享池的方法能否得到问题SQL。
SQLLOADER导入列中的空格:如何将文件中的空格作为列的值利用SQLLOADER加载到数据库中。
9i远端导出报错ORA-12571:通过客户端远端导出一个9201数据库的时候,中途出现ORA-12571错误。
对比数据泵与原始导入导出工具(一):从总体上描述一下二者的相同和不同之处。
对比数据泵与原始导入导出工具(二):描述数据泵的DIRECTORY、DUMPFILE和LOGFILE参数。
对比数据泵与原始导入导出工具(三):描述数据泵的CONTENT参数。
对比数据泵与原始导入导出工具(四):描述数据泵的INCLUDE参数。
对比数据泵与原始导入导出工具(五):描述数据泵的EXCLUDE参数。
EXP导出外部表报错(一):利用EXP导出外部表报错。
EXP导出外部表报错(二):继续寻找导致错误的原因。
EXP导出外部表报错(三):测试其他版本是否存在问题。
包含触发器的LOB表执行IMP导致EMPTY_LOB变为空:包含触发器的表,通过IMP导入原本的EMPTY_LOB将被转化为NULL。
EXPDP/IMPDP和DBMS_METADATA:
10g数据泵和导入导出性能对比(一):比较EXP常规模式、EXP直接路径模式和EXPDP三种方式导出的区别。
10g数据泵和导入导出性能对比(二):比较IMP和IMPDP导入的区别。
10g数据泵和导入导出性能对比(三):提高IMPDP导入效率的方法。
10g数据泵和导入导出性能对比(四):讨论并行度对数据泵导出的影响。
10g数据泵和导入导出性能对比(五):讨论影响数据泵导入性能的最大因素。
10g数据泵和导入导出性能对比(六):同时使用直接路径和并行来加速数据泵导入。
数据泵小bug:数据泵导入结束时间错误。
数据泵无法导入JOB:10g的数据泵在进行IMPDP的时候无法导入JOB。
数据泵处理隐藏列的bug:Oracle10g的数据泵在处理在线重定义生成的隐藏列时存在bug。
数据泵导入分区表统计信息报错(一):在进行数据泵导入操作时,发现一个bug。
数据泵导入分区表统计信息报错(二):继续深入研究这个问题。
数据泵导入分区表统计信息报错(三):检查问题和表的MONITORING属性之间的关系。
数据泵导入分区表统计信息报错(四):文章描述问题的解决过程。
数据泵导入分区表统计信息报错(五):描述导致问题的原因。
数据泵导入分区表统计信息报错(六):描述问题重现的过程。
数据泵导出时报错ORA-1422错误:DUAL表记录超过一条时,导致的错误。
Oracle10g新特性——利用外部表卸载数据:Oracle的外部表也可以用来卸载数据了。
数据泵报错ORA-39149:利用NETWORK_LINK方式导出的时候,出现了这个错误。
数据泵交换模式输入确认无效:数据泵的交互模式下,停止数据泵命令时,输入确认的命令无效。
Oracle11g新特性——数据泵(一):介绍新增的选项DATA_OPTIONS=SKIP_CONSTRAINT_ERRORS。
Oracle11g新特性——数据泵(二):介绍新增的参数REMAP_DATA。
Oracle11g新特性——数据泵(三):介绍数据泵压缩功能的提升。
Oracle11g新特性——数据泵(四):介绍数据泵导入的时候对分区的处理。
Oracle11g新特性——数据泵(五):介绍数据泵REUSE_DUMPFILES功能。
Oracle11g新特性——数据泵(六):介绍数据泵REMAP_TABLE功能。
Oracle11g新特性——数据泵(七):介绍数据泵导出的TRANSPORTABLE功能。
Oracle11g新特性——数据泵(八):介绍数据泵导入的TRANSPORTABLE功能。
Oracle11g新特性——数据泵(九):介绍数据泵的加密功能。
数据泵导入SKIP_CONSTRAINT_ERRORS的bug:利用这个参数可以在导入数据的时候,忽略掉违反约束的数据,而使得其他正常的数据顺利的导入。
数据泵导入SKIP_CONSTRAINT_ERRORS的bug(二):检查其他类型的约束的情况。
数据泵导入SKIP_CONSTRAINT_ERRORS的bug(三):通过讨论外键约束的情况将问题进一步深入。
EXPDP转化表空间:介绍10g的数据泵是如何进行表空间的转换的。
数据泵导入到不存在的用户(一):10g版本中创建的用户必须改变用户的密码,否则无法登陆。
数据泵导入到不存在的用户(二):描述11g中与10g的区别。
1106版本中数据泵导入REMAP_TABLE无效:1106版本中数据泵导入REMAP_TABLE无效。
获取表XML原数据的几个方法:研究了一下DBMS_METADATA包。
获取表DDL的几个方法:描述一下获取DDL的方法。
小议DBMS_METADATA包的用法:对DBMS_METADATA包进行深入一些的描述。
利用数据泵实现表空间迁移:使用数据泵进行表空间迁移。
利用数据泵实现表空间迁移(二):通过NETWORK_LINK的方式进行表空间的迁移。
TRANSPORTABLE方式导入需要处理不必要的对象:TRANSPORTABLE方式导出和导入还存在一些小问题。
同一个表空间能否被多个数据库同时打开(二):迁移表空间的方式在两个数据库加载同一个表空间。
同一个表空间能否被多个数据库同时打开(三):两个数据库加载同一个数据文件后,能否被一个或两个数据库只读打开。
同一个表空间能否被多个数据库同时打开(四):继续探讨以可写方式打开同时加载到两个数据库的同一个数据文件。
数据泵导入报错ORA-39125和LPX-00225:在数据泵导入执行到表统计信息阶段,出现了这个错误。
获取克隆用户脚本的方法:通过数据泵的功能获取用户信息。
对比数据泵与原始导入导出工具(一):从总体上描述一下二者的相同和不同之处。
对比数据泵与原始导入导出工具(二):描述数据泵的DIRECTORY、DUMPFILE和LOGFILE参数。
对比数据泵与原始导入导出工具(三):描述数据泵的CONTENT参数。
对比数据泵与原始导入导出工具(四):描述数据泵的INCLUDE参数。
对比数据泵与原始导入导出工具(五):描述数据泵的EXCLUDE参数。
数据泵避免个别表数据的导出:通过EXLUDE的方式避免个别表的数据的导出。
数据泵避免个别表数据的导出(二):介绍如何对分区表实现这个功能。
Oracle11gr2数据泵新特性(一):介绍数据泵的Legacy模式。
Oracle11gr2数据泵新特性(二):介绍数据泵对表导出方式的改进。
Oracle11gr2数据泵新特性(三):介绍数据泵对表模糊匹配导出的改进。
Oracle11gr2数据泵新特性(四):介绍数据泵导入新增的DATA_OPTIONS参数。
Oracle11gr2数据泵新特性(五):介绍数据泵对版本的支持。
数据泵导入时出现ORA-600(klaprs_11)错误:导出文件损坏造成的错误。
SQLPLUS:
使用SQLPLUS将输出写入文件:利用SPOOL功能将查询信息输出到文件。
COPY命令:SQLPLUS的COPY命令。
SQLPLUS内部错误1075:介绍一个SQLPLUS的bug。
AUTOTRACE的bug:Oracle客户端和SERVER端版本不一致造成的bug。
Oracle9i sqlplusw的登陆bug:9i的sqlplusw登陆bug,10g已经解决。
Oracle10g sqlplus小改进:10g的sqlplus在执行connect命令时自动调用glogin.sql实现初始化。
10G SQLPLUS CLEAR SCREEN BUG:sqlplus清屏的小bug。
ORACLE817上对同义词执行DESC出现CORE DUMP:ORACLE817上对同义词执行DESC出现CORE DUMP。
11g启动sqlplus报错没有权限:Enterprise Linux 5的SELinux安全设置导致的问题。
获取导致导入失败的数据(四):继续探讨导致SQLPLUS程序崩溃的原因。
10G SQLPLUSW的ACCEPT命令bug:Oracle 10g Sqlplusw的ACCEPT命令存在bug。
Sqlplus for Solaris上SPOOL OUT的bug:Solaris平台上SQLPLUS的一个小bug。
前台ORA-1075错误后台ORA-18错误:使用SYSDBA连接数据库报错ORA-1075,但是后台alert文件中显示的错误信息为ORA-18。
11g SQLPLUS新增SHOW SPPARAMETER命令:Oracle新增了SHOW SPPARAMETER命令,使得查询来自SPFILE文件的初始化参数更加容易。
SQLPLUS连接告警“未加载产品用户概要文件信息”:这个错误一般在手工建立的数据库中容易碰到。
限制SQLPLUS工具可执行的命令:利用SQLPLUS的功能禁止指定命令的执行。
10g Sqlplus工具登陆小改进:SQLPLUS / AS SYSDBA登陆的改进。