2010-01-27 Wed
Author: AnySQL, published on dbatools.net, Oracle Data Recovery, Tools, WebChart Report, etc.
Usually our application are bound to one physical database, for example, we always read our data from specific Oracle database or MySQL database, or write business data to specific Oracle database or MySQL database. The physical database is not transparent to the application, many application developers know which physical database the data stores. But that's not so good, we'd better introduce a logical database layer between application and the pnysical database.
We create some logical database name, and in the application code, we just use the logical database name, then we can intoduce a relation map between the logical database name and physical database, while the appliction doesn't care about the physical database location.
LOGICAL.logical database name=relation type|data source list
In the WebChart utility, I intorudced 5 types of logical relation between the application and physical database, we may call it logical relation. The first type is equal (FIRST), always choose the first data source.
LOGICAL.WRITEDB=FIRST|masterdb
The second type is random (RANDOM), choose one data source from the data source list randomly.
LOGICAL.SLAVEDB=RANDOM|slavedb1, slavedb2, slavedb3
The third type is sequential (FAILOVER), if the first is unavailable (markdown), then get the next data source. We want our application read data from slave first, if no slave available then read data from master database.
LOGICAL.READDB=FAILOVER|slavedb, writedb
The forth type is get data source by position value, the application will get the data source by a specific hash value, and we get the data source by mod it with available data source count. If we provide a hash value 5, then we will get the get the slavedfb3 connection (5%3=2).
LOGICAL.SLAVEDB=POSITION|slavedb1, slavedb2, slavedb3
The last type is get data source by a range value, the application will get the data source by a value range. If we provide a range value 150, we will get slavedb2 connection.
LOGICAL.SLAVEDB=RANGE|slavedb1, slavedb2, slavedb3
LOGICAL.SLAVEDB.VALUES=100,200,300
I found it may be valuable to make the application transparent to the physical databases. How do you think about it?
Related Posts
Twitter Me? | Leave New Comment(Current: 0)
Link: http://www.dbatools.net/experience/logical-database-access-layer.html
Author: AnySQL, published on dbatools.net, Oracle Data Recovery, Tools, WebChart Report, etc.
It has been 5 years since I released the first version of AUL utility, and I have helped lots of customers to get their data back from corrupted database, such as lost system tablespace, table dropped or truncated. But every time AUL started, you were required to input a new license code, which I called it "dynamic license model", it becomes obsolete now.
On windows platform, AUL will not change the register code unless you restall the windows, or move it to another host. So you can buy one real AUL license to recover your data at any time, for any Oracle databased. The fixed license model is comming for you.
For example, every time I start the AUL utility, it will generate the same register code.
Register Code: DETO-NODT-JETT-DNMX-DDCN
AUL : AnySQL UnLoader(MyDUL) for Oracle 8/8i/9i/10g/11g, release 5.1.1
(C) Copyright Lou Fangxin 2005-2010 (AnySQL.net), all rights reserved.
AUL>
AUL does not bind it to a physical host, it may change the register code after you reinstall or upgrade the windows version, or replace the disks etc. The newer fixed license mode will give more benifit to AUL customers.
After all, now you can get a real AUL license, not just a service.
Related Posts
Twitter Me? | Leave New Comment(Current: 0)
Link: http://www.dbatools.net/mydul/fixed-aul-license-is-available.html
因为我们国家正在酝酿出台《反虐待动物法》,一条关于违法食用或销售猫狗肉者最高可被罚款五千元并被拘留15天的专家建议在社会上引发巨大反响。我对这样的新闻和争议,通常都不会作任何评论,原因很简单,它仅仅只是一些人的看法,尚未成为法律,也没有成为一种“事件”,而且根据我的法律知识,这个规定压根就不可能成为法律条文,其次是,媒体在报道这些东西的时候,都有炒作夸大的成分,譬如说所谓的“专家建议”,在吃狗肉的问题上,我们国家哪有什么专家呢?有,也应该是那些厨师啊。我今天之所以想说几句,实在是因为我非常喜欢吃狗肉,无论是江苏的沛县狗肉,还是湖南的烟熏腊狗肉,都是我的至爱。而在我们国家,也确实有人因为喜欢狗,时常做出一些让人觉得非常过分的事情。譬如,有一次,在电视里看到一个新闻,说一帮爱狗分子埋伏在公路边,硬是把一辆私人卡车拦了下来,车上装有很多狗,车主准备运往广东的某些饭店。爱狗分子仗着人多势众,不顾车主的极力反抗,打开车门,把车上的狗全给放了跑了,没有给人家分文补偿。可怜的车主急得只好边哭边跺脚,仿佛遇到了一帮神经病。
习俗,或说习惯,是法律的一个重要渊源。中国人历来是有吃狗肉的习惯的,否则也就不会有名扬四海的沛县狗肉。因为有这样的历史和习惯,所以,历代中国都没有禁止吃狗肉的法律,相反,还把狗肉当作美食的一种。那么,为什么现在有人要禁止吃狗肉呢?收集一下网络上的意见,大致有这么几点:一,外国人不吃;二,狗是人类的好朋友;三,杀狗特别残忍;四,现在有很多人把狗当作宠物在养,他们对狗的感情很深。然而,细究起来,这些理由都是靠不住的,都不足以用立法来予以解决。外国人不吃,中国人就吃不得?外国人不但不吃狗,据说还不大喜欢吃动物内脏,比如鸡肝,猪肝,甚至连猪头都不大吃,莫非我们也要禁止一下呢?狗是人类的朋友,猪、牛、鸡,难道就不是?杀狗残忍,杀猪就不残忍?
外国人,主要是西方人,之所以不大喜欢吃狗肉,一个重要的原因是,西方民族是游牧民族,狗和马一样,可以用来打猎,是生产工具。打猎,打的当然也是动物,如果没有狗,他们就吃不到其他动物。而在我们中国,特别是汉族,是农耕民族,狗的作用不大,相反,却很看重牛的作用,所以,我们中国人,汉人,是不大会杀牛吃牛肉的,一条牛死了,都很痛苦。因为不大吃牛肉,所以,汉人烹饪牛肉的水平也就一直不高,没有外国人那么会吃。外国人不一样,他们的牛是不需要劳动的,养大了,就是用来杀掉吃的。所以,好多事情都是有原由的,一个民族吃什么,不吃什么,自有他的道理。
而在道理之外,惟一可以理解的,就是有人因为喜欢狗,把狗当宠物养,对狗有着很深的感情,所以,他们看不得别人吃狗。但是,这就像有人同样看不得他人养狗一样,纯粹属于个人爱好,而不是众意。没有众意的支持,如何去立法呢?
更何况,在当下中国,那些把狗当宠物养的爱狗分子,大多都是比较有钱的,我们不要忘了,还有很多人,像我,连饭都吃不饱,更不要说养狗了。在这寒冷的冬季,出于本能,他们只会哆嗦着去想,如果现在能有一碗热腾腾的狗肉煲,那该多好啊。
昨天Michelle给我团的棉衣也到货了,买给家人的,真是辛苦刘大人了,给她肯定是很多麻烦了。
感谢感谢!
2010-01-26 Tue
上一次只想到了逻辑逻辑层和物理连接层之间的三种关系, 等价(FIRST), 随机(RANDOM), 顺序(FAILOVER). 其实后面一直在思考, 阅读了一些相关文章, 糊思乱想了一通后, 又增加了两种访问方式.
按位置(POSITION)访问, 指程序提供一个标识位置的数, 然后与逻辑连接层的连接源数目进行取余操作, 根据余数来获取指定位置的数据源. 继续上一次中的四个MySQL的例子, 我们创建如下逻辑连接, 在访问时如果提供的值是5, 则最后取到的是5余4的位置, 即SLAVE1.
LOGICAL.DEFAULT=POSITION|MASTER,SLAVE1,SLAVE2,SLAVE3
按范围(RANGE)访问, 指程序提供一个标识位置的数, 然后与逻辑连接层的连接数据源进行比较操作, 按顺序找到指定位置的数据源. 继续上一次中的四个MySQL的例子, 我们创建如下逻辑连接, 在访问时如果提供的值是250, 则最后取到的是小于300的位置, 即SLAVE2. 同前面的按位置相比, 这个可以在增减数据源时, 将影响控制得更好.
LOGICAL.DEFAULT=POSITION|MASTER,SLAVE1,SLAVE2,SLAVE3
LOGICAL.DEFAULT.VALUES=100,200,300,400
在程序中, 可以根据业务特色提供这个标识位置的数, 然后在JDBC的访问URL中提供这个值, 访问代码如下所示.
try {
Connection db = DriverManager.getConnection("jdbc:anysql:default/250", null);
......
db.close();
}
catch (SQLException sqle)
{
......
}
接下来当然还会思考有没有新的方式了, 有了这些访问方式, 进一步抽像一下, 可以看看能不能将数据库当成一个磁盘(Database as Disk)来看, 写一个弱弱的DatabaseRaid类在实验室玩玩数据冗余.
Relative Posts:
作者:Fenng 发布在 dbanotes.net.
2010 年 1 月 21 日消息,欧盟已经无条件批准 Oracle 收购 Sun 的计划。接下来,尽管在有的国家或地区还会有所纠葛,但 Oracle 已经扫清了收购 Sun 的主要障碍。一代 IT 巨人 Sun 从此落幕。

