Decode360's Blog

业精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

  BlogJava :: 首页 :: 新随笔 :: 联系 ::  :: 管理 ::
  397 随笔 :: 33 文章 :: 29 评论 :: 0 Trackbacks

07.Oracle

     摘要: 最近在工作中遇到一个问题,是关于物化视图的刷新的,对实际数据产生了比较大的影响。虽然犯得错误很低级,主要是由于对一些概念的不清晰造成的,但是仍然觉得有必要将这个问题记下来,以免悲剧再次发生。
  阅读全文
posted @ 2009-08-31 22:41 decode360 阅读(1831) | 评论 (1)  编辑

     摘要: 因为该装的Oracle版本基本上都装过了,最近打算尝试一下新鲜事物,于是下了Oracle XE打算安装到公司的机子上,因为原先装的9i也基本属于停用状态。这次安装还是遇到了一些问题,在这里记载一下:  阅读全文
posted @ 2009-08-29 21:07 decode360 阅读(3608) | 评论 (0)  编辑

     摘要: 最近要用到OEM,发现在Linux下面装的Oracle默认没有打开console,所以需要手动开启一下。找了点资料,也遇到了一些困难,就顺便学习一下相关的知识。把要记录的东西都记下来,也把错误贴出来,希望可以对别人有所帮助。  阅读全文
posted @ 2009-08-28 21:56 decode360 阅读(1835) | 评论 (0)  编辑

     摘要: 关于Oracle的约束概念和基本操作,我已经在以前的《Constraint基础概念》、《Constraint的简单操作》两篇文章中有过比较详细的介绍了,但是对于如何停用和启用constraint没有作特别的描述,以至于在使用PLSQL中无法忽略constraint而逐步进行数据的更改,所以在这里专门记录一下关于constraint的停用和启用相关知识。  阅读全文
posted @ 2009-07-26 22:17 decode360 阅读(2262) | 评论 (0)  编辑

     摘要: 在Oracle10g以前,tablespace的name是不可以随意修改的,只能drop掉之后重建,但是在10g之后,oracle加入了修改的功能,除了system和sysaux两个表空间外,其他的表空间都可以改名。今天专门来记录一下这个特性:
  阅读全文
posted @ 2009-07-25 22:03 decode360 阅读(1797) | 评论 (0)  编辑

     摘要: Oracle的数据文件大小是有限制的,最近在创建datafile的时候就遇到了问题,所以专门去查找了一些资料,把这个问题搞清楚了。限制是很简单直接的,但是作为DBA是必须要了解的。具体的问题是这样的:  阅读全文
posted @ 2009-07-24 22:38 decode360 阅读(3940) | 评论 (0)  编辑

     摘要: 即将要在工作中用到Stream了,没办法只好临时抱佛脚来学习一下了。找来找去还是发现junsansi的学习笔记比较好懂,打算最近就照着这个学了。不过最近实在是忙得没时间搞这个东西,把地址收录进来,等过几天开始慢慢看吧。改天再记几篇自己的学习心得,原文就不再转载了。  阅读全文
posted @ 2009-07-22 22:57 decode360 阅读(285) | 评论 (0)  编辑

     摘要: Oracle 10g在安装的时候必须要选择的一个文件存储方式的选项,可以选择“文件系统”、“ASM”、“裸设备”。其中ASM现在已经越来越多的应用到实践中。ASM的时候,可以使Oracle脱离OS文件系统的约束,使得对文件管理时更加方便,同时也改善了很多的硬件属性。当然,使用ASM需要专门配置、创建一个ASM磁盘组。下面找了些文章介绍一下,初步了解ASM。  阅读全文
posted @ 2009-07-16 23:05 decode360 阅读(1447) | 评论 (0)  编辑

     摘要: 又一篇强文!  阅读全文
posted @ 2009-07-14 22:27 decode360 阅读(9475) | 评论 (1)  编辑

     摘要: 从8i开始,oracle开始提供Move的命令。我们通常使用这个命令,将一个table segment从一个tablespace移动到另一个tablespace。Move实际上是在block之间物理的copy数据,那么,我们可以通过这种方式来降低table的HWM。我们先通过一个实验来看看move是如何移动数据的。  阅读全文
posted @ 2009-07-13 21:49 decode360 阅读(2541) | 评论 (0)  编辑

     摘要: 从10g开始,oracle开始提供Shrink的命令,假如我们的表空间中支持自动段空间管理(ASSM),就可以使用这个特性缩小段,即降低HWM。这里需要强调一点,10g的这个新特性,仅对ASSM表空间有效,否则会报 ORA-10635: Invalid segment or tablespace type。在这里,我们来讨论如何对一个ASSM的segment回收浪费的空间。   阅读全文
posted @ 2009-07-12 23:05 decode360 阅读(240) | 评论 (0)  编辑

     摘要: ASSM(Auto Segment Space Management)是Oracle内部进行segment管理的一种方式,与之对应的是MSSM(Manual Segment Space Management)。由于在使用DBCA创建实例时需要选择,所以专门去了解了一下这个概念。没想到水还挺深,最近没时间研究了,所以只了解一下这个概念的定义,一些具体的东西,eygle和piner两位大佬已经研究得比较透彻了,留下传送门等以后有空了再来慢慢拜读。注:ASSM必须工作在LMT下。  阅读全文
