随笔分类 -  Kamus' Oracle

摘要:在各大网站开始预定销售的没几天,《Oracle数据库性能优化》正式出版。目前是eygle直接拿到第一批书,呵呵,我还没见到书的真正面貌呢。这本书是itpub集结各路高手撰写的Oracle专业书籍的第二本了,并且第三,第四本也已经在策划中。其中第三本定位于Oracle数据库的高可用性研究,将专门讲述Streams,DataGuard,RAC,Replication,Storage等HA相关的方方面面。目前可以敲定的稿件已经不少,相信在几个月以后就可以开始编审,筹划出版了。当然,文章是多多益善的,所以如果有人愿意投稿,那么可以给我邮件。kamusis [at] gmail.com 阅读全文

posted @ 2005-06-16 14:17 xublogs 阅读(161) 评论(0) 推荐(0)

摘要:收到别人的邮件,咨询SqlLoader装载日期型数据的方法,觉得也许是一个普遍的疑问,所以贴出来。Q:kamus: 斑竹你好,最给予到一件麻烦事,想请教 请问Sql loader工具能否加载日期型数据?如何加载?(我是指oracle表中字段为date型) A:check this:http://oraclesvca2.oracle.com/docs/cd/B10501_01/server.920/a96652/ch06.htm#1016163 Q:控制文件:LOAD DATAINFILE 'd:/equip.dat'APPEND INTO TABLE scott.test(q1 阅读全文

posted @ 2005-06-06 02:40 xublogs 阅读(817) 评论(0) 推荐(0)

摘要:其实应该是很早就出来了,只是上个月忙于游戏,一直没有注意,呵呵,惭愧惭愧。作为这期杂志的主编,还是有义务推广一下CSDN的电子杂志的。CSDN电子杂志Oracle专刊截至此期已经发布了4期,下载的地址可以从下面得到。第四期第三期第二期创刊号CSDN Oracle杂志的官方Blog另外Itpub的第二本Oracle技术图书也已经交付印刷,相信在本月中就可以跟大家见面了。预告信息和图书封面可以参看eygle的blog。这本书中我的文章是“关于Freelists和Freelist Groups的研究”,部分章节在我以前的blog中也有贴出。 阅读全文

posted @ 2005-06-05 19:39 xublogs 阅读(131) 评论(0) 推荐(0)

摘要:Oracle 10g provides table and index maintenance tools (Oracle 10g online reorganization) for a very good reason. To keep Oracle running super-fast, Oracle chose not to incur the overhead of coalescing table rows and restructuring indexes during peak update times. That’s why we have the DBA maintenan 阅读全文

posted @ 2005-04-17 02:37 xublogs 阅读(235) 评论(0) 推荐(0)

摘要:March 14, 2005 - Version 6.0.5 released 下载地址Enhancements Insert Template context menu would hide first item and add dummy item Insert Template did not show subfolders Connection preferences in registry (Logon section) did not work Projects: progress while compiling now shows actual number of compila 阅读全文

posted @ 2005-03-20 00:50 xublogs 阅读(196) 评论(0) 推荐(0)

摘要:四. 有多少种free list1. master free list或者segment free list简称为MFL,在segment被创建的时候自动生成的,如果我们在创建segment时没有指定freelists参数,或者指定freelists=1,都是生成这个MFL。MFL对于每个segment来说有且只有一个(如果指定freelists>1,产生的就是不是MFL,这一点将在process free list部分解释)。MFL相当于一个空闲空间池,当一个segment被创建时的初始化block以及以后动态分配的新block都链接到MFL中,这个池中的所有空闲块是被所有进程共享的, 阅读全文

posted @ 2005-03-09 00:42 xublogs 阅读(330) 评论(0) 推荐(0)