(via)
人们谈论起 Sun,总要说起这家伟大公司曾经的辉煌。Solaris、Java、SPARC、NFS......
很多人知道 Sun 是 Stanford University Network 的缩写,不过 Sun 的创始人并不全来自斯坦福大学,虽说 Vinod Khosla 、Andy Bechtolsheim 与 Scott McNealy 三个斯坦福的毕业生是 Sun 的发起人,稍后加入的 Bill Joy 大神则来自伯克利,他尽管不是发起人,但也是公司创始人。对于创始人中的 Andy Bechtolsheim ,必须要多说一嘴,多年之后,是他给了 Google 两位年轻的创始人第一笔 10 万美元的天使投资。
二月创建的公司,当年七月份就已经盈利,这是因为 Andy Bechtolsheim 在成立公司之前就已经设计处了 Sun 的第一代工作站。Sun 工作站在当时可以说无敌于业界,十余年间就卖掉了 1 百万套。而到了 1995 年 Java 推出的时候,简直让业界疯狂,我还记得当初的报纸写到"几乎一夜之间互联网动了起来",这是 Sun 对业界最大的贡献。尽管 Sun 的品牌在将来或许消失,但是 Java 仍将继续改变这个世界。
公司创建四年之后成功 IPO,股票代码 SUNW ,最早代表 Sun Workstations ,这是 SUN 早期现金牛产品,后来解释为 Sun Worldwide,而到了 2007 年,则更改为 JAVA。这个更迭多少意味着 Sun 的无奈。Solaris 工作站已是明日黄花。在第一波互联网泡沫破灭前,Sun 市值一度超过 2000 亿美金,这是个惊人的数字。互联网上运行的服务器有 35% 跑在 Sun 的服务器上。彼时,Sun 自诩 "We are the dot in the .com",可惜 Sun 后来的志向 "We're the Dot in Web 2.0" 未能实现,壮志未酬。
除却 Java 之外,Sun 在其它方面的产品创新几乎都有 Bill Joy 的功劳(其实 Java 项目也有他的推动),这位号称在一个周末重写 BSD 内核的大神,在 Unix 操作系统领域带来惊人的成就,对业界产生无与伦比的影响,甚至他一个周末写就的编辑器 vi 都是很多 Unix 用户离不开的工具。Bill Joy 在 2003 年从 Sun 出走(据说与麦克尼利不和),他的离去给 Sun 蒙上了一层阴影,从此后,Sun 在 Unix 方面鲜有有创新(这几年数来数去也只有 ZFS 算有点影响力了)。Bill Joy 在离开 Sun 之后转投纳米技术、机器人学等领域,在软件技术方面未有大的动作,但说不定这天才什么时候杀个回马枪呢。
Sun 创造了 Java ,却无法从这个金矿上赚钱。以往的分析往往认为 Sun 卖硬件卖得太舒服了,没能够及时转型。这倒的确是很重要的一方面。而另一方面是开源社区(甚至 IBM )都比 Sun 更能赢得用户的心。而 IBM ,更是抛出了 Eclipse(日蚀)项目以及后来联合其它公司成立了 Eclipse 基金,这实际上是用免费策略断了任何公司想在 Java IDE 上盈利的念头(当然主要针对 Sun)。Sun 在硬件服务器领域和 IBM 争夺市场,而 IBM 则在 Java 上断了 Sun 的后路,除此之外,IBM 亦大力扶植 Linux,甚至鼓励用户将大型机迁移到 Linux 环境下,一方面节约遗留系统维护成本,一方面硬件照卖,这是很高明的一招。
反观 Sun ,在 Linux 渐成燎原之势的时候,应对战略相当的失误,与 IBM 拥抱开源截然不同的是,Sun 采取冷眼旁观。等到 Jonathan Schwartz 主政时期,力主推出 OpenSolaris 策略虽说是一步好棋,但是时过境迁,为时晚矣。试想如果在 Linux 崭露头脚的时候,Solaris 就能够开源或者是 Sun 能援助一臂之力,那说不定就是另一番天地了。
Sun 在收购策略上一直是走弥补硬件产品线的策略,大多数收购并不成功,收购 StorageTek 花费的 41亿美元似乎是绝对的赔本买卖。收购 MySQL 虽说被业界看好,甚至 Jonathan Schwartz 称收购 Sun 是"现代软件史上最重要的并购案",可没想到仅仅一年的时间,Sun 自己也被卖掉。到现在,MySQL 仍前途未卜。
说起 Sun ,当然绕不开执掌 Sun 帅印长达 22 年之久的斯科特·麦克尼利(Scott Mcnealy)。Sun 成也麦克尼利,败也麦克尼利,说到底,他毕竟是一个商人,一个刚愎自用的商人,对于 IT 大势的判断仍然比盖茨差几个段位。Sun 的四位创始人当中,他其实是没有任何技术背景的。"网络就是计算机" 据说并不是他提出的想法,而是 Sun 的第五位员工的灵光乍现。麦克尼利给中国用户的更多印象是对微软的抵制和对盖茨的敌意,这一点倒是和拉里埃利森是一路人。一个人成功的时候,大家看到的都是他的光环;一旦失败,大家都会去指责他的缺点。
现在有一个公司颇像辉煌时期的 Sun ,那就是 Google。
"一代人来,一代人走,大地永存,太阳升起,太阳落下,太阳照常升起。"
--EOF--
说起 Bill Joy ,在 2000 年曾经发表过 2 篇影响深远的文章:
- Why the future doesn't need us
- Design For The Digital Revolution As computers change the world, we need to make sure the new world works for humans.
第一篇广为流传,而第二篇似乎少为人知。这两篇文章现在看来,仍然像一位先知对未来作出的预言。这一年,Bill Joy 46 岁。
最近文章|Recent Articles
本站赞助商:豆瓣网
评论数(0)|添加评论 | 最近作者还说了什么? Follow Fenng@Twitter
本文网址:http://www.dbanotes.net/review/oracle_sun.html
DBA Notes 理念: 用简约的技术取得最大的收益...
Sat Jan 23 02:01:00 2010
Errors in file /CMP/saptrace/background/cmp_m000_26819.trc:
ORA-00081: address range [0x600000000009C450, 0x600000000009C454) is not readable
ORA-07445: exception encountered: core dump [$cold_qerfxArrayMaxSize()+7456] [SIGBUS] [Invalid address alignment] [0x00000002C] [] []
经过Metalink文档:386727.1 确认,这是一个Bug,仅见于HP-UX Itanium环境,在10.2.0.3中修正,一般不会带来严重影响。
在跟踪文件中记录了更为详尽的信息:
ksedmp: internal or fatal error
ORA-07445: exception encountered: core dump [$cold_qerfxArrayMaxSize()+7456] [SIGBUS] [Invalid address alignment] [0x00000002C] [] []
Current SQL statement for this session:
INSERT INTO wrh$_bg_event_summary
(snap_id, dbid, instance_number, event_id, total_waits,
total_timeouts, time_waited_micro)
SELECT /*+ ORDERED USE_NL(E) */
:snap_id, :dbid, :instance_number, e.event_id,
SUM (e.total_waits), SUM (e.total_timeouts),
SUM (e.time_waited_micro)
FROM v$session bgsids, v$session_event e
WHERE bgsids.TYPE = 'BACKGROUND' AND bgsids.SID = e.SID
GROUP BY e.event_id
不同的环境触发的SQL可能不同,但是通常ORA-07445和ORA-00081同时出现。
这是由于C编译器的问题导致的:
The problem is reported in <<bug:5382798>> and found to be an issue with the C compiler used on HP Itanium to compile the Oracle 10.2 code.
相应的Patch是: Patch:5442780
-The End-
相关文章|Related Articles
- 遭遇 ORA-7445 kkofkrproratestat 错误
- Oracle 10.2.0.3的Ora-1461 / Smg-3500错误
- ORA-07445 kprball()+483错误之原因分析
- BUG带来的BUG-kjdrpkey2hv: called with pkey
- SAP系统中的Bug 5376783 dbms_space高物理读
评论数量(0)|Add Comments
本文网址:http://www.eygle.com/archives/2010/01/ora-07445_cold_qerfxarraymaxsize.html