posted @ 2009-07-10 23:47 decode360 阅读(709) | 评论 (0)  编辑

     摘要: 来学习一下LMT(Locally Managed Tablespace)的知识。虽然这个现在已经很少用到了,而且基本上默认创建的SYSTEM都已经是LMT的了,这样是无法再创建DMT的。所以说这种方法其实已经没有什么熟练掌握的必要了,但是作为丰富知识的作用,还是可以了解一下的,因为毕竟也还是尝尝会碰到这个概念。  阅读全文
posted @ 2009-07-09 22:41 decode360 阅读(803) | 评论 (0)  编辑

     摘要: 本文通过创建一个Oracle的各种进制之间的转换函数包,来了解一下Oracle的Package、Procdure、Function、Type等等元素的基本特性,以及这些元素之间的相互关系。不过最值得借鉴的还是这个包的作者的编码习惯,这的是非常赏心悦目的一段代码啊,包括注释结构也很美。注:实例来源于网络,我能够找到的网址是:http://www.laozizhu.com/view-Oracle%E9%87%8C%E4%BA%8C%E8%BF%9B%E5%88%B6%E3%80%81%E5%85%AB%E8%BF%9B%E5%88%B6%E3%80%81%E5%8D%81%E8%BF%9B%E5%88%B6%E3%80%81%E5%8D%81%E5%85%AD%E8%BF%9B%E5%88%B6%E4%B9%8B%E9%97%B4%E7%9A%84%E4%BA%92%E7%9B%B8%E8%BD%AC%E6%8D%A2-18961.htm (汗,好长的汉字网址……)  阅读全文
posted @ 2009-07-02 22:15 decode360 阅读(1417) | 评论 (0)  编辑

     摘要: 公司目前需要做一个与生产库实时同步的备库,于是做了一些技术选择。基本上来说,最省事的当然就是做个DG,但是对系统硬件、操作系统的要求比较高,不可能再弄台小机搞这玩意。所以只能排除。另外物化视图也是比较方便的方法,但是因为是需要整库备份,很明显是不切实际的。基本上可选的技术也只有高级复制和流复制两种了。流复制的配置比较麻烦,而且应用也不是很成熟,但是功能强大。高级复制虽然要简单一些,但是也只能支持Table级,所以在两者之间还是很困惑,专门找了一些材料对比一下。  阅读全文
posted @ 2009-06-30 22:54 decode360 阅读(632) | 评论 (0)  编辑

     摘要: 最近在配置Stream时,发现必须要把GLOBAL_NAMES参数的指设置为TRUE,具体原因为何不知。但是发现在设置了该参数之后,数据库每天的物化视图刷新出现了问题。之后查明原因,是DBLINK出现了问题。随后研究了一下GLOBAL_NAMES这个参数,发现其实很有意思的事情是:GLOBAL_NAMES参数并不是用来控制GLOBAL_NAME的,而是用来限制DBLINK的使用。下面简单了解一下这个参数:  阅读全文
posted @ 2009-06-27 20:49 decode360 阅读(611) | 评论 (0)  编辑

     摘要: 在yangtingkun博客上看到很早以前的一篇文章,是用一个type来自定义聚集函数的,觉得非常神奇,想想用普通的函数定义还真的是不能满足需求,只能用Oracle的说明来做。开始死活看不懂这个type定义的原理,发现参数传入传出的好麻烦,后来在网上找了Oracle的文档,发现这是Oracle规定的固定格式,而且函数名也是确定的,貌似这样才能依次调用。下面简单了解一下:  阅读全文
posted @ 2009-06-26 21:43 decode360 阅读(537) | 评论 (0)  编辑

     摘要: 在使用Streams流复制的过程中,遇到各种错误的时候很常见。在Oracle的文档(Oracle? Streams Concepts and Administration 10g Release 2)上提供了一个异常检测方案。即可以通过Oracle自己的数据字典,来确定具体的传输内容,以便作出相应的调整  阅读全文
posted @ 2009-06-24 21:53 decode360 阅读(382) | 评论 (0)  编辑

     摘要: 今天在关闭数据库的时候,shutdown immediate之后系统就hang住了,其他进程也连不上库。查看了alert.log日志,发现大量出现“PMON failed to acquire latch, see PMON dump”这个错误,到网上查了一下,据说是个bug,在一篇博文上找到了解决的办法:  阅读全文
posted @ 2009-06-23 21:42 decode360 阅读(4540) | 评论 (0)  编辑

     摘要: 因为最近研究字符集,所以对于Oracle内部的一些存储模式产生了一些兴趣,据说DUMP这个函数的功能非常强大,所以专门研究了一下。当然研究的都比较初级,只是了解一下。具体哪里可以用到暂时还不知道 -_-||| ,另外对字符集的转换等一些函数也了解一下:  阅读全文