摘要:三. freelists存储在哪儿freelists存储在每个segment的header block中,我们可以通过dump来得到更清楚的认识。dump在研究oracle的内部机制时通常都扮演着很重要的角色。假设我们创建一个表空间TS_TEST,此表空间是非自动段空间管理的,然后在该表空间中创建T_MANUAL,T_MANUAL_FREE2,T_MANUAL_FREEGROUP2三张表。这三张表的freelists和freelist groups设置如下。SQL> select SEGMENT_NAME,SEGMENT_TYPE,FREELISTS,FREELIST_GROUPS fr 阅读全文

posted @ 2005-03-09 00:40 xublogs 阅读(224) 评论(0) 推荐(0)

摘要:二. freelists是否已经过时随着Oracle9i的推出,对于空闲块的管理变得更加智能和有效率了。在LMT(Locally Managed Tablespaces)中如果指定了ASSM(Automatic Segment Space Management),那么对于任何pctused,freelists,freelist groups存储参数的指定都将被忽略。创建ASSM表空间的方法如下:CREATE TABLESPACE lmtbsb DATAFILE '/u02/oracle/data/lmtbsb01.dbf' SIZE 50M EXTENT MANAGEMENT 阅读全文

posted @ 2005-03-09 00:38 xublogs 阅读(178) 评论(0) 推荐(0)

摘要:一. 什么是freelists本文在于探讨Freelists和Freelist Groups的作用,存取机制,争用诊断和优化方法,同时通过理论和测试来推翻一些存在了很久的错误观点。本文的读者应该具有较深入的Oracle知识,对于一般的开发人员这篇文章可能并没有太多的帮助。我们知道Oracle数据库的读取单位是数据块(Block),而一个Block是否允许被写入数据是基于一定的空闲度,这就是大家知道的pctfree和pctused存储参数设置。假设pctfree=10, pctused=40,这就表明当一个Block的空间使用率达到了90%(100-pctfree)时,这个block就不再允许被 阅读全文

posted @ 2005-03-09 00:37 xublogs 阅读(207) 评论(0) 推荐(0)

摘要:Export/Import can be Very Slow with OPTIMIZER_MODE = FIRST_ROWShttp://metalink.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=181072.1解决方法:任选一种1。修改应用的SQL,让SQL适用于OPTIMIZER_MODE = CHOOSE2。修改应用SQL,添加“/*+ FIRST_ROWS */”提示3。修改初始化参数OPTIMIZER_MODE = CHOOSE,创建登录触发器,只有当应用用户登录 阅读全文

posted @ 2005-02-25 16:12 xublogs 阅读(205) 评论(0) 推荐(0)

摘要:PL/SQL Developer是我平时管理Oracle数据库使用最频繁的Oracle客户端GUI程序。目前最新的版本是:6.0.4January 5, 2005 - Version 6.0.4 releasedEnhancements Package bodies, type bodies, and materialized views would disappear from user defined folders Opening a user defined folder when disconnected would lead to "Not logged on" 阅读全文

posted @ 2005-02-23 06:13 xublogs 阅读(181) 评论(0) 推荐(0)

摘要:今天第一次测试了一下Oracle9i下的Streams,只是简单地测试,看上去功能还是不错的。基本上是主库Capture,然后Staging,然后备库Apply。由于基于stream + queue messege技术,所以比起AR来说,streams的实时性更高。这几天准备看看Streams的文档,然后也搞出一篇《Streams初步研究》的中文文档出来吧。 阅读全文

posted @ 2005-02-21 23:32 xublogs 阅读(116) 评论(0) 推荐(0)

摘要:今天现场工作人员报告在IMP一个dmp文件时报超出最大游标数的错误,ORA-01000: maximum open cursors exceeded。询问了一下基本情况,上metalink查了一下,IMP中根本就没有提及任何有关ORA-01000的错误,这就有些纳闷了。这时候,通过邮件收完了dmp文件,自己模拟测试了一下,发现其实错误的原因根本不是ORA-01000,而是IMP-00093,只是由于太多的IMP-00093错误消耗了大量的cursor,导致一个session中的cursor数超过了定义的300,所以在最后就开始报ORA-01000错误了。IMP-00093: Inconsist 阅读全文

