在写一个AFTER SUSPEND触发器的时候碰到了一个很有趣的现象。
寻找导致问题的原因。
系统触发器的应用顺序(一):http://yangtingkun.itpub.net/post/468/486884
系统触发器的应用顺序(二):http://yangtingkun.itpub.net/post/468/486915
查看全文在写一个AFTER SUSPEND触发器的时候碰到了一个很有趣的现象。
看一个例外的情况。
系统触发器的应用顺序(一):http://yangtingkun.itpub.net/post/468/486884
查看全文Oracle从9i开始引入这个功能,当出现空间不足等相关的错误时,Oracle可以不是马上返回错误信息,并回滚当前的操作,而是将操作挂起,直到挂起时间超过RESUMABLE TIMEOUT,或者空间不足的错误被解决。
这一篇简单介绍空间RESUMABLE的AFTER SUSPEND触发器。
空间RESUMABLE操作(一):http://yangtingkun.itpub.net/post/468/485892
空间RESUMABLE操作(二):http://yangtingkun.itpub.net/post/468/486048
查看全文Oracle提供了UTL_SMTP包,可以发送EMAIL。
查看全文10g的在线重定义还增加了对单独一个分区执行在线重定义的功能。
查看全文9i的在线重定义存在一个问题,执行完在线重定义后,表的名称虽然保持不变,但是索引、约束、触发器等关联对象的名称会发生变化,有时候这会带来一定的问题,而要在事后手工修改,会比较麻烦。
10g的在线重定义解决这个问题。如果对象是利用COPY_TABLE_DEPENDENTS创建的,那么这些关联的对象在重定义操作完成后,自动改为原始的名称。如果是手工创建的关联对象,则可以利用REGISTER_DEPENDENT_OBJECT过程,所有执行了REGISTER_DEPENDENT_OBJECT过程的关联对象,都会在重定义操作完成后自动重命名。
这篇文章来看REGISTER_DEPENDENT_OBJECT的例子。
10g在线重定义新特性——关联对象自动重命名(一):http://yangtingkun.itpub.net/post/468/486498
查看全文在后台alert文件中,发现了这个错误信息。
查看全文9i的在线重定义存在一个问题,执行完在线重定义后,表的名称虽然保持不变,但是索引、约束、触发器等关联对象的名称会发生变化,有时候这会带来一定的问题,而要在事后手工修改,会比较麻烦。
10g的在线重定义解决这个问题。如果对象是利用COPY_TABLE_DEPENDENTS创建的,那么这些关联的对象在重定义操作完成后,自动改为原始的名称。如果是手工创建的关联对象,则可以利用REGISTER_DEPENDENT_OBJECT过程,所有执行了REGISTER_DEPENDENT_OBJECT过程的关联对象,都会在重定义操作完成后自动重命名。
这篇文章来看COPY_TABLE_DEPENDENTS的例子。
查看全文以前写过几篇文章,描述在Oracle如何通过SQL和PL/SQL判断一个数是否是质数,没想到这个功能在Oracle中已经内置了。
查看全文Rac环境安装完成之后,打算简单测试一下Oracle RAC的负载均衡功能。
RAC负载均衡的简单测试(一):http://yangtingkun.itpub.net/post/468/279433
RAC负载均衡的简单测试(二):http://yangtingkun.itpub.net/post/468/279754
RAC负载均衡的简单测试(三):http://yangtingkun.itpub.net/post/468/280044
这篇文章继续讨论负载均衡与实例的忙闲是否有关。
查看全文前一段时间在一次迁移中同时用到了数据泵和EXP,发现二者效率的差别还是相当大的。这里通过一个例子简单比较一下。
这篇文章同时使用直接路径和并行来加速数据泵导入。
10g数据泵和导入导出性能对比(一):http://yangtingkun.itpub.net/post/468/321482
10g数据泵和导入导出性能对比(二):http://yangtingkun.itpub.net/post/468/323899
10g数据泵和导入导出性能对比(三):http://yangtingkun.itpub.net/post/468/328465
10g数据泵和导入导出性能对比(四):http://yangtingkun.itpub.net/post/468/457459
10g数据泵和导入导出性能对比(五):http://yangtingkun.itpub.net/post/468/486194
查看全文今天尝试构造物化视图日志来强制物化视图的刷新,结果没有成功。发现以前对物化视图的刷新理解的还不透彻。
利用触发器对物化视图刷新进行定制:http://yangtingkun.itpub.net/post/468/486225
查看全文物化视图的刷新其实和普通的SQL执行没有什么本质的区别,因此也可以通过在物化视图上创建触发器的方式,对刷新操作进行定制。
查看全文前一段时间在一次迁移中同时用到了数据泵和EXP,发现二者效率的差别还是相当大的。这里通过一个例子简单比较一下。
这篇文章讨论影响数据泵导入性能的最大因素。
10g数据泵和导入导出性能对比(一):http://yangtingkun.itpub.net/post/468/321482
10g数据泵和导入导出性能对比(二):http://yangtingkun.itpub.net/post/468/323899
10g数据泵和导入导出性能对比(三):http://yangtingkun.itpub.net/post/468/328465
10g数据泵和导入导出性能对比(四):http://yangtingkun.itpub.net/post/468/457459
查看全文从10g开始,Oracle推出了AUTO_FILTER来替代INSO_FILTER,不过根据Oracle的描述,AUTO_FILTER更像是在INSO_FILTER上增加了一些自动的判断而已。因此,可以认为二者是相同的问题。
查看全文忘记设置xhost +导致了这个错误的产生。
查看全文Oracle从9i开始引入这个功能,当出现空间不足等相关的错误时,Oracle可以不是马上返回错误信息,并回滚当前的操作,而是将操作挂起,直到挂起时间超过RESUMABLE TIMEOUT,或者空间不足的错误被解决。
这一篇简单介绍空间RESUMABLE的相关视图和包。
空间RESUMABLE操作(一):http://yangtingkun.itpub.net/post/468/485892
查看全文Oracle从9i开始引入这个功能,当出现空间不足等相关的错误时,Oracle可以不是马上返回错误信息,并回滚当前的操作,而是将操作挂起,直到挂起时间超过RESUMABLE TIMEOUT,或者空间不足的错误被解决。
这一篇简单介绍空间RESUMABLE的例子。
查看全文Oracle 11g增加了CREATE PFILE FROM MEMORY命令,这个命令可以方便的将当前实例设置的初始化参数写入初始化参数文件中,不过这个命令对于ASM实例而言,还存在bug。
查看全文查询初始化参数的方法很多,比如SHOW PARAMETER,或查询V$PARAMETER等,这里简单总结一下。
这一篇描述如何判断一个初始化参数是否是默认参数。
查询初始化参数的方法(一):http://yangtingkun.itpub.net/post/468/484669
查询初始化参数的方法(二):http://yangtingkun.itpub.net/post/468/484729
查询初始化参数的方法(三):http://yangtingkun.itpub.net/post/468/485623
查询初始化参数的方法(四):http://yangtingkun.itpub.net/post/468/485664
查询初始化参数的方法(五):http://yangtingkun.itpub.net/post/468/485719
查询初始化参数的方法(六):http://yangtingkun.itpub.net/post/468/485756
查看全文查询初始化参数的方法很多,比如SHOW PARAMETER,或查询V$PARAMETER等,这里简单总结一下。
这一篇描述CREATE PFILE的方法检查初始化参数。
查询初始化参数的方法(一):http://yangtingkun.itpub.net/post/468/484669
查询初始化参数的方法(二):http://yangtingkun.itpub.net/post/468/484729
查询初始化参数的方法(三):http://yangtingkun.itpub.net/post/468/485623
查询初始化参数的方法(四):http://yangtingkun.itpub.net/post/468/485664
查询初始化参数的方法(五):http://yangtingkun.itpub.net/post/468/485719
查看全文查询初始化参数的方法很多,比如SHOW PARAMETER,或查询V$PARAMETER等,这里简单总结一下。
这一篇描述如何判断一个初始化参数的来源。
查询初始化参数的方法(一):http://yangtingkun.itpub.net/post/468/484669
查询初始化参数的方法(二):http://yangtingkun.itpub.net/post/468/484729
查询初始化参数的方法(三):http://yangtingkun.itpub.net/post/468/485623
查询初始化参数的方法(四):http://yangtingkun.itpub.net/post/468/485664
查看全文查询初始化参数的方法很多,比如SHOW PARAMETER,或查询V$PARAMETER等,这里简单总结一下。
这一篇描述GV$SPPARAMETER参数的必要性。
查询初始化参数的方法(一):http://yangtingkun.itpub.net/post/468/484669
查询初始化参数的方法(二):http://yangtingkun.itpub.net/post/468/484729
查询初始化参数的方法(三):http://yangtingkun.itpub.net/post/468/485623
查看全文查询初始化参数的方法很多,比如SHOW PARAMETER,或查询V$PARAMETER等,这里简单总结一下。
这一篇介绍V$SPPARAMETER视图于GV$PARAMETER视图的不同。
查询初始化参数的方法(一):http://yangtingkun.itpub.net/post/468/484669
查询初始化参数的方法(二):http://yangtingkun.itpub.net/post/468/484729
查看全文在11g中,Oracle新增了SHOW SPPARAMETER命令,使得查询来自SPFILE文件的初始化参数更加容易。
查看全文今天和三思讨论在线日志文件能否在数据库打开的情况下删除的问题时,碰到了这个错误。
查看全文Oracle的分页查询语句基本上可以按照本文给出的格式来进行套用。
这篇介绍分析函数用于分页,且排序字段上包含索引的情况。
Oracle分页查询格式(一):http://yangtingkun.itpub.net/post/468/100278
Oracle分页查询格式(二):http://yangtingkun.itpub.net/post/468/101703
Oracle分页查询格式(三):http://yangtingkun.itpub.net/post/468/104595
Oracle分页查询格式(四):http://yangtingkun.itpub.net/post/468/104867
Oracle分页查询格式(五):http://yangtingkun.itpub.net/post/468/107934
Oracle分页查询格式(六):http://yangtingkun.itpub.net/post/468/108677
Oracle分页查询格式(七):http://yangtingkun.itpub.net/post/468/109834
Oracle分页查询格式(八):http://yangtingkun.itpub.net/post/468/224557
Oracle分页查询格式(九):http://yangtingkun.itpub.net/post/468/224409
Oracle分页查询格式(十):http://yangtingkun.itpub.net/post/468/224823
Oracle分页查询格式(十一):http://yangtingkun.itpub.net/post/468/485481
查看全文Oracle的分页查询语句基本上可以按照本文给出的格式来进行套用。
这篇介绍分析函数用于分页。
Oracle分页查询格式(一):http://yangtingkun.itpub.net/post/468/100278
Oracle分页查询格式(二):http://yangtingkun.itpub.net/post/468/101703
Oracle分页查询格式(三):http://yangtingkun.itpub.net/post/468/104595
Oracle分页查询格式(四):http://yangtingkun.itpub.net/post/468/104867
Oracle分页查询格式(五):http://yangtingkun.itpub.net/post/468/107934
Oracle分页查询格式(六):http://yangtingkun.itpub.net/post/468/108677
Oracle分页查询格式(七):http://yangtingkun.itpub.net/post/468/109834
Oracle分页查询格式(八):http://yangtingkun.itpub.net/post/468/224557
Oracle分页查询格式(九):http://yangtingkun.itpub.net/post/468/224409
Oracle分页查询格式(十):http://yangtingkun.itpub.net/post/468/224823
查看全文在9i的时候,表空间的迁移使用EXP/IMP来实现。在10g中,除了使用EXP/IMP之外,还可以使用数据泵EXPDP/IMPDP,以及RMAN的命令TRANSPORT TABLESPACE命令,除此之外,还可以通过PL/SQL包DBMS_STREAMS_TABLESPACE_ADM来实现。
这一篇介绍PULL_TABLESPACES过程。
利用PLSQL实现表空间的迁移(一):http://yangtingkun.itpub.net/post/468/484859
查看全文今天碰到一个有趣的bug,使用SYSDBA连接数据库报错,错误信息为ORA-1075,但是后台alert文件中显示的错误信息为ORA-18错误。
查看全文这篇文章描述为RAC环境创建STANDBY数据库。
由于篇幅限制,加上碰到了很多的bug,只能将文章拆分成多篇。
由于错误太多,导致一篇文章无法完全记录下来,创建STANDBY数据库问题汇总的第四部分。
RAC数据库建立STANDBY(一):http://yangtingkun.itpub.net/post/468/484988
RAC数据库建立STANDBY(二):http://yangtingkun.itpub.net/post/468/485013
RAC数据库建立STANDBY(三):http://yangtingkun.itpub.net/post/468/485054
RAC数据库建立STANDBY(四):http://yangtingkun.itpub.net/post/468/485090
RAC数据库建立STANDBY(五):http://yangtingkun.itpub.net/post/468/485121
查看全文这篇文章描述为RAC环境创建STANDBY数据库。
由于篇幅限制,加上碰到了很多的bug,只能将文章拆分成多篇。
由于错误太多,导致一篇文章无法完全记录下来,创建STANDBY数据库问题汇总的第三部分。
RAC数据库建立STANDBY(一):http://yangtingkun.itpub.net/post/468/484988
RAC数据库建立STANDBY(二):http://yangtingkun.itpub.net/post/468/485013
RAC数据库建立STANDBY(三):http://yangtingkun.itpub.net/post/468/485054
RAC数据库建立STANDBY(四):http://yangtingkun.itpub.net/post/468/485090
查看全文这篇文章描述为RAC环境创建STANDBY数据库。
由于篇幅限制,加上碰到了很多的bug,只能将文章拆分成多篇。
由于错误太多,导致一篇文章无法完全记录下来,这一篇继续记录STANDBY数据库创建过程中碰到的问题。
RAC数据库建立STANDBY(一):http://yangtingkun.itpub.net/post/468/484988
RAC数据库建立STANDBY(二):http://yangtingkun.itpub.net/post/468/485013
RAC数据库建立STANDBY(三):http://yangtingkun.itpub.net/post/468/485054
查看全文这篇文章描述为RAC环境创建STANDBY数据库。
由于篇幅限制,加上碰到了很多的bug,只能将文章拆分成多篇。
这章记录一下STANDBY数据库创建过程中碰到的问题。
RAC数据库建立STANDBY(一):http://yangtingkun.itpub.net/post/468/484988
RAC数据库建立STANDBY(二):http://yangtingkun.itpub.net/post/468/485013
查看全文这篇文章描述为RAC环境创建STANDBY数据库。
由于篇幅限制,加上碰到了很多的bug,只能将文章拆分成多篇。
这章介绍STANDBY数据库创建的后续操作,并检查STANDBY运行机制:
RAC数据库建立STANDBY(一):http://yangtingkun.itpub.net/post/468/484988
查看全文今天测试的时候纠正了一个错误的印象,一直认为如果当前控制文件被误删除,会导致实例关闭。
查看全文在9i的时候,表空间的迁移使用EXP/IMP来实现。在10g中,除了使用EXP/IMP之外,还可以使用数据泵EXPDP/IMPDP,以及RMAN的命令TRANSPORT TABLESPACE命令,除此之外,还可以通过PL/SQL包DBMS_STREAMS_TABLESPACE_ADM来实现。
这一篇介绍PULL_SIMPLE_TABLESPACE过程。
查看全文云计算应该是现在IT最火的概念了,本来一直对云计算的概念不是很了解,正好IT168协办组织了这个会议,于是借这个机会给自己扫扫盲。
查看全文很早之前看到Tom提到,可以创建一个非标准的BLOCK_SIZE的数据库,也就是说数据库的DB_BLOCK_SIZE不在2K、4K、8K、16K和32K之中。
一直没有计划测试,今天正好有环境,简单测试了一下。
这一篇介绍非标准数据块的限制。
9i创建非标准BLOCK_SIZE数据库(一):http://yangtingkun.itpub.net/post/468/484776
查看全文很早之前看到Tom提到,可以创建一个非标准的BLOCK_SIZE的数据库,也就是说数据库的DB_BLOCK_SIZE不在2K、4K、8K、16K和32K之中。
一直没有计划测试,今天正好有环境,简单测试了一下。
查看全文查询初始化参数的方法很多,比如SHOW PARAMETER,或查询V$PARAMETER等,这里简单总结一下。
这一篇介绍V$PARAMETER视图与V$SYSTEM_PARAMETER视图的不同。
查询初始化参数的方法(一):http://yangtingkun.itpub.net/post/468/484669
查看全文在10g以前,要彻底删除数据库,只有两个方法,一个是利用DBCA图形化工具删除数据库,另外一个就是关闭数据库后,手工删除数据文件、控制文件以及日志文件的方法。
从10g开始,Oracle提供了DROP DATABASE的语法,使得数据库的删除变得非常的简单。
查看全文从10g的R2版本开始,控制文件中设置的最大值,不再是数据库中的限制,当数据库的实际值超过了控制文件中的设置,控制文件中的值会自动扩展。
查看全文今天测试RAC环境归档的时候意外发现了这个问题,在11g的RAC环境中,如果数据库处于ARCHIVELOG模式,如果一个节点关闭,则另外的节点自动完成关闭节点的日志切换,并将ARCHIVELOG归档到本地节点。
查看全文在一个进行压力测试的Oracle10203 for Linux x86-64数据库的后台alert文件中,看到了这样的错误信息。
查看全文今天在PUB上看到了一个错误,在10.2.0.1上建立CHAR类型的SUBSTR函数索引后,可能导致随后的查询得到错误的结果:http://www.itpub.net/thread-1163703-1-1.html
查看全文这个工具由来已久,以为比较简单,一直没有写过,不过前两天用的时候,发现忘了语法,而这个工具还没有提示功能,连续几次都没有试出来,看来好记性不如烂笔头,还是记录一下吧。
查看全文Oracle10g提供了字符串连接的功能,使用WMSYS.WM_CONCAT(TNAME)就可以实现这个功能。不过在文中也提到了,利用Oracle提供的方法只能使用逗号作为字符串的分隔符。
10g新增功能实现字符串连接:http://yangtingkun.itpub.net/post/468/484171
对字符串的“sum”——在Oracle中自定义聚集函数的例子:http://yangtingkun.itpub.net/post/468/3380
查看全文在9i中,没有这个功能,因此字符串的连接只能通过自定义聚集函数实现,在我的BLOG中第一篇文章就是介绍实现这个功能的。除了自定义聚集函数外,利用SQL也能实现这个功能。在前面有一些文章专门描述这些问题。
对字符串的“sum”——在Oracle中自定义聚集函数的例子:http://yangtingkun.itpub.net/post/468/3380
连接字符串的SQL方法:http://yangtingkun.itpub.net/post/468/388003
字符串连接超长的解决(一):http://yangtingkun.itpub.net/post/468/482093
字符串连接超长的解决(二):http://yangtingkun.itpub.net/post/468/482122
查看全文以前基本上接触过中间件的东西也是和数据库的连接配置打交道,这次安装中间件还是第一次。本来以为安装会很费劲,没想到安装过程十分简单。
查看全文Oracle的rman一直没有提供备份到其他服务器上的功能,不过从10g开始,可以利用DBMS_FILE_TRANSFER包来实现这个功能。
查看全文Oracle10g新增了DBMS_FILE_TRANSFER包,通过数据库的功能实现了文件的传输。
这篇介绍GET_FILE和PUT_FILE过程。
Oracle10g新增DBMS_FILE_TRANSFER包(一):http://yangtingkun.itpub.net/post/468/484002
查看全文前一篇简单介绍了10g的新特性,RMAN的CONVERT命令,不过由于篇幅,没有给出一个具体的例子,这篇利用CONVERT在SOLARIS平台和LINUX平台的10.2.0.3版本数据库之前实现表空间的迁移。
Oracle10g新增CONVERT语法:http://yangtingkun.itpub.net/post/468/483871
查看全文