posted @ 2009-06-17 23:08 decode360 阅读(928) | 评论 (0)  编辑

     摘要: 对字符集的认识一直都处于一知半解的状态,目前打算要做不同字符集的库之间数据传导,所以专门研究了一下数据库的字符集问题。转了一篇很详细的论文来,论文就是不一样,讲得非常细致全面,是很好的字符集入门材料。下面是正文:  阅读全文
posted @ 2009-06-16 22:31 decode360 阅读(426) | 评论 (0)  编辑

     摘要: 写在前面:其实dump操作是很简单的事情,但是对于像我这样的新手可能还是会有很多搞不明白的事情,所以打算简单说明一下:首先大家所说的把*** dump出来的意思,就是用户自己对进程中的一些事件进行trace,然后会在udump文件目录下产生trace记录,可以查看到当时内存的情况。  阅读全文
posted @ 2009-06-10 22:39 decode360 阅读(907) | 评论 (0)  编辑

     摘要: 今天需要对用户进行锁定操作,发现居然不知道操作的命令格式,找来找去也没找到,还是上网查一下。其实只是一个简单的操作,就是修改密码、用户锁定、密码过期这3个操作,为了避免忘记,特地在这里记一下。最后还附有Oracle默认安装后的用户及意义,也了解一下。
  阅读全文
posted @ 2009-05-30 23:02 decode360 阅读(1680) | 评论 (0)  编辑

     摘要: 在刚安装完Oracle之后就发现监听器起不起来,每次 $lsnrctl start 都报以下错误:
  阅读全文
posted @ 2009-05-28 23:18 decode360 阅读(613) | 评论 (0)  编辑

     摘要: 了解一下10g之后可以新加入的伪劣ORA_ROWSCN,在判断表的更新时间,是否有记录被修改的时候比较有用。而且在9i之后,SCN号已经可以和时间互相转换了,所以使用起来是比较方便的。但是要注意的有几个事情:  阅读全文
posted @ 2009-05-24 21:11 decode360 阅读(182) | 评论 (0)  编辑

     摘要: 一直在将保证数据库的一致性,但是到底什么是一致性,一般的DBMS如何保证数据库的一致性的?对这个问题一直都没有一个很直观、完整的认识,所以专门研究了一下数据库的一致性问题,学习的结果如下:
  阅读全文
posted @ 2009-05-04 22:42 decode360 阅读(324) | 评论 (0)  编辑

     摘要: 笔记本的性能还可以,2G内存、2G主频双核CPU,以前一直也没发挥什么大的作用,于是想装多几个版本的Oracle来做测试。就下载了从9i到11g的3个版本的Oracle,还有OWB、BI等一些OUI软件,一起来安装一下,但是第一次的安装并不太顺利,很多环境配置都出了问题,第二次全部卸载之后又参考了网上的一些资料,配置了N久总算是顺利装上了,介绍一下经验:
  阅读全文
posted @ 2009-05-01 22:44 decode360 阅读(277) | 评论 (0)  编辑

     摘要: 本文主要内容包括:
1、如何使源表的数据变化不影响物化视图的快速刷新
2、建好物化视图后,当基表或者源表的结构发生变化对物化视图刷新的影响。  阅读全文
posted @ 2009-04-16 22:36 decode360 阅读(558) | 评论 (0)  编辑

     摘要: 最近一直受困于一些Log的操作问题,很多问题都被集中遇到了,于是收集了各种资料,进行一下统一的学习。从自己遇到问题的几个方面做了解答。很多资料来自ASKTOM。这是很有用也很重要的内容。  阅读全文
posted @ 2009-04-09 23:19 decode360 阅读(379) | 评论 (0)  编辑

     摘要: 这篇文章举例说明了大表在各种存储模式下进行查询时的执行计划。不同的字段查询会形成相对应的执行计划,而且对于索引的INDEX FAST FULL SCAN也有一个举例,对全表扫描和快速索引扫描有很好的说明用处。非常牛逼!  阅读全文
posted @ 2009-04-05 22:22 decode360 阅读(365) | 评论 (0)  编辑

     摘要: 当发生临时表空间不够时,可以用以下语句来创建一个比较大的临时表空间(各个文件可以创建到不同的磁盘以备用)
  阅读全文
posted @ 2009-03-29 21:50 decode360 阅读(161) | 评论 (0)  编辑

     摘要: Tom的这篇文章介绍了Oracle在不同的情况下,使用RBO和CBO对执行计划的影响。以及在CBO下,对于TABLE的不同大小而产生的变化。在最后还介绍了一下使用现有执行计划对于条件过滤之后记录数的多少而形成的不同情况,也回答了我以前的一些困扰。但是具体到底多少记录占比会使CBO发生变化还是不得而知。另外也可以看一下关于DBMS_STATS包的应用方法,这个包还是很有用的,就是比较复杂一些。
  阅读全文
posted @ 2009-03-28 21:48 decode360 阅读(184) | 评论 (0)  编辑