posted @ 2005-02-21 00:02 xublogs 阅读(463) 评论(0) 推荐(0)

摘要:2005-2-4更新,纠正了一些错误和不恰当的说法,添加了多个freelists是否会引起空间浪费的探讨。同样可以参看关于本文在itpub中的相关讨论。1。如果表空间不指定SEGMENT_SPACE_MANAGEMENT AUTO,仍然会使用Freelists和Freelist Groups来管理Free Block。2。默认的Freelists和Freelist Groups均为1。Dump Segment Header Block可以发现有一个Freelists,称为mater free list,每个segment至少有一个master free list。如:SEG LST:: flg 阅读全文

posted @ 2005-02-04 05:01 xublogs 阅读(268) 评论(0) 推荐(0)

摘要:在UNIX或者Linux操作系统中添加操作系统认证用户的方法比较单纯,只需要操作数据库本身就可以。具体步骤可以参看biti_rainy写的基于外部OS验证的数据库用户。但是在Windows操作系统中,需要修改注册表,在HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/HOME0下面添加字符串键名OSAUTH_PREFIX_DOMAIN,键值设为FALSE。然后再在SQL*PLUS中添加用户:SQL> create user ops$kamus identified externally default tablespace users;User createdSQL& 阅读全文

posted @ 2005-02-02 14:46 xublogs 阅读(193) 评论(0) 推荐(0)

摘要:这几天在看Tom的Effective Oracle by Design陆续作一些笔记吧SQL> create tablespace ts_test datafile size 10240k uniform size 1024k;Tablespace createdExecuted in 1.021 secondsSQL> select bytes/1024 from dba_free_space where tablespace_name='TS_TEST';BYTES/1024---------- 9216Executed in 0.07 secondsSQL&g 阅读全文

posted @ 2005-02-02 01:13 xublogs 阅读(166) 评论(0) 推荐(0)

摘要:Control File中备份信息被覆盖情况下的数据库恢复案例现场人员报告说误删除了用户(drop user),按照操作文档作RMAN的不完全恢复,但是报错,错误信息显示:RMAN-03002: failure during compilation of commandRMAN-03013: command type: restoreRMAN-03002: failure during compilation of commandRMAN-03013: command type: IRESTORERMAN-06026: some targets not found - aborting res 阅读全文

posted @ 2005-01-17 21:54 xublogs 阅读(175) 评论(0) 推荐(0)

摘要:最近一直头疼于DataGuard环境中万一网络失败将导致的Primary库短时间内无法正常工作的问题。这个问题的现象基本上是这样:当Primary和Standby之间的网络出现问题,比如说在测试环境中我们拔掉Standby的网线,此时当Primary发生日志切换(Log Switch)的时候,Primary将试图通知Standby同样作归档,但是由于网络不通,就会默认有30秒的TimeOut,而在这30秒的时间内,Primary上的任何DML操作都将被悬停。至今为止我还没有找到很好的办法可以有效地缩短这个TimeOut时间,虽然按照文档上说应该可以缩短到最小15秒。即使是15秒,也是无法忍受的 阅读全文

posted @ 2005-01-13 22:55 xublogs 阅读(216) 评论(0) 推荐(0)

摘要:今天在客户处升级Oracle数据库,8174->9205。客户的环境是两台Sun Fire v880,SunOS 2.8 02.2版本,Sun Cluster 3.0作为HA。由于操作系统的02.2版本过低,在安装Oracle9205 Patch之前,必须要先打操作系统的补丁。之前我自己曾经作过一次,但是由于没有打完所有的补丁,结果导致整个主机都无法正常启动。所以这次是SUN的工程师过来操作,将整个操作系统全部打到最新的补丁。中间碰到了一些问题,不一一叙述了。而最后这个问题郁闷了很长时间。我的数据库升级过程应该属于正常操作,我并没有在两个节点上都单独地安装oracle9i的软件。首先在A 阅读全文

posted @ 2005-01-08 11:58 xublogs 阅读(154) 评论(0) 推荐(0)