版本:11.2
oracle数据库启动的时候,会先在内存中创建bootstrap$表:
create table bootstrap$ ( line# number not null,
obj# number not null,
sql_text varchar2(4000) not null)
storage (initial 50K objno 59 extents (file 1 block 520))
从创建语句可以看出,该表从一号文件的520号block开始储存,然后oracle从这个表开始,一步一步在内存中创建出数据库正常运行所需要的这些结构,类似的,他们在数据文件中的存储位置也是固定的。
select line#, sql_text from bootstrap$ where obj# != :1
CREATE ROLLBACK SEGMENT SYSTEM STORAGE ( INITIAL 112K NEXT 56K MINEXTENTS 1 MAXEXTENTS 32765 OBJNO 0 EXTENTS (FILE 1 BLOCK 128))
CREATE CLUSTER C_OBJ#(“OBJ#” NUMBER) PCTFREE 5 PCTUSED 40 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 136K NEXT 200K MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 OBJNO 2 EXTENTS (FILE 1 BLOCK 144)) SIZE 800
CREATE INDEX I_OBJ# ON CLUSTER C_OBJ# PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1024K MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 OBJNO 3 EXTENTS (FILE 1 BLOCK 168))
。。。。。。
那么这个bootstrap$表就显得至关重要,他里边都有哪些内容呢?他又是怎么在数据库中存储的呢?他可不可以修改,对他的修改又有哪些不可预知的后果呢?下面就跟我来开始一段探秘旅程吧。(注:千万千万不要在生产库中进行这个测试,本测试仅仅是想加深理解bootstrap$表,测试前请先做好备份,因为数据库有可能起不来)
=========insert,update,delete测试==========================
SQL> select count(*) from bootstrap$;
COUNT(*)
———-
60
SQL> insert into bootstrap$ values(1000,12345678,’just a test’);
1 row created.
SQL> commit;
Commit complete.
SQL> select * from bootstrap$ where line#=1000;
LINE# OBJ#
———- ———-
SQL_TEXT
——————————————————————————–
1000 12345678
just a test
SQL> select * from bootstrap$ where line#=2;
LINE# OBJ#
———- ———-
SQL_TEXT
——————————————————————————–
2 2
CREATE CLUSTER C_OBJ#(“OBJ#” NUMBER) PCTFREE 5 PCTUSED 40 INITRANS 2 MAXTRANS 25
5 STORAGE ( INITIAL 136K NEXT 200K MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREA
SE 0 OBJNO 2 EXTENTS (FILE 1 BLOCK 144)) SIZE 800
SQL> update bootstrap$ set sql_text=’create table test(id number)’ where line#=1000;
1 row updated.
SQL> commit;
Commit complete.
SQL> delete bootstrap$ where line#=1000;
1 row deleted.
SQL> commit;
Commit complete.
==========================================================
看来基本的insert,update,delete 都是没有问题的,那么我们接下来来验证一下如果插入一条数据,然后关闭数据库,再打开的情景,各位看官,这里比较刺激,高血压的,心脏病的请回避,做之前还是强烈建议你做好备份。
=======================insert之后重启=========================
SQL> insert into bootstrap$ values(1000,123456,’create table test(id number)’);
1 row created.
SQL> commit;
Commit complete.
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup nomount;
ORACLE instance started.
Total System Global Area 847630336 bytes
Fixed Size 2211504 bytes
Variable Size 520094032 bytes
Database Buffers 318767104 bytes
Redo Buffers 6557696 bytes
SQL> alter system set sql_trace=true;
System altered.
SQL> alter database mount;
Database altered.
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-00704: bootstrap process failure
ORA-00600: internal error code, arguments: [16704], [1001], [], [], [], [], [],
[], [], [], [], []
Process ID: 933994
Session ID: 191 Serial number: 1
==============================
果然有一个很直观的错误提示:bootstrap process failure
alert的信息:
=================================
Wed Mar 09 22:33:02 2011
alter database open
Wed Mar 09 22:33:03 2011
Thread 1 opened at log sequence 9
Current log# 3 seq# 9 mem# 0: /oradata11/testdb/redo03.log
Successful open of redo thread 1
MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set
Wed Mar 09 22:33:03 2011
SMON: enabling cache recovery
Errors in file /oracle/diag/rdbms/testdb/testdb/trace/testdb_ora_933994.trc (incident=9753):
ORA-00600: internal error code, arguments: [16704], [1001], [], [], [], [], [], [], [], [], [], []
Incident details in: /oracle/diag/rdbms/testdb/testdb/incident/incdir_9753/testdb_ora_933994_i9753.trc
Errors in file /oracle/diag/rdbms/testdb/testdb/trace/testdb_ora_933994.trc:
ORA-00704: bootstrap process failure
ORA-00600: internal error code, arguments: [16704], [1001], [], [], [], [], [], [], [], [], [], []
Errors in file /oracle/diag/rdbms/testdb/testdb/trace/testdb_ora_933994.trc:
ORA-00704: bootstrap process failure
ORA-00600: internal error code, arguments: [16704], [1001], [], [], [], [], [], [], [], [], [], []
Error 704 happened during db open, shutting down database
USER (ospid: 933994): terminating the instance due to error 704
Instance terminated by USER, pid = 933994
ORA-1092 signalled during: alter database open…
opiodr aborting process unknown ospid (933994) as a result of ORA-1092
Wed Mar 09 22:33:07 2011
ORA-1092 : opitsk aborting process
============================
从这里可以很明显看书是由于704错误,oracle强行关闭了实例。那么我们来看看跟踪到的trace文件。
=========================testdb_ora_933994.trc======
alter database open
END OF STMT
PARSE #3:c=0,e=654,p=0,cr=0,cu=0,mis=1,r=0,dep=0,og=1,plh=0,tim=3551514163465
=====================
PARSING IN CURSOR #1 len=188 dep=1 uid=0 oct=1 lid=0 tim=3551514348882 hv=4006182593 ad=’70000003258a780′ sqlid=’32r4f1brckzq1′
create table bootstrap$ ( line# number not null, obj# number not null, sql_text varchar2(4000) not null) storage (initial 50K objno 59 extents (file 1 block 520))
END OF STMT
PARSE #1:c=0,e=682,p=0,cr=0,cu=0,mis=1,r=0,dep=1,og=4,plh=0,tim=3551514348880
EXEC #1:c=0,e=133,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=4,plh=0,tim=3551514349102
CLOSE #1:c=0,e=11,dep=1,type=0,tim=3551514349181
=====================
PARSING IN CURSOR #1 len=55 dep=1 uid=0 oct=3 lid=0 tim=3551514349711 hv=2111436465 ad=’700000032589c10′ sqlid=’6apq2rjyxmxpj’
select line#, sql_text from bootstrap$ where obj# != :1
END OF STMT
PARSE #1:c=0,e=514,p=0,cr=0,cu=0,mis=1,r=0,dep=1,og=4,plh=0,tim=3551514349710
EXEC #1:c=0,e=739,p=0,cr=0,cu=0,mis=1,r=0,dep=1,og=4,plh=3957410211,tim=3551514350561
FETCH #1:c=0,e=262,p=4,cr=3,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514350873
FETCH #1:c=0,e=13,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514350922
FETCH #1:c=0,e=8,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514350956
FETCH #1:c=0,e=9,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514350991
FETCH #1:c=0,e=8,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514351025
FETCH #1:c=0,e=9,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514351060
FETCH #1:c=0,e=9,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514351094
FETCH #1:c=0,e=9,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514351128
FETCH #1:c=0,e=8,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514351162
FETCH #1:c=0,e=9,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514351197
FETCH #1:c=0,e=9,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514351231
FETCH #1:c=0,e=9,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514351265
FETCH #1:c=0,e=8,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514351299
FETCH #1:c=0,e=8,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514351333
FETCH #1:c=0,e=9,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514351368
FETCH #1:c=0,e=8,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514351402
FETCH #1:c=0,e=8,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514351436
FETCH #1:c=0,e=8,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514351471
FETCH #1:c=0,e=9,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514351519
FETCH #1:c=0,e=10,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514351580
FETCH #1:c=0,e=8,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514351615
FETCH #1:c=0,e=8,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514351649
FETCH #1:c=0,e=8,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514351683
FETCH #1:c=0,e=8,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514351717
FETCH #1:c=0,e=8,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514351751
FETCH #1:c=0,e=9,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514351786
FETCH #1:c=0,e=8,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514351820
FETCH #1:c=0,e=8,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514351854
FETCH #1:c=0,e=8,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514351888
FETCH #1:c=0,e=9,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514351923
FETCH #1:c=0,e=9,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514351957
FETCH #1:c=0,e=9,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514351991
FETCH #1:c=0,e=8,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514352025
FETCH #1:c=0,e=8,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514352059
FETCH #1:c=0,e=9,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514352094
FETCH #1:c=0,e=9,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514352128
FETCH #1:c=0,e=8,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514352162
FETCH #1:c=0,e=8,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514352196
FETCH #1:c=0,e=8,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514352230
FETCH #1:c=0,e=8,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514352264
FETCH #1:c=0,e=8,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514352298
FETCH #1:c=0,e=8,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514352332
FETCH #1:c=0,e=8,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514352366
FETCH #1:c=0,e=8,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514352400
FETCH #1:c=0,e=8,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514352434
FETCH #1:c=0,e=8,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514352468
FETCH #1:c=0,e=8,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514352504
FETCH #1:c=0,e=9,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514352539
FETCH #1:c=0,e=8,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514352573
FETCH #1:c=0,e=17,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514352616
FETCH #1:c=0,e=9,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514352652
FETCH #1:c=0,e=8,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514352687
FETCH #1:c=0,e=8,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514352721
FETCH #1:c=0,e=8,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514352755
FETCH #1:c=0,e=9,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514352790
FETCH #1:c=0,e=12,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514352827
FETCH #1:c=0,e=9,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514352863
FETCH #1:c=0,e=8,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514352897
FETCH #1:c=0,e=9,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514352932
FETCH #1:c=0,e=9,p=0,cr=1,cu=0,mis=0,r=1,dep=1,og=4,plh=3957410211,tim=3551514352966
Incident 9753 created, dump file: /oracle/diag/rdbms/testdb/testdb/incident/incdir_9753/testdb_ora_933994_i9753.trc
ORA-00600: internal error code, arguments: [16704], [1001], [], [], [], [], [], [], [], [], [], []
ORA-00704: bootstrap process failure
ORA-00600: internal error code, arguments: [16704], [1001], [], [], [], [], [], [], [], [], [], []
ORA-00704: bootstrap process failure
ORA-00600: internal error code, arguments: [16704], [1001], [], [], [], [], [], [], [], [], [], []
*** 2011-03-09 22:33:06.843
USER (ospid: 933994): terminating the instance due to error 704
==================
bootstrap$中多了一条我们增加的记录,oracle在select了所有记录之后出错了。并且还dump出了当时的内存信息,查看 /oracle/diag/rdbms/testdb/testdb/incident/incdir_9753/testdb_ora_933994_i9753.trc,这里边的信息很全,得好好研究研究了。另外需要去meatalink查阅一些704,600【16704】相关的信息,有兴趣的同学可以自己查阅。
相伴随的600【16704】错误,我在metalink上查不到任何文章,参考之前的文章,metalink ID:175982.1。
| 16701 | dict/libcache |
this layer provides library Cache support to support database creation and forms part of the bootstrap process; |
提示的还是bootstrap相关的结构损坏。
至于不能启动的原因,我估计是多加了一条记录,多占用了存储空间,破坏了块结构,为什么这么说呢?因为你也看到了oracle创建bootstrap$表和后来一些表的时候都是指定block块的,这说明这些数据结构的位置是固定的。如果第一个结构多占了位置,那么就会跟后来的结构发生冲突,导致数据结构损坏,当然这只是猜测,有待验证。
1.甲去买烟,烟29元,但他没火柴,跟店员说:“顺便送一盒火柴吧。”店员没给。
乙去买烟,烟29元,他也没火柴,跟店员说:“便宜一毛吧。”最后,他用这一毛买一盒火柴。
这 是最简单的心理边际效应。第一种:店主认为自己在一个商品上赚钱了,另外一个没赚钱。赚钱感觉指数为1。第二种:店主认为两个商品都赚钱了,赚钱指数为 2。当然心理倾向第二种了。同样,这种心理还表现在买一送一的花招上,顾客认为有一样东西不用付钱,就赚了,其实都是心理边际效应在作怪。
启示:变换一种方式往往能起到意想不到的效果! 通常很多事情换一种做法结果就不同了。人生道路上,改善心智模式和思维方式是很重要的。
2. 有个小男孩,有一天妈妈带着他到杂货店去买东西,老板看到这个可爱的小孩,就打开一罐糖果,要小男孩自己拿一把糖果。但是这个男孩却没有任何动作。几次的 邀请之后,老板亲自抓了一大把糖果放进他的口袋中。回到家中,母亲好奇地问小男孩,为什么没有自己去抓糖果而要老板抓呢?小男孩回答很妙:“因为我的手比 较小呀!而老板的手比较大,所以他拿的一定比我拿的多很多!”
启示:这是一个聪明的孩子,他知道自己的有限,而更重要的,他也知道别人比自己强。凡事不只靠自己的力量,学会适时地依靠他人,是一种谦卑,更是一种聪明。
3. 美国知名主持人林克莱特有一天访问一名小朋友,问他说:“你长大后想要当做什么呀?”小朋友天真地回答:“嗯……我要当飞机的驾驶员!”林克莱特接着问: “如果有一天,你的飞机飞到太平洋上空所有引擎都熄火了,你会怎么办?”小朋友想了想:“我会先告诉坐在飞机上的人绑好安全带,然后我挂上我的降落伞跳出 去。”当在场的观众笑得东倒西歪时,林克莱特继续注视着这孩子,想看他是不是自作聪明的家伙。没想到,接着孩子的两行热泪夺眶而出,这才使得林克莱特发觉 这孩子的悲悯之心远非笔墨所能形容。于是林克莱特问他说:为什么你要这么做?”小孩的答案透露了这个孩子真挚的想法:“我要去拿燃料,我还要回 来!!!”
启示:这就是“听的艺术”。一是听话不要听一半。二是不要把自己的意思,投射到别人所说的话上头。要学会聆听,用心听,虚心听。
4. 有两个和尚他们分别住在相邻的两座山上的庙里。这两座山之间有一条溪,于是这两个和尚每天都会在同一时间下山去溪边挑水,久而久之他么变成为了好朋友。就 这样时间在每天挑水中不知不觉已经过了五年。突然有一天左边这座山的和尚没有下山挑水,右边那座山的和尚心想:”他大概睡过头了。”便不以为意。哪知道第 二天左边这座山的和尚还是没有下山挑水,第三天也一样。过了一个星期还是一样,直到过了一个月右边那座山的和尚终于受不了,他心想:”我的朋友可能生病 了,我要过去拜访他,看看能帮上什么忙。”于是他便爬上了左边这座山,去探望他的老朋友。等他到了左边这座山的庙,看到他的老友之后大吃一惊,因为他的老 友正在庙前打太极拳,一点也不像一个月没喝水的人。他很好奇地问:”你已经一个月没有下山挑水了,难道你可以不用喝水吗?”左边这座山的和尚说:”来来 来,我带你去看。”于是他带着右边那座山的和尚走到庙的后院,指着一口井说:”这五年来,我每天做完功课后都会抽空挖这口井,即使有时很忙,能挖多少就算 多少。如今终于让我挖出井水,我就不用再下山挑水,我可以有更多时间练我喜欢的太极拳。”
启示:我们在公司领的薪水再多,那都是挑水。而把握下班后的时间挖一口属于自己的井,培养自己另一方面的实力,未来当我们年纪大了,体力拼不过年轻人了,依然还是有水喝,而且还能喝得很悠闲。
5. 有两个人相约到山上去寻找精美的石头,甲背了满满的一筐,乙的筐里只有一个他认为是最精美的石头。甲就笑乙:“你为什么只挑一个啊?”乙说:“漂亮的石头 虽然多,但我只选一个最精美的就够了。”甲笑而不语,下山的路上,甲感到负担越来越重,最后不得已不断地从一筐的石头中挑一个最差的扔下,到下山的时候他 的筐里结果只剩下一个石头!
启示:人生中会有许多的东西,值得留恋,有的时候你应该学会去放弃。
6.有一家牙膏 厂,产品优良,包装精美,受到顾客的喜爱,营业额连续10年递增,每年的增长率在10%~20%。可到了第11年,业绩停滞下来,以后两年也如此。公司经 理召开高级会议,商讨对策。会议中,公司总裁许诺说:谁能想出解决问题的办法,让公司的业绩增长,重奖10万元。有位年轻经理站起来,递给总裁一张纸条, 总裁看完后,马上签了一张10万元的支票给了这位经理。那张纸条上写着:将现在牙膏开口扩大1毫米。消费者每天早晨挤出同样长度的牙膏,开口扩大了l毫 米,每个消费者就多用1毫米宽的牙膏,每天的消费量将多出多少呢!公司立即更改包装。第14年,公司的营业额增加了32%。
启示:面对生活中的变化,我们常常习惯过去的思维方法。其实只要你把心径扩大1毫米,你就会看到生活中的变化都有它积极的一面,充满了机遇和挑战
7. 一只火鸡和一头牛闲聊,火鸡说:我希望能飞到树顶,可我没有勇气。牛说:为什么不吃一点我的牛粪呢,他们很有营养。火鸡吃了一点牛粪,发现它确实给了它足 够的力量飞到第一根树枝,第二天,火鸡又吃了更多的牛粪,飞到第二根树枝,两个星期后,火鸡骄傲的飞到了树顶,但不久,一个农夫看到了它,迅速的把它从树 上射了下来。
启示:牛屎运让你达到顶峰,但不能让你留在那里。
8.乌鸦站在树上,整天无所事事,兔子看见乌鸦,就问:我能像你一样,整天什么事都不用干吗?乌鸦说:当然,有什么不可以呢?于是,兔子在树下的空地上开始休息,忽然,一只狐狸出现了,它跳起来抓住兔子,把它吞了下去。
启示:如果你想站着什么事都不做,那你必须站的很高,非常高。
9. 一只小鸟飞到南方去过冬。天很冷,小鸟几乎冻僵了。于是,飞到一大块空地上,一头牛经过那儿,拉了一堆牛粪在小鸟的身上,冻僵的小鸟躺在粪堆里,觉得很温 暖,渐渐苏醒过来,它温暖而舒服的躺着,不久唱起歌来,一只路过的野猫听到声音,走过去看个究竟,循着声音,野猫很快发现了躺在粪堆里的小鸟,把它拽出来 吃掉了。
启示:不是每个往你身上拉大粪的人都是你的敌人。也不是每个把你从粪堆里拉出来的人都是你的朋友,还有,当你躺在粪堆里时,最好把你的嘴闭上。
10. 从前,有两个饥饿的人得到了一位长者的恩赐:一根鱼竿和一篓鲜活硕大的鱼。其中,一个人要了一篓鱼,另一个人要了一根鱼竿,于是他们分道扬镳了。得到鱼的 人原地就用干柴搭起篝火煮起了鱼,他狼吞虎咽,还没有品出鲜鱼的肉香,转瞬间,连鱼带汤就被他吃了个精光,不久,他便饿死在空空的鱼篓旁。另一个人则提着 鱼竿继续忍饥挨饿,一步步艰难地向海边走去,可当他已经看到不远处那片蔚蓝色的海洋时,他浑身的最后一点力气也使完了,他也只能眼巴巴地带着无尽的遗憾撒 手人间。又有两个饥饿的人,他们同样得到了长者恩赐的一根鱼竿和一篓鱼。只是他们并没有各奔东西,而是商定共同去找寻大海,他俩每次只煮一条鱼,他们经过 遥远的跋涉,来到了海边,从此,两人开始了捕鱼为生的日子,几年后,他们盖起了房子,有了各自的家庭、子女,有了自己建造的渔船,过上了幸福安康的生活。
启示:一个人只顾眼前的利益,得到的终将是短暂的欢愉;一个人目标高远,但也要面对现实的生活。只有把理想和现实有机结合起来,才有可能成为一个成功之人。有时候,一个简单的道理,却足以给人意味深长的生命启示。
11. 孔子的一位学生在煮粥时,发现有肮脏的东西掉进锅里去了。他连忙用汤匙把它捞起来,正想把它倒掉时,忽然想到,一粥一饭都来之不易啊。于是便把它吃了。刚 巧孔子走进厨房,以为他在偷食,便教训了那位负责煮食的同学。经过解释,大家才恍然大悟。孔子很感慨的说:“我亲眼看见的事情也不确实,何况是道听途听 呢?”
启示:推销生意是一种组织性质的生意,因为人多,人事问题也多。我们不时听到是非难辨的话,如某公司攻击另一间公司,如是者往往令人混淆是非,影响信心。因此找出事情的真相,不是轻易相信谣言,辛辛苦苦建立的事业才不会毁于一旦。
12. 有位秀才第三次进京赶考,住在一个经常住的店里。考试前两天他做了三个梦,第一个梦是梦到自己在墙上种白菜,第二个梦是下雨天,他戴了斗笠还打伞,第三个 梦是梦到跟心爱的表妹躺在一起,但是背靠着背。这三个梦似乎有些深意,秀才第二天就赶紧去找算命的解梦。算命的一听,连拍大腿说:”你还是回家吧。你想 想,高墙上种菜不是白费劲吗?戴斗笠打雨伞不是多此一举吗?跟表妹躺在一张床上了,却背靠背,不是没戏吗?” 秀才一听,心灰意冷,回店收拾包袱准备回家。店老板非常奇怪,问:”不是明天才考试吗,今天你怎么就回乡了?”秀才如此这般说了一番,店老板乐了:”哟, 我也会解梦的。我倒觉得,你这次一定要留下来。你想想,墙上种菜不是高种吗?戴斗笠打伞不是说明你这次有备无患吗?跟你表妹背靠背躺在床上,不是说明你翻 身的时候就要到了吗?”秀才一听,更有道理,于是精神振奋地参加考试,居然中了个探花。
启示:积极的人,象太阳,照到哪里哪里亮,消极的人,象月亮,初一十五不一样。想法决定我们的生活,有什么样的想法,就有什么样的未来。
13. 有一天动物园管理员们发现袋鼠从笼子里跑出来了,于是开会讨论,一致认为是笼子的高度过低。所以它们决定将笼子的高度由原来的十公尺加高到二十公尺。结果 第二天他们发现袋鼠还是跑到外面来,所以他们又决定再将高度加高到三十公尺没想到隔天居然又看到袋鼠全跑到外面,于是管理员们大为紧张,决定一不做二不 休,将笼子的高度加高到一百公尺。一天长颈鹿和几只袋鼠们在闲聊,”你们看,这些人会不会再继续加高你们的笼子?”长颈鹿问。”很难说。”袋鼠说∶”如果 他们再继续忘记关门的话!”
启示:其实很多人都是这样,只知道有问题,却不能抓住问题的核心和根基。
14. 一天夜里,已经很晚了,一对年老的夫妻走进一家旅馆,他们想要一个房间。前台侍者回答说:”对不起,我们旅馆已经客满了,一间空房也没有剩下。”看着这对 老人疲惫的神情,侍者不忍心深夜让这对老人出门另找住宿。而且在这样一个小城,恐怕其他的旅店也早已客满打烊了,这对疲惫不堪的老人岂不会在深夜流落街 头?于是好心的侍者将这对老人引领到一个房间,说:”也许它不是最好的,但现在我只能做到这样了。”老人见眼前其实是一间整洁又干净的屋子,就愉快地住了 下来。第二天,当他们来到前台结账时,侍者却对他们说:”不用了,因为我只不过是把自己的屋子借给你们住了一晚–祝你们旅途愉快!”原来如此。侍者自己 一晚没睡,他就在前台值了一个通宵的夜班。两位老人十分感动。老头儿说:”孩子,你是我见到过的最好的旅店经营人。你会得到报答的。”侍者笑了笑,说这算 不了什么。他送老人出了门,转身接着忙自己的事,把这件事情忘了个一干二净。没想到有一天,侍者接到了一封信函,打开看,里面有一张去纽约的单程机票并有 简短附言,聘请他去做另一份工作。他乘飞机来到纽约,按信中所标明的路线来到一个地方,抬眼一看,一座金碧辉煌的大酒店耸立在他的眼前。原来,几个月前的 那个深夜,他接待的是一个有着亿万资产的富翁和他的妻子。富翁为这个侍者买下了一座大酒店,深信他会经营管理好这个大酒店。这就是全球赫赫有名的希尔顿饭 店首任经理的传奇故事。
15.有一位表演大师上场前,他的弟子告诉他鞋带松了。大师点头致谢,蹲下来仔细系好。等到弟子转身后, 又蹲下来将鞋带解松。有个旁观者看到了这一切,不解地问:”大师,您为什么又要将鞋带解松呢?”大师回答道:”因为我饰演的是一位劳累的旅者,长途跋涉让 他的鞋带松开,可以通过这个细节表现他的劳累憔悴.” “那你为什么不直接告诉你的弟子呢?”"他能细心地发现我的鞋带松了,并且热心地告诉我,我一定要保护他这种热情的积极性,及时地给他鼓励,至于为什么要 将鞋带解开,将来会有更多的机会教他表演,可以下一次再说啊。”
启示:人一个时间只能做一件事,懂抓重点,才是真正的人才。
16. 一个人在高山之巅的鹰巢里,抓到了一只幼鹰,他把幼鹰带回家,养在鸡笼里。这只幼鹰和鸡一起啄食、嬉闹和休息。它以为自己是一只鸡。这只鹰渐渐长大,羽翼 丰满了,主人想把它训练成猎鹰,可是由于终日和鸡混在一起,它已经变得和鸡完全一样,根本没有飞的愿望了。主人试了各种办法,都毫无效果,最后把它带到山 顶上,一把将它扔了出去。这只鹰像块石头似的,直掉下去,慌乱之中它拼命地扑打翅膀,就这样,它终于飞了起来!
启示:磨练召唤成功的力量。
17. 雨后,一只蜘蛛艰难地向墙上已经支离破碎的网爬去,由于墙壁潮湿,它爬到一定的高度,就会掉下来,它一次次地向上爬,一次次地又掉下来……第一个人看到 了,他叹了一口气,自言自语:”我的一生不正如这只蜘蛛吗?忙忙碌碌而无所得。”于是,他日渐消沉。第二个人看到了,他说:这只蜘蛛真愚蠢,为什么不从旁 边干燥的地方绕一下爬上去?我以后可不能像它那样愚蠢。于是,他变得聪明起来。第三个人看到了,他立刻被蜘蛛屡败屡战的精神感动了。于是,他变得坚强起 来。
启示:有成功心态者处处都能发觉成功的力量。
18.一个老人在高速行驶的火车上,不小心把刚买的新鞋从窗口掉了一只,周围的人倍感惋惜,不料老人立即把第二只鞋也从窗口扔了下去。这举动更让人大吃一惊。老人解释说:”这一只鞋无论多么昂贵,对我而言已经没有用了,如果有谁能捡到一双鞋子,说不定他还能穿呢!”
启示:成功者善于放弃。
19. 某大公司准备以高薪雇用一名小车司机,经过层层筛选和考试之后,只剩下三名技术最优良的竞争者。主考者问他们:”悬崖边有块金子,你们开着车去拿,觉得能 距离悬崖多近而又不至于掉落呢?”"二公尺。”第一位说。”半公尺。”第二位很有把握地说。”我会尽量远离悬崖,愈远愈好。”第三位说。结果这家公司录取 了第三位。
启示:不要和诱惑较劲,而应离得越远越好。
20.老和尚携小和尚游方,途遇一条河;见一女子正想过河,却又不 敢过。老和尚便主动背该女子趟过了河,然后放下女子,与小和尚继续赶路。小和尚不禁一路嘀咕:师父怎么了?竟敢背一女子过河?一路走,一路想,最后终于忍 不住了,说:师父,你犯戒了?怎么背了女人?老和尚叹道:我早已放下,你却还放不下!
启示:君子坦荡荡,小人常戚戚;心胸宽广,思想开朗,遇事拿得起、放得下,才能永远保持一种健康的心态。
21. 一个心理学教授到疯人院参观,了解疯子的生活状态。一天下来,觉得这些人疯疯癫癫,行事出人意料,可算大开眼界。想不到准备返回时,发现自己的车胎被人下 掉了。”一定是哪个疯子干的!”教授这样愤愤地想道,动手拿备胎准备装上。事情严重了。下车胎的人居然将螺丝也都下掉。没有螺丝有备胎也上不去啊!教授一 筹莫展。在他着急万分的时候,一个疯子蹦蹦跳跳地过来了,嘴里唱着不知名的欢乐歌曲。他发现了困境中的教授,停下来问发生了什么事。教授懒得理他,但出于 礼貌还是告诉了他。疯子哈哈大笑说:”我有办法!”他从每个轮胎上面下了一个螺丝,这样就拿到三个螺丝将备胎装了上去。教授惊奇感激之余,大为好奇:”请 问你是怎么想到这个办法的?” 疯子嘻嘻哈哈地笑道:”我是疯子,可我不是呆子啊!”
启示:其实,世上有许多的人,由于他们发现了工作中的乐趣,总会表现出与常人不一样的狂热,让人难以理解。许多人在笑话他们是疯子的时候,别人说不定还在笑他呆子呢。做人呆呆,处事聪明,在中国尤其不失为一种上佳做人姿态。
来自metalink,可以在发生600错误时先根据错误号大概判断出错误的范围。
| ORA-600 Lookup Error Categories [ID 175982.1] | |||||
|
|
|||||
| Modified 04-JUN-2009 Type BULLETIN Status PUBLISHED | |||||
In this Document
Purpose
Scope and Application
ORA-600 Lookup Error Categories
Internal Errors Categorised by number range
Internal Errors Categorised by mnemonic
Applies to:
Oracle Server – Enterprise Edition – Version:
Oracle Server – Personal Edition – Version:
Oracle Server – Standard Edition – Version:
Information in this document applies to any platform.
Checked for relevance 04-Jun-2009
Purpose
This note aims to provide a high level overview of the internal errors which may be encountered on the Oracle Server (sometimes referred to as the Oracle kernel). It is written to provide a guide to where a particular error may live and give some indication as to what the impact of the problem may be. Where a problem is reproducible and connected with a specific feature, you might obviously try not using the feature. If there is a consistent nature to the problem, it is good practice to ensure that the latest patchsets are in place and that you have taken reasonable measures to avoid known issues.
For repeatable issues which the ora-600 tool has not listed a likely cause , it is worth constructing a test case. Where this is possible, it greatly assists in the resolution time of any issue. It is important to remember that, in a many instances , the Server is very flexible and a workaround can very often be achieved.
Scope and Application
This bulletin provides Oracle DBAs with an overview of internal database errors.
ORA-600 Lookup Error Categories
In the Oracle Server source, there are two types of ora-600 error :
- the first parameter is a number which reflects the source component or layer the error is connected with; or
- the first parameter is a mnemonic which indicates the source module where the error originated. This type of internal error is now used in preference to an internal error number.
Both types of error may be possible in the Oracle server.
Internal Errors Categorised by number range
The following table provides an indication of internal error codes used in the Oracle server. Thus, if ora-600[X] is encountered, it is possible to glean some high level background information : the error in generated in the Y layer which indicates that there may be a problem with Z.
| Ora-600 Base | Functionality | Description | ||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Service Layer | The service layer has within it a variety of service related components which are associated with in memory related activities in the SGA such as, for example : the management of Enqueues, System Parameters, System state objects (these objects track the use of structures in the SGA by Oracle server processes), etc.. In the main, this layer provides support to allow process communication and provides support for locking and the management of structures to support multiple user processes connecting and interacting within the SGA. Note : vos – Virtual Operating System provides features to support the functionality above. As the name suggests it provides base functionality in much the same way as is provided by an Operating System.
|
||||||||||||||||||||||||||||||||||||||||||||||||
| 2000 | Cache Layer | Where errors are generated in this area, it is advisable to check whether the error is repeatable and whether the error is perhaps associated with recovery or undo type operations; where this is the case and the error is repeatable, this may suggest some kind of hardware or physical issue with a data file, control file or log file. The Cache layer is responsible for making the changes to the underlying files and well as managing the related memory structures in the SGA. Note : rcv indicates recovery. It is important to remember that the Oracle cache layer is effectively going through the same code paths as used by the recovery mechanism.
It is important to consider when the error occurred and the context in which the error was generated. If the error does not reproduce, it may be an in memory issue. |
||||||||||||||||||||||||||||||||||||||||||||||||
| 4000 | Transaction Layer | Primarily the transaction layer is involved with maintaining structures associated with the management of transactions. As with the cache layer , problems encountered in this layer may indicate some kind of issue at a physical level. Thus it is important to try and repeat the same steps to see if the problem recurs.
It is important to try and determine what the object involved in any reproducible problem is. Then use the analyze command. For more information, please refer to the analyze command as detailed in the context of Note:28814.1; in addition, it may be worth using the dbverify as discussed in Note:35512.1. |
||||||||||||||||||||||||||||||||||||||||||||||||
| 6000 | Data Layer | The data layer is responsible for maintaining and managing the data in the database tables and indexes. Issues in this area may indicate some kind of physical issue at the object level and therefore, it is important to try and isolate the object and then perform an anlayze on the object to validate its structure.
Again, it is important to try and determine what the object involved in any reproducible problem is. Then use the analyze command. For more information, please refer to the analyze command as detailed in the context of Note:28814.1; in addition, it may be worth using the dbverify as discussed in Note:35512.1. |
||||||||||||||||||||||||||||||||||||||||||||||||
| 12000 | User/Oracle Interface & SQL Layer Components | This layer governs the user interface with the Oracle server. Problems generated by this layer usually indicate : some kind of presentation or format error in the data received by the server, i.e. the client may have sent incomplete information; or there is some kind of issue which indicates that the data is received out of sequence
You should try and repeat the issue and with the use of sql trace , try and isolate where exactly the issue may be occurring within the application. |
||||||||||||||||||||||||||||||||||||||||||||||||
| 14000 | System Dependent Component internal error values | This layer manages interaction with the OS. Effectively it acts as the glue which allows the Oracle server to interact with the OS. The types of operation which this layer manages are indicated as follows.
|
||||||||||||||||||||||||||||||||||||||||||||||||
| 15000 | security/dac, security/logon security/ldap |
local user access validation; challenge / response activity for remote access validation; auditing operation; any activities associated with granting and revoking of privileges; validation of password with external password file | ||||||||||||||||||||||||||||||||||||||||||||||||
| 15100 | dict/sqlddl | this component manages operations associated with creating, compiling (altering), renaming, invalidating, and dropping procedures, functions, and packages. | ||||||||||||||||||||||||||||||||||||||||||||||||
| 15160 | optim/cbo | cost based optimizer layer is used to determine optimal path to the data based on statistical information available on the relevant tables and indexes. | ||||||||||||||||||||||||||||||||||||||||||||||||
| 15190 | optim/cbo | cost based optimizer layer. Used in the generation of a new index to determine how the index should be created. Should it be constructed from the table data or from another index. | ||||||||||||||||||||||||||||||||||||||||||||||||
| 15200 | dict/shrdcurs | used to in creating sharable context area associated with shared cursors | ||||||||||||||||||||||||||||||||||||||||||||||||
| 15230 | dict/sqlddl | manages the compilation of triggers | ||||||||||||||||||||||||||||||||||||||||||||||||
| 15260 | dict/dictlkup dict/libcache |
dictionary lookup and library cache access | ||||||||||||||||||||||||||||||||||||||||||||||||
| 15400 | server/drv | manages alter system and alter session operations | ||||||||||||||||||||||||||||||||||||||||||||||||
| 15410 | progint/if | manages compilation of pl/sql packages and procedures | ||||||||||||||||||||||||||||||||||||||||||||||||
| 15500 | dict/dictlkup | performs dictionary lookup to ensure semantics are correct | ||||||||||||||||||||||||||||||||||||||||||||||||
| 15550 | sqlexec/execsvc sqlexec/rowsrc |
hash join execution management; parallel row source management |
||||||||||||||||||||||||||||||||||||||||||||||||
| 15600 | sqlexec/pq | component provides support for Parallel Query operation | ||||||||||||||||||||||||||||||||||||||||||||||||
| 15620 | repl/snapshots | manages the creation of snapshot or materialized views as well as related snapshot / MV operations | ||||||||||||||||||||||||||||||||||||||||||||||||
| 15640 | repl/defrdrpc | layer containing various functions for examining the deferred transaction queue and retrieving information | ||||||||||||||||||||||||||||||||||||||||||||||||
| 15660 | jobqs/jobq | manages the operation of the Job queue background processes | ||||||||||||||||||||||||||||||||||||||||||||||||
| 15670 | sqlexec/pq | component provides support for Parallel Query operation | ||||||||||||||||||||||||||||||||||||||||||||||||
| 15700 | sqlexec/pq | component provides support for Parallel Query operation; specifically mechanism for starting up and shutting down query slaves | ||||||||||||||||||||||||||||||||||||||||||||||||
| 15800 | sqlexec/pq | component provides support for Parallel Query operation | ||||||||||||||||||||||||||||||||||||||||||||||||
| 15810 | sqlexec/pq | component provides support for Parallel Query operation; specifically functions for creating mechanisms through which Query co-ordinator can communicate with PQ slaves; | ||||||||||||||||||||||||||||||||||||||||||||||||
| 15820 | sqlexec/pq | component provides support for Parallel Query operation | ||||||||||||||||||||||||||||||||||||||||||||||||
| 15850 | sqlexec/execsvc | component provides support for the execution of SQL statements | ||||||||||||||||||||||||||||||||||||||||||||||||
| 15860 | sqlexec/pq | component provides support for Parallel Query operation | ||||||||||||||||||||||||||||||||||||||||||||||||
| 16000 | loader | sql Loader direct load operation; | ||||||||||||||||||||||||||||||||||||||||||||||||
| 16150 | loader | this layer is used for ‘C’ level call outs to direct loader operation; | ||||||||||||||||||||||||||||||||||||||||||||||||
| 16200 | dict/libcache | this is part of library Cache operation. Amongst other things it manages the dependency of SQL objects and tracks who is permitted to access these objects; | ||||||||||||||||||||||||||||||||||||||||||||||||
| 16230 | dict/libcache | this component is responsible for managing access to remote objects as part of library Cache operation; | ||||||||||||||||||||||||||||||||||||||||||||||||
| 16300 | mts/mts | this component relates to MTS (Multi Threaded Server) operation | ||||||||||||||||||||||||||||||||||||||||||||||||
| 16400 | dict/sqlddl | this layer contains functionality which allows tables to be loaded / truncated and their definitions to be modified. This is part of dictionary operation; | ||||||||||||||||||||||||||||||||||||||||||||||||
| 16450 | dict/libcache | this layer layer provides support for multi-instance access to the library cache; this functionality is applicable therefore to OPS environments; | ||||||||||||||||||||||||||||||||||||||||||||||||
| 16500 | dict/rowcache | this layer provides support to load / cache Oracle’s dictionary in memory in the library cache; | ||||||||||||||||||||||||||||||||||||||||||||||||
| 16550 | sqlexec/fixedtab | this component maps data structures maintained in the Oracle code to fixed tables such that they can be queried using the SQL layer; | ||||||||||||||||||||||||||||||||||||||||||||||||
| 16600 | dict/libcache | this layer performs management of data structures within the library cache; | ||||||||||||||||||||||||||||||||||||||||||||||||
| 16651 | dict/libcache | this layer performs management of dictionary related information within library Cache; | ||||||||||||||||||||||||||||||||||||||||||||||||
| 16701 | dict/libcache | this layer provides library Cache support to support database creation and forms part of the bootstrap process; | ||||||||||||||||||||||||||||||||||||||||||||||||
| 17000 | dict/libcache | this is the main library Cache manager. This Layer maintains the in memory representation of cached sql statements together will all the necessary support that this demands; | ||||||||||||||||||||||||||||||||||||||||||||||||
| 17090 | generic/vos | this layer implementations error management operations: signalling errors, catching errors, recovering from errors, setting error frames, etc.; | ||||||||||||||||||||||||||||||||||||||||||||||||
| 17100 | generic/vos | Heap manager. The Heap manager manages the storage of internal data in an orderly and consistent manner. There can be many heaps serving various purposes; and heaps within heaps. Common examples are the SGA heap, UGA heap and the PGA heap. Within a Heap there are consistency markers which aim to ensure that the Heap is always in a consistent state. Heaps are use extensively and are in memory structures – not on disk. | ||||||||||||||||||||||||||||||||||||||||||||||||
| 17200 | dict/libcache | this component deals with loading remote library objects into the local library cache with information from the remote database. | ||||||||||||||||||||||||||||||||||||||||||||||||
| 17250 | dict/libcache | more library cache errors ; functionality for handling pipe operation associated with dbms_pipe | ||||||||||||||||||||||||||||||||||||||||||||||||
| 17270 | dict/instmgmt | this component manages instantiations of procedures, functions, packages, and cursors in a session. This provides a means to keep track of what has been loaded in the event of process death; | ||||||||||||||||||||||||||||||||||||||||||||||||
| 17300 | generic/vos | manages certain types of memory allocation structure. This functionality is an extension of the Heap manager. | ||||||||||||||||||||||||||||||||||||||||||||||||
| 17500 | generic/vos | relates to various I/O operations. These relate to async i/o operation, direct i/o operation and the management of writing buffers from the buffer cache by potentially a number of database writer processes; | ||||||||||||||||||||||||||||||||||||||||||||||||
| 17625 | dict/libcache | additional library Cache supporting functions | ||||||||||||||||||||||||||||||||||||||||||||||||
| 17990 | plsql | plsql ‘standard’ package related issues | ||||||||||||||||||||||||||||||||||||||||||||||||
| 18000 | txn/lcltx | transaction and savepoint management operations | ||||||||||||||||||||||||||||||||||||||||||||||||
| 19000 | optim/cbo | cost based optimizer related operations | ||||||||||||||||||||||||||||||||||||||||||||||||
| 20000 | ram/index | bitmap index and index related errors. | ||||||||||||||||||||||||||||||||||||||||||||||||
| 20400 | ram/partnmap | operations on partition related objects | ||||||||||||||||||||||||||||||||||||||||||||||||
| 20500 | server/rcv | server recovery related operation | ||||||||||||||||||||||||||||||||||||||||||||||||
| 21000 | repl/defrdrpc, repl/snapshot, repl/trigger |
replication related features | ||||||||||||||||||||||||||||||||||||||||||||||||
| 23000 | oltp/qs | AQ related errors. | ||||||||||||||||||||||||||||||||||||||||||||||||
| 24000 | dict/libcache | operations associated with managing stored outlines | ||||||||||||||||||||||||||||||||||||||||||||||||
| 25000 | server/rcv | tablespace management operations |
Internal Errors Categorised by mnemonic
The following table details mnemonics error stems which are possible. If you have encountered : ora-600[kkjsrj:1] for example, you should look down the Error Mnemonic column (errors in alphabetical order) until you find the matching stem. In this case, kkj indicates that something unexpected has occurred in job queue operation.
| Error Mnemonic(s) | Functionality | Description |
|---|---|---|
| ain ainp | ram/index | ain – alter index; ainp - alter index partition management operation |
| apacb | optim/rbo | used by optimizer in connect by processing |
| atb atbi atbo ctc ctci cvw | dict/sqlddl | alter table , create table (IOT) or cluster operations as well as create view related operations (with constraint handling functionality) |
| dbsdrv | sqllang/parse | alter / create database operation |
| ddfnet | progint/distrib | various distributed operations on remote dictionary |
| delexe | sqlexec/dmldrv | manages the delete statement operation |
| dix | ram/index | manages drop index or validate index operation |
| dtb | dict/sqlddl | manages drop table operation |
| evaa2g evah2p evaa2g | dbproc/sqlfunc | various functions involves in evaluating operand outcomes such as : addition , average, OR operator, bites AND , bites OR, concatenation, as well as Oracle related functions : count(), dump() , etc. The list is extensive. |
| expcmo expgon | dbproc/expreval | handles expression evaluation with respect to two operands being equivalent |
| gra | security/dac | manages the granting and revoking of privilege rights to a user |
| gslcsq | plsldap | support for operations with an LDAP server |
| insexe | sqlexec/dmldrv | handles the insert statement operation |
| jox | progint/opi | functionality associated with the Java compiler and with the Java runtime environment within the Server |
| k2c k2d | progint/distrib | support for database to database operation in distributed environements as well as providing, with respect to the 2-phase commit protocol, a globally unique Database id |
| k2g k2l | txn/disttx | support for the 2 phase commit protocol protocol and the coordination of the various states in managing the distributed transaction |
| k2r k2s k2sp | progint/distrib | k2r – user interface for managing distributed transactions and combining distributed results ; k2s – handles logging on, starting a transaction, ending a transaction and recovering a transaction; k2sp – management of savepoints in a distributed environment. |
| k2v | txn/disttx | handles distributed recovery operation |
| kad | cartserv/picklercs | handles OCIAnyData implementation |
| kau | ram/data | manages the modification of indexes for inserts, updates and delete operations for IOTs as well as modification of indexes for IOTs |
| kcb kcbb kcbk kcbl kcbs kcbt kcbw kcbz | cache | manages Oracle’s buffer cache operation as well as operations used by capabilities such as direct load, has clusters , etc. |
| kcc kcf | rcv | manages and coordinates operations on the control file(s) |
| kcit | context/trigger | internal trigger functionality |
| kck | rcv | compatibility related checks associated with the compatible parameter |
| kcl | cache | background lck process which manages locking in a RAC or parallel server multiple instance environment |
| kco kcq kcra kcrf kcrfr kcrfw kcrp kcrr kcs kct kcv | rcv | various buffer cache operation such as quiesce operation , managing fast start IO target, parallel recovery operation , etc. |
| kd | ram/data | support for row level dependency checking and some log miner operations |
| kda | ram/analyze | manages the analyze command and collection of statistics |
| kdbl kdc kdd | ram/data | support for direct load operation, cluster space management and deleting rows |
| kdg | ram/analyze | gathers information about the underlying data and is used by the analyze command |
| kdi kdibc3 kdibco kdibh kdibl kdibo kdibq kdibr kdic kdici kdii kdil kdir kdis kdiss kdit kdk | ram/index | support of the creation of indexes on tables an IOTs and index look up |
| kdl kdlt | ram/object | lob and temporary lob management |
| kdo | ram/data | operations on data such as inserting a row piece or deleting a row piece |
| kdrp | ram/analyze | underlying support for operations provided by the dbms_repair package |
| kds kdt kdu | ram/data | operations on data such as retrieving a row and updating existing row data |
| kdv kdx | ram/index | functionality for dumping index and managing index blocks |
| kfc kfd kfg | asm | support for ASM file and disk operations |
| kfh kfp kft | rcv | support for writing to file header and transportable tablespace operations |
| kgaj kgam kgan kgas kgat kgav kgaz | argusdbg/argusdbg | support for Java Debug Wire Protocol (JDWP) and debugging facilites |
| kgbt kgg kgh kghs kghx kgkp | vos | kgbt – support for BTree operations; kgg – generic lists processing; kgh – Heap Manager : managing the internal structures withing the SGA / UGA / PGA and ensures their integrity; kghs – Heap manager with Stream support; kghx – fixed sized shared memory manager; kgkp – generic services scheduling policies |
| kgl kgl2 kgl3 kgla kglp kglr kgls | dict/libcache | generic library cache operation |
| kgm kgmt | ilms | support for inter language method services – or calling one language from another |
| kgrq kgsk kgski kgsn kgss | vos | support for priority queue and scheduling; capabilities for Numa support; Service State object manager |
| kgupa kgupb kgupd0 kgupf kgupg kgupi kgupl kgupm kgupp kgupt kgupx kguq2 kguu | vos | Service related activities activities associated with for Process monitor (PMON); spawning or creating of background processes; debugging; managing process address space; managing the background processes; etc. |
| kgxp | vos | inter process communication related functions |
| kjak kjat kjb kjbl kjbm kjbr kjcc kjcs kjctc kjcts kjcv kjdd kjdm kjdr kjdx kjfc kjfm kjfs kjfz kjg kji kjl kjm kjp kjr kjs kjt kju kjx | ccl/dlm | dlm related functionality ; associated with RAC or parallel server operation |
| kjxgf kjxgg kjxgm kjxgn kjxgna kjxgr | ccl/cgs | provides communication & synchronisation associated with GMS or OPS related functionality as well as name service and OPS Instance Membership Recovery Facility |
| kjxt | ccl/dlm | DLM request message management |
| kjzc kjzd kjzf kjzg kjzm | ccl/diag | support for diagnosibility amongst OPS related services |
| kkb | dict/sqlddl | support for operatoins which load/change table definitions |
| kkbl kkbn kkbo | objsupp/objddl | support for tables with lobs , nested tables and varrays as well as columns with objects |
| kkdc kkdl kkdo | dict/dictlkup | support for constraints, dictionary lookup and dictionary support for objects |
| kke | optim/cbo | query engine cost engine; provides support functions that provide cost estimates for queries under a number of different circumstances |
| kkfd | sqlexec/pq | support for performing parallel query operation |
| kkfi | optim/cbo | optimizer support for matching of expressions against functional ndexes |
| kkfr kkfs | sqlexec/pq | support for rowid range handling as well as for building parallel query query operations |
| kkj | jobqs/jobq | job queue operation |
| kkkd kkki | dict/dbsched | resource manager related support. Additionally, provides underlying functions provided by dbms_resource_manager and dbms_resource_manager_privs packages |
| kklr | dict/sqlddl | provides functions used to manipulate LOGGING and/or RECOVERABLE attributes of an object (non-partitioned table or index or partitions of a partitioned table or index) |
| kkm kkmi | dict/dictlkup | provides various semantic checking functions |
| kkn | ram/analyze | support for the analyze command |
| kko kkocri | optim/cbo | Cost based Optimizer operation : generates alternative execution plans in order to find the optimal / quickest access to the data. Also , support to determine cost and applicability of scanning a given index in trying to create or rebuild an index or a partition thereof |
| kkpam kkpap | ram/partnmap | support for mapping predicate keys expressions to equivalent partitions |
| kkpo kkpoc kkpod | dict/partn | support for creation and modification of partitioned objects |
| kkqg kkqs kkqs1 kkqs2 kkqs3 kkqu kkqv kkqw | optim/vwsubq | query rewrite operation |
| kks kksa kksh kksl kksm | dict/shrdcurs | support for managing shared cursors/ shared sql |
| kkt | dict/sqlddl | support for creating, altering and dropping trigger definitions as well as handling the trigger operation |
| kkxa | repl/defrdrpc | underlying support for dbms_defer_query package operations |
| kkxb | dict/sqlddl | library cache interface for external tables |
| kkxl | dict/plsicds | underlying support for the dbms_lob package |
| kkxm | progint/opi | support for inter language method services |
| kkxs | dict/plsicds | underlying support for the dbms_sys_sql package |
| kkxt | repl/trigger | support for replication internal trigger operation |
| kkxwtp | progint/opi | entry point into the plsql compiler |
| kky | drv | support for alter system/session commands |
| kkz kkzd kkzf kkzg kkzi kkzj kkzl kkzo kkzp kkzq kkzr kkzu kkzv | repl/snapshot | support for snapshots or Materialized View validation and operation |
| kla klc klcli klx | tools/sqlldr | support for direct path sql loader operation |
| kmc kmcp kmd kmm kmr | mts/mts | support for Multi Threaded server operation (MTS) : manange and operate the virtual circuit mechanism, handle the dispatching of massages, administer shared servers and for collecting and maintaining statistics associated with MTS |
| knac knafh knaha knahc knahf knahs | repl/apply | replication apply operation associated with Oracle streams |
| kncc | repl/repcache | support for replication related information stored and maintained in library cache |
| kncd knce | repl/defrdrpc | replication related enqueue and dequeue of transction data as well as other queue related operations |
| kncog | repl/repcache | support for loading replicaiton object group information into library cache |
| kni | repl/trigger | support for replication internal trigger operation |
| knip knip2 knipi knipl knipr knipu knipu2 knipx | repl/intpkg | support for replication internal package operation. |
| kno | repl/repobj | support for replication objects |
| knp knpc knpcb knpcd knpqc knps | repl/defrdrpc | operations assocaied with propagating transactions to a remote node and coordination of this activity. |
| knst | repl/stats | replication statistics collection |
| knt kntg kntx | repl/trigger | support for replication internal trigger operation |
| koc | objmgmt/objcache | support for managing ADTs objects in the OOCI heap |
| kod | objmgmt/datamgr | support for persistent storage for objects : for read/write objects, to manage object IDs, and to manage object concurrency and recovery. |
| koh | objmgmt/objcache | object heap manager provides memory allocation services for objects |
| koi | objmgmt/objmgr | support for object types |
| koka | objsupp/objdata | support for reading images, inserting images, updating images, and deleting images based on object references (REFs). |
| kokb kokb2 | objsupp/objsql | support for nested table objects |
| kokc | objmgmt/objcache | support for pinning , unpinning and freeing objects |
| kokd | objsupp/datadrv | driver on the server side for managing objects |
| koke koke2 koki | objsupp/objsql | support for managing objects |
| kokl | objsupp/objdata | lob access |
| kokl2 | objsupp/objsql | lob DML and programmatic interface support |
| kokl3 | objsupp/objdata | object temporary LOB support |
| kokle kokm | objsupp/objsql | object SQL evaluation functions |
| kokn | objsupp/objname | naming support for objects |
| koko | objsupp/objsup | support functions to allow oci/rpi to communicate with Object Management Subsystem (OMS). |
| kokq koks koks2 koks3 koksr | objsupp/objsql | query optimisation for objects , semantic checking and semantic rewrite operations |
| kokt kokt2 kokt3 | objsupp/objddl | object compilation type manager |
| koku kokv | objsupp/objsql | support for unparse object operators and object view support |
| kol kolb kole kolf kolo | objmgmt/objmgr | support for object Lob buffering , object lob evaluation and object Language/runtime functions for Opaque types |
| kope2 kopi2 kopo kopp2 kopu koputil kopz | objmgmt/pickler | 8.1 engine implementation, implementation of image ops for 8.1+ image format together with various pickler related support functions |
| kos | objsupp/objsup | object Stream interfaces for images/objects |
| kot kot2 kotg | objmgmt/typemgr | support for dynamic type operations to create, delete, and update types. |
| koxs koxx | objmgmt/objmgt | object generic image Stream routines and miscellaneous generic object functions |
| kpcp kpcxlt | progint/kpc | Kernel programmatic connection pooling and kernel programmatic common type XLT translation routines |
| kpki | progint/kpki | kernel programatic interface support |
| kpls | cartserv/corecs | support for string formatting operations |
| kpn | progint/kpn | support for server to server communication |
| kpoal8 kpoaq kpob kpodny kpodp kpods kpokgt kpolob kpolon kpon | progint/kpo | support for programmatic operations |
| kpor | progint/opi | support for streaming protocol used by replication |
| kposc | progint/kpo | support for scrollable cursors |
| kpotc | progint/opi | oracle side support functions for setting up trusted external procedure callbacks |
| kpotx kpov | progint/kpo | support for managing local and distributed transaction coordination. |
| kpp2 kpp3 | sqllang/parse | kpp2 – parse routines for dimensions; kpp3 – parse support for create/alter/drop summary statements |
| kprb kprc | progint/rpi | support for executing sql efficiently on the Oracle server side as well as for copying data types during rpi operations |
| kptsc | progint/twotask | callback functions provided to all streaming operation as part of replication functionality |
| kpu kpuc kpucp | progint/kpu | Oracle kernel side programmatic user interface, cursor management functions and client side connection pooling support |
| kqan kqap kqas | argusdbg/argusdbg | server-side notifiers and callbacks for debug operations. |
| kql kqld kqlp | dict/libcache | SQL Library Cache manager – manages the sharing of sql statements in the shared pool |
| kqr | dict/rowcache | row cache management. The row cache consists of a set of facilities to provide fast access to table definitions and locking capabilities. |
| krbi krbx krby krcr krd krpi | rcv | Backup and recovery related operations : krbi – dbms_backup_restore package underlying support.; krbx - proxy copy controller; krby – image copy; krcr – Recovery Controlfile Redo; krd – Recover Datafiles (Media & Standby Recovery); krpi – support for the package : dbms_pitr |
| krvg krvt | rcv/vwr | krvg – support for generation of redo associated with DDL; krvt – support for redo log miner viewer (also known as log miner) |
| ksa ksdp ksdx kse ksfd ksfh ksfq ksfv ksi ksim ksk ksl ksm ksmd ksmg ksn ksp kspt ksq ksr kss ksst ksu ksut | vos | support for various kernel associated capabilities |
| ksx | sqlexec/execsvc | support for query execution associated with temporary tables |
| ksxa ksxp ksxr | vos | support for various kernel associated capabilities in relation to OPS or RAC operation |
| kta | space/spcmgmt | support for DML locks and temporary tables associated with table access |
| ktb ktbt ktc | txn/lcltx | transaction control operations at the block level : locking block, allocating space within the block , freeing up space, etc. |
| ktec ktef ktehw ktein ktel kteop kteu | space/spcmgmt | support for extent management operations : ktec – extent concurrency operations; ktef – extent format; ktehw – extent high water mark operations; ktein – extent information operations; ktel – extent support for sql loader; kteop – extent operations : add extent to segment, delete extent, resize extent, etc. kteu – redo support for operations changing segment header / extent map |
| ktf | txn/lcltx | flashback support |
| ktfb ktfd ktft ktm | space/spcmgmt | ktfb – support for bitmapped space manipulation of files/tablespaces; ktfd – dictionary-based extent management; ktft – support for temporary file manipulation; ktm – SMON operation |
| ktp ktpr ktr ktri | txn/lcltx | ktp – support for parallel transaction operation; ktpr – support for parallel transaction recovery; ktr – kernel transaction read consistency; ktri – support for dbms_resumable package |
| ktsa ktsap ktsau ktsb ktscbr ktsf ktsfx ktsi ktsm ktsp ktss ktst ktsx ktt kttm | space/spcmgmt | support for checking and verifying space usage |
| ktu ktuc ktur ktusm | txn/lcltx | internal management of undo and rollback segments |
| kwqa kwqi kwqic kwqid kwqie kwqit kwqj kwqm kwqn kwqo kwqp kwqs kwqu kwqx | oltp/qs | support for advanced queuing : kwqa – advanced queue administration; kwqi – support for AQ PL/SQL trusted callouts; kwqic – common AQ support functions; kwqid – AQ dequeue support; kwqie – AQ enqueu support ; kwqit – time management operation ; kwqj – job queue scheduler for propagation; kwqm – Multiconsumer queue IOT support; kwqn – queue notifier; kwqo – AQ support for checking instType checking options; kwqp – queueing propagation; kwqs – statistics handling; kwqu – handles lob data. ; kwqx – support for handling transformations |
| kwrc kwre | oltp/re | rules engine evaluation |
| kxcc kxcd kxcs | sqllang/integ | constraint processing |
| kxdr | sqlexec/dmldrv | DML driver entrypoint |
| kxfp kxfpb kxfq kxfr kxfx | sqlexec/pq | parallel query support |
| kxhf kxib | sqlexec/execsvc | khhf- support for hash join file and memory management; kxib – index buffering operations |
| kxs | dict/instmgmt | support for executing shared cursors |
| kxti kxto kxtr | dbproc/trigger | support for trigger operation |
| kxtt | ram/partnmap | support for temporary table operations |
| kxwph | ram/data | support for managing attributes of the segment of a table / cluster / table-partition |
| kza | security/audit | support for auditing operations |
| kzar | security/dac | support for application auditing |
| kzck | security/crypto | encryption support |
| kzd | security/dac | support for dictionary access by security related functions |
| kzec | security/dbencryption | support inserting and retrieving encrypted objects into and out of the database |
| kzfa kzft | security/audit | support for fine grained auditing |
| kzia | security/logon | identification and authentication operations |
| kzp kzra kzrt kzs kzu kzup | security/dac | security related operations associated with privileges |
| msqima msqimb | sqlexec/sqlgen | support for generating sql statments |
| ncodef npi npil npixfr | progint/npi | support for managing remote network connection from within the server itself |
| oba | sqllang/outbufal | operator buffer allocate for various types of operators : concatenate, decode, NVL, etc. the list is extensive. |
| ocik | progint/oci | OCI oracle server functions |
| opiaba opidrv opidsa opidsc opidsi opiexe opifch opiino opilng opipar opipls opirip opitsk opix | progint/opi | OPI Oracle server functions – these are at the top of the server stack and are called indirectly by ythe client in order to server the client request. |
| orlr | objmgmt/objmgr | support for C langauge interfaces to user-defined types (UDTs) |
| orp | objmgmt/pickler | oracle’s external pickler / opaque type interfaces |
| pesblt pfri pfrsqc | plsql/cox | pesblt – pl/sql built in interpreter; pfri – pl/sql runtime; pfrsqc – pl/sql callbacks for array sql and dml with returning |
| piht | plsql/gen/utl | support for pl/sql implementation of utl_http package |
| pirg | plsql/cli/utl_raw | support for pl/sql implementation of utl_raw package |
| pism | plsql/cli/utl_smtp | support for pl/sql implementation of utl_smtp package |
| pitcb | plsql/cli/utl_tcp | support for pl/sql implementation of utl_tcp package |
| piur | plsql/gen/utl_url | support for pl/sql implementation of utl_url package |
| plio | plsql/pkg | pl/sql object instantiation |
| plslm | plsql/cox | support for NCOMP processing |
| plsm pmuc pmuo pmux | objmgmt/pol | support for pl/sql handling of collections |
| prifold priold | plsql/cox | support to allow rpc forwarding to an older release |
| prm | sqllang/param | parameter handling associated with sql layer |
| prsa prsc prssz | sqllang/parse | prsa – parser for alter cluster command; prsc – parser for create database command; prssz – support for parse context to be saved |
| psdbnd psdevn | progint/dbpsd | psdbnd – support for managing bind variables; psdevn – support for pl/sql debugger |
| psdicd | progint/plsicds | small number of ICD to allow pl/sql to call into ‘C’ source |
| psdmsc psdpgi | progint/dbpsd | psdmsc – pl/sql system dependent miscellaneous functions ; psdpgi – support for opening and closing cursors in pl/sql |
| psf | plsql/pls | pl/sql service related functions for instantiating called pl/sql unit in library cache |
| qbadrv qbaopn | sqllang/qrybufal | provides allocation of buffer and control structures in query execution |
| qcdl qcdo | dict/dictlkup | qcdl – query compile semantic analysis; qcdo – query compile dictionary support for objects |
| qci | dict/shrdcurs | support for SQL language parser and semantic analyser |
| qcop qcpi qcpi3 qcpi4 qcpi5 | sqllang/parse | support for query compilation parse phase |
| qcs qcs2 qcs3 qcsji qcso | dict/dictlkup | support for semantic analysis by SQL compiler |
| qct qcto | sqllang/typeconv | qct – query compile type check operations; qcto - query compile type check operators |
| qcu | sqllang/parse | various utilities provided for sql compilation |
| qecdrv | sqllang/qryedchk | driver performing high level checks on sql language query capabilities |
| qerae qerba qerbc qerbi qerbm qerbo qerbt qerbu qerbx qercb qercbi qerco qerdl qerep qerff qerfi qerfl qerfu qerfx qergi qergr qergs qerhc qerhj qeril qerim qerix qerjm qerjo qerle qerli qerlt qerns qeroc qeroi qerpa qerpf qerpx qerrm qerse qerso qersq qerst qertb qertq qerua qerup qerus qervw qerwn qerxt | sqlexec/rowsrc | row source operators : qerae – row source (And-Equal) implementation; qerba – Bitmap Index AND row source; qerbc – bitmap index compaction row source; qerbi – bitmap index creation row source; qerbm – QERB Minus row source; qerbo – Bitmap Index OR row source; qerbt – bitmap convert row source; qerbu – Bitmap Index Unlimited-OR row source; qerbx – bitmap index access row source; qercb – row source: connect by; qercbi – support for connect by; qerco – count row source; qerdl – row source delete; qerep – explosion row source; qerff – row source fifo buffer; qerfi – first row row source; qerfl – filter row source definition; qerfu – row source: for update; qerfx – fixed table row source; qergi – granule iterator row source; qergr – group by rollup row source; qergs – group by sort row source; qerhc – row sources hash clusters; qerhj – row source Hash Join; qeril – In-list row source; qerim – Index Maintenance row source; qerix – Index row source; qerjo – row source: join; qerle – linear execution row source implementation; qerli – parallel create index; qerlt – row source populate Table; qerns – group by No Sort row source; qeroc – object collection iterator row source; qeroi – extensible indexing query component; qerpa – partition row sources; qerpf – query execution row source: prefetch; qerpx – row source: parallelizer; qerrm – remote row source; qerse – row source: set implementation; qerso – sort row source; qersq – row source for sequence number; qerst – query execution row sources: statistics; qertb – table row source; qertq – table queue row source; qerua – row source : union-All; qerup – update row source; qerus – upsert row source ; qervw – view row source; qerwn – WINDOW row source; qerxt – external table fetch row source |
| qes3t qesa qesji qesl qesmm qesmmc | sqlexec/execsvc | run time support for sql execution |
| qkacon qkadrv qkajoi qkatab qke qkk qkn qkna qkne | sqlexec/rwsalloc | SQL query dynamic structure allocation routines |
| qks3t | sqlexec/execsvc | query execution service associated with temp table transformation |
| qksmm qksmms qksop | sqllang/compsvc | qksmm - memory management services for the SQL compiler; qksmms – memory management simulation services for the SQL compiler; qksop – query compilation service for operand processing |
| qkswc | sqlexec/execsvc | support for temp table transformation associated for with clause. |
| qmf | xmlsupp/util | support for ftp server; implements processing of ftp commands |
| qmr qmrb qmrs | xmlsupp/resolver | support hierarchical resolver |
| qms | xmlsupp/data | support for storage and retrieval of XOBs |
| qmurs | xmlsupp/uri | support for handling URIs |
| qmx qmxsax | xmlsupp/data | qmx – xml support; qmxsax – support for handling sax processing |
| qmxtc | xmlsupp/sqlsupp | support for ddl and other operators related to the sql XML support |
| qmxtgx | xmlsupp | support for transformation : ADT -> XML |
| qmxtsk | xmlsupp/sqlsupp | XMLType support functions |
| qsme | summgmt/dict | summary management expression processing |
| qsmka qsmkz | dict/dictlkup | qsmka – support to analyze request in order to determine whether a summary could be created that would be useful; qsmkz – support for create/alter summary semantic analysis |
| qsmp qsmq qsmqcsm qsmqutl | summgmt/dict | qsmp – summary management partition processing; qsmq – summary management dictionary access; qsmqcsm – support for create / drop / alter summary and related dimension operations; qsmqutl – support for summaries |
| qsms | summgmt/advsvr | summary management advisor |
| qxdid | objsupp/objddl | support for domain index ddl operations |
| qxidm | objsupp/objsql | support for extensible index dml operations |
| qxidp | objsupp/objddl | support for domain index ddl partition operations |
| qxim | objsupp/objsql | extensible indexing support for objects |
| qxitex qxopc qxope | objsupp/objddl | qxitex – support for create / drop indextype; qxope – execution time support for operator callbacks; qxope – execution time support for operator DDL |
| qxopq qxuag qxxm | objsupp/objsql | qxopq – support for queries with user-defined operators; qxuag – support for user defined aggregate processing; qxxm – queries involving external tables |
| rfmon rfra rfrdb rfrla rfrm rfrxpt | drs | implements 9i data guard broker monitor |
| rnm | dict/sqlddl | manages rename statement operation |
| rpi | progint/rpi | recursive procedure interface which handles the the environment setup where multiple recursize statements are executed from one top level statement |
| rwoima | sqlexec/rwoprnds | row operand operations |
| rwsima | sqlexec/rowsrc | row source implementation/retrieval according to the defining query |
| sdbima | sqlexec/sort | manages and performs sort operation |
| selexe | sqlexec/dmldrv | handles the operation of select statement execution |
| skgm | osds | platform specific memory management rountines interfacing with O.S. allocation functions |
| smbima sor | sqlexec/sort | manages and performs sort operation |
| sqn | dict/sqlddl | support for parsing references to sequences |
| srdima srsima stsima | sqlexec/sort | manages and performs sort operation |
| tbsdrv | space/spcmgmt | operations for executing create / alter / drop tablespace and related supporting functions |
| ttcclr ttcdrv ttcdty ttcrxh ttcx2y | progint/twotask | two task common layer which provides high level interaction and negotiation functions for Oracle client when communicating with the server. It also provides important function of converting client side data / data types into equivalent on the server and vice versa |
| uixexe ujiexe updexe upsexe | sqlexec/dmldrv | support for : index maintenance operations, the execution of the update statement and associated actions connected with update as well as the upsert command which combines the operations of update and insert |
| vop | optim/vwsubq | view optimisation related functionality |
| xct | txn/lcltx | support for the management of transactions and savepoint operations |
| xpl | sqlexec/expplan | support for the explain plan command |
| xty | sqllang/typeconv | type checking functions |
| zlke | security/ols/intext | label security error handling component |
Related
Products
Errors
|
||
CCTV-7《致富经》1月5日播出节目《搭错车以后》,以下为节目内容。
在中缅边境城市云南瑞丽的珠宝一条街,表面上看这里生活节奏平缓,居民悠闲自在,可是在看似轻松的背后却有一股财富洪流在暗地里涌动着。
张安凤:“这4颗100万元可以吗?”
缅甸商人:“不可以。”
张安凤:“就是最低150万元了是不是?”
缅甸商人:“对。”
张安凤:“最后给你一口价好不好?”
张安凤:“138万元,可以了。”
缅甸商人:“好。”
整个交易只用了十几分钟.这个叫张安凤的女人就花出去了138万元,得到的是缅甸商人手中那四颗只有手指盖大小的翡翠.这样疯狂的交易真的是物有所值还是张安凤买贵了呢?
张安凤:“我们感觉喜欢就是贵也不怕,就是这样子的,但是如果不喜欢的话,便宜我也不想要,玉这个东西它跟黄金是两回事,人家说黄金有价玉无价,玉无价它是自己喜欢就值,你说它值100万元也不奇怪。”
瑞丽是我国四大珠宝集散地之一.在瑞丽的珠宝一条街,售价几十万的翡翠珠宝非常多,就是一个手镯卖上千万,一个戒指戒面值几百万也不是什么稀奇的事情。
消费者:“它还不像其它商品一样的,可能有一个价格的比价,玉这种东西好像都形成了这种市场,也就是说你可能认为你喜欢的,看上的,那个跟价格联系也不是很大,这个因素在里面。”
记者:“觉得值多少钱就多少钱?”
消费者:“对,就这样。”
来张安凤店里的很多都是老客户,这些人除了喜欢翡翠外,购买的另一个动力就是投资.在他们眼里,翡翠是种不可再生资源,升值空间很大.由于翡翠的需求很大,张安凤说,这次购买的四颗翡翠已经是相对难见的精品了。
张安凤:“138万元要重新打价钱的,这一颗是最值钱的一颗,这一颗镶好之后我们要打到80万元的,就是它的底价要打到80万元。”
就在张安凤算计着如何处理这四颗翡翠的时候,又有人从她的珠宝店里买了过百万的翡翠。
记者:“我看老板很喜欢这个东西?”
消费者:“对。”
记者:“经常买吗?”
消费者:“经常买。”
记者:“今天买了不少?”
消费者:“今天买了大概100多万元吧。”
记者:“买几件?”
消费者:“买了4件。”
在张安凤的店里,过百万元的交易往往十几分钟就成交了,过百万元的商品一个小纸袋就可以带走,令人咋舌的场景反复地上演着. 那么是什么样的经历让张安凤有了支配巨额财富的能量的呢?这还得从张安凤搭错车说起.
1986年,在中国改革开放大潮的冲击下,张安凤和丈夫也变得不安分了.他们决定离开老家湖北武汉。
张安凤的丈夫钱建华:“当时和我太太过来的时候家里比较贫穷,所以到外边想闯一番事业。”
当时想闯世界的人大都往南方跑,而张安凤和丈夫并没有那样的野心,他们只想投奔在云南西双版纳的舅舅.就在昆明转车的时候,一个改变张安凤命运的事情发生了.
张安凤:“我记得蛮清楚,我们是一早上下的火车,下了火车之后,那个车当时我们也不知道坐错了,就是一个德宏,一个景洪。”
西双版纳在景洪州,而张安凤和丈夫却晕晕乎乎地坐上了去德宏州的汽车.就这一字的读音之差,让这夫妻俩来到了德宏州的一个县级市,瑞丽.
张安凤:“我们一进来的时候,我们还很害怕,因为农民吃的那个槟榔,就吐在地下,红彤彤的,我说好吓人呀。”
1986年的瑞丽远不像今天这样热闹繁华,不过它却有着先天的地理优势,和缅甸接壤。缅甸是世界上玉石的主要生产国.每年都有大量的玉石石料和翡翠珠宝通过瑞丽口岸进入中国。这让张安凤夫妇发现了机会.
张安凤:“在旅游的过程中,就看到很多的珠宝,其实在这个之前我们对珠宝也不是太熟,然后我们就说,那既然来了,就看一下。”
张安凤两口子没有任何积蓄,开珠宝店是想都不敢想的事情,他们只能从中间人做起.当时的行规是中间人可以拿到珠宝售价的5%作为提成.从做中间人开始,张安凤的翡翠生意起步了。
翡翠设计师肖军:“说一个女强人嘛,有时候又不像,反正她财运又占到,头脑也灵活,怎么讲呢,觉得她在这里是一个奇迹一样。”
肖军说张安凤像奇迹一样,这个说法来自于树化玉.2000年,张安凤还在经营着翡翠,而这时,她的同行蒋际翔却在缅甸关注起树化玉来。
蒋际翔:“本地的缅甸人去挖采,大多数是去挖翡翠的,但是如果挖到这个木化石,他们直接就给它敲碎,他们说这个是杂石,这个是不值钱的。”
蒋际翔说的木化石指的就是树化玉,学名叫硅化木玉石。树化玉是乔木,灌木树干在2.5亿年前特殊地质环境下形成的遗体化石。看着玉石矿里被当作废石处理掉的树化玉,蒋际翔的父亲有了另外的打算。
蒋际翔:“那时候我爸爸就说,叫他们拉来,拉来卖,那个时候打磨出来,叫一个工人打磨出来,还蛮漂亮的。”
记者:“这个东西做的时候是一个什么标准?”
玉石加工厂工人排金伟:“以绿色为标准,加工的时候把那些杂质也就是白的那些黑的那些去掉。”
记者:“这里有杂质吗?”
排金伟:“有的,你看这里,这个算杂质了,对,杂质,白的。”
记者:“像磨一个这样的需要多长时间?”
排金伟:“大概我看七八天吧。”
2000年,蒋际翔和父亲把树化玉引进到了瑞丽。这时他们碰到了一个难题,虽说我国一直是世界上的翡翠等玉石产品的消费大国,可对树化玉这个新品种,很多消费者根本不熟悉.就是很多珠宝销售商也不看好。
翡翠设计师肖军:“树化玉我觉得它细腻度不够,好的也是很少,大型的东西,当时我们从材料上来讲,觉得太大了,小的也不适合雕。”
肖军是从翡翠雕刻的工艺角度去看树化玉,还有很多珠宝商压根不知如何评判树化玉的价值。就这样,树化玉销售在瑞丽陷入困境,无奈之下蒋际翔只得拿着树化玉毛料按家推销。
蒋际翔:“很多人不敢买,很多人觉得这个东西怎么说,他们始终认为这个东西不被公认。”
蒋际翔为树化玉的销路发愁着,而此时的张安凤经过十几年的摸爬滚打,已经在珠宝一条街上开起了一家规模很大的珠宝店.在2000年8月,上门推销树化玉的蒋际翔遇到了张安凤。
张安凤:“我判断它有价值,因为它是上亿年的树,然后通过一次应该是
地震或者是地壳的变化吧来演变成的,所以说像这样的东西应该是很罕见的,所以我当时就认为是奇石了。”
?/P>
可是树化玉还没有被市场认可,难能可贵的是张安凤没有像众多同行那样轻言放弃,她花300多块前钱买进了五十公斤树化玉毛料,拿到工厂让工人去皮,抛光.那时她第一次看到了树化玉成品.
张安凤:“看出来了,它的水分很足,就有点像翡翠一样的,像玉一样的,晶莹剔透,看着很舒服。”
这块树化玉吊起了张安凤的胃口,该如何卖掉呢?最后她想出了一个怪招,她让工人依照树化玉形状做了一个花瓶摆放在店门口的柜台上. 就是那个花瓶,引起了很多人的关注.
店员李娟:“有的时候问我们多少钱,我们就不卖,出价像他们就说1000元卖给我2000元卖给我,不卖,我们不卖,我说我们没有,就这一个。”
喜欢那个树化玉花瓶的人越来越多,出价也越来越高,这时张安凤觉得赚钱的机会来了。由于树化玉还没引起同行关注,毛料每公斤才5元.张安凤一发狠一下就买了10吨.
张安凤:“一开始没人知道,是我告诉肖军的,我说肖军我买了10吨,你赶紧去买一点。”
记者:“当时他听说你买了10吨,他怎么跟你说的?”
张安凤:“他没买,他说这买来干什么。”
翡翠设计师肖军:“当时我的想法好像太多了,物以稀为贵,农民都可以一吨一吨地拉过来,用拖拉机拉过来。”
就这样,赚钱的机会和肖军擦肩而过,在张安凤买进10吨树化玉半年后,受消费者的追捧,树化玉毛料价格开始呈急剧攀升的态势,毛料从每公斤几元几十元一直涨到如今的每公斤1000元.
翡翠设计师肖军:“她的库存量也比较多,她就抓住了这个机会,她的商业头脑比较厉害。”
由于有了资金积累,当同行关注树化玉的时候,张安凤开始主打高端市场,她瞄准上了开口好的毛料。而这也正是高风险高回报的开始.
蒋际翔:“也有按公斤卖,那就是差的吧,这个的话是整体卖的,而这个的话20万元15万元这样,如果是好的话,上百万这样卖,它这是一个地卖,不是按公斤卖给你。”
在玉石行业,毛料在出售前基本上只开出一个小口子,购买者凭靠猜想从小口子中得出整块石头的情况,猜对了,玉石身价直线上扬,要是猜错了,有的购买者倾家荡产.做玉石的人认为,买毛料猜对与否,有时也要看运气.因此他们把买毛料叫做”赌石”。
蒋际翔:“有绿就贵,这看你自己的运气。”
记者:“现在你也判断不出来?”
蒋际翔:“这里有没有绿,这个判断不出来,这个看开口的话,这里好像有一点绿的,每一个毛料都这样,它也有绿,但是有没有绿就是看你的运气,就是有赌性一样的。”
2002年,蒋际翔从缅甸进口了4颗开口比较好的树化玉,作为老主顾,张安凤第一个见到了那棵毛料。
张安凤:“当时我一看,有那么粗又很完整,然后我看它皮口的表现,有绿色的,有红色的,也有白色的,几彩的。”
看着玉石开口,张安凤觉得碰到了好料,可是蒋际翔的要价高,4棵树化玉毛料要价120万,这对张安凤来说多少有些压力。到底赌不赌那四棵树化玉呢?张安凤寝食难安。
张安凤:“大概有一个星期的时间,我反反复复看了很多次。”
而在那个星期里,也有很多人找到蒋际翔看那四棵毛料,最终,看好这四根毛料的张安凤对蒋际翔发了一句狂话,毛料要定了,价格只给60万。
张安凤:“就跟那个小蒋说,这个东西非我莫属,如果你要是卖给别人了,从此以后我不跟你做一分钱的生意。”
张安凤一直是蒋际翔的大买家,而且当时敢赌到60万的买主只有张安凤一个,就这样,四棵树化玉毛料被拉到张安凤的加工厂里。当树化玉被剥皮的那一刻,张安凤知道自己赌赢了。
蒋际翔:“那时候那个水色很好,我印象当中有一次那个绿色,但是种水真的很好,就是形状也很好,全部卖给她60万元,但是她一颗就是卖200万元
张安凤:“那个是外面造谣,没有这个事,树化玉的确是赚了钱,但是也不是说像他们说的,有很多人说我的树化玉赚了几个亿,没有这回事。”
2005年张安凤瞄准了龙黄玉,结果她又创造了奇迹,当时她以八万元买了10吨龙黄玉,而一年后那些龙黄玉的身价翻了500倍.经过十多年的发展,张安凤每次都在寻找着玉石行业的新动向,从2006年开始,她又瞄准了翡翠摆件。
张安凤:“像这个三件的话,这个三件,人家出150万元也不算很贵呀,这只是在我这里的批发价,如果拿去拍卖的话,那价值更高,因为黄金有价玉无价,玉是不可再生的东西。”
| How To Use RMAN CONVERT DATABASE on Source Host for Cross Platform Migration [ID 413586.1] | |||||
|
|
|||||
| Modified 18-AUG-2009 Type HOWTO Status PUBLISHED | |||||
In this Document
Goal
Solution
References
Applies to:
Oracle Server – Enterprise Edition – Version: 10.2.0.1 to 10.2.0.4
Information in this document applies to any platform.
Goal
Walk through RMAN CONVERT DATABASE feature in 10g Release 2 to accomplish cross platform database migration
This article discussed the CONVERT DATABASE procedure on source host. If you need to perform CONVERT on destination host, refer below note:
Note 414878.1 Cross-Platform Migration on Destination Host Using Rman Convert Database
Note the following restrictions exist with Cross-Platform Transportable Database:
1) The principal restriction on cross-platform transportable database is that the source and destination platform must share the same endian format.
2) Redo log files and control files from the source database are not transported. New control files and redo log files are created for the new database during the transport process, and an OPEN RESETLOGS is performed once the new database is created. Similarly, tempfiles belonging to locally managed temporary tablespaces are not transported. The temporary tablespace will be re-created on the target platform when the transport script is run.
3) BFILEs, External tables and directories, Password files are not transported.
Solution
1) Check that the source and destination platform belong to same ENDIAN format in the view V$TRANSPORTABLE_PLATFORM. We will try to transport a database from Windows (32-bit) to Linux (32-bit). As seen below both belong to Little endian format:
SQL> select PLATFORM_NAME, ENDIAN_FORMAT from V$TRANSPORTABLE_PLATFORM;
PLATFORM_NAME ENDIAN_FORMAT
—————————————- ————–
Solaris[tm] OE (32-bit) Big
Solaris[tm] OE (64-bit) Big
Microsoft Windows IA (32-bit) Little
Linux IA (32-bit) Little
AIX-Based Systems (64-bit) Big
HP-UX (64-bit) Big
HP Tru64 UNIX Little
HP-UX IA (64-bit) Big
Linux IA (64-bit) Little
HP Open VMS Little
Microsoft Windows IA (64-bit) Little
IBM zSeries Based Linux Big
Linux 64-bit for AMD Little
Apple Mac OS Big
Microsoft Windows 64-bit for AMD Little
Solaris Operating System (x86) Little
IBM Power Based Linux Big
17 rows selected.
If the two platforms are not on the same endian format, you will need to use TRANSPORTABLE TABLESPACE instead of CONVERT DATABASE
see Note 243304.1 10g : Transportable Tablespaces Across Different Platforms
2) Use DBMS_TDB.CHECK_DB to check whether the database can be transported to a desired destination platform, and whether the current state of the database (such as incorrect compatibility settings, in-doubt or active transactions) permits transport. Make sure your database is open in READ ONLY mode before you call DBMS_TDB.CHECK_DB. Since we need to transport to Linux we will call the procedure with following arguments:
SQL> set serveroutput on
SQL> declare
2 db_ready boolean;
3 begin
4 db_ready := dbms_tdb.check_db('Linux IA (32-bit)');
5 end;
6 /
PL/SQL procedure successfully completed.
If you call DBMS_TDB.CHECK_DB and no messages are displayed indicating conditions preventing transport BEFORE the “PL/SQL procedure successfully completed message”, then your database is ready for transport.
3) Use DBMS_TDB.CHECK_EXTERNAL to identify any external tables, directories or BFILEs. RMAN cannot automate the transport of such files as mentioned above.
SQL> set serveroutput on
SQL> declare
2 external boolean;
3 begin
4 external := dbms_tdb.check_external;
5 end;
6 /
The following directories exist in the database:
SYS.DATA_PUMP_DIR
PL/SQL procedure successfully completed.
If there are no external objects, then this procedure completes with no output. If there are external objects, however, the output will be somewhat similar to above.
4) When the database is ready for transport, the RMAN CONVERT DATABASE command is run (when the source database is READ ONLY), specifying a destination platform and how to name the output files. RMAN produces the following files needed to move the database to the destination system:
a) A complete copy of the datafiles of the database, ready to be transported
b) A PFILE for use with the new database on the destination platform, containing settings used in the PFILE/SPFILE from the source database.
c) A transport script, which contains SQL statements used to create the new database on the destination platform
C:\>rman target / nocatalog
Recovery Manager: Release 10.2.0.1.0 – Production on Fri Feb 2 17:05:35 2007
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to target database: ORA10G (DBID=3926158280)
using target database control file instead of recovery catalog
RMAN> CONVERT DATABASE NEW DATABASE ‘LinDB10g’
2> TRANSPORT SCRIPT ‘D:\oracle\oradata\dbTransport\transport.sql’
3> TO PLATFORM ‘Linux IA (32-bit)’
4> DB_FILE_NAME_CONVERT ‘+DG_DATA/ora10g/datafile’ ‘D:\oracle\oradata\dbTransport’;
Starting convert at 02-FEB-07
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=90 devtype=DISK
Directory SYS.DATA_PUMP_DIR found in the database
User SYS with SYSDBA and SYSOPER privilege found in password file
channel ORA_DISK_1: starting datafile conversion
input datafile fno=00001 name=+DG_DATA/ora10g/datafile/system.257.609084887
converted datafile=D:\ORACLE\ORADATA\DBTRANSPORT\SYSTEM.257.609084887
channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:00:45
channel ORA_DISK_1: starting datafile conversion
input datafile fno=00002 name=+DG_DATA/ora10g/datafile/undotbs1.258.609084933
converted datafile=D:\ORACLE\ORADATA\DBTRANSPORT\UNDOTBS1.258.609084933
channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:00:25
channel ORA_DISK_1: starting datafile conversion
input datafile fno=00003 name=+DG_DATA/ora10g/datafile/sysaux.259.609084957
converted datafile=D:\ORACLE\ORADATA\DBTRANSPORT\SYSAUX.259.609084957
channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:00:15
channel ORA_DISK_1: starting datafile conversion
input datafile fno=00004 name=+DG_DATA/ora10g/datafile/users.260.609084973
converted datafile=D:\ORACLE\ORADATA\DBTRANSPORT\USERS.260.609084973
channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:00:07
Run SQL script D:\ORACLE\ORADATA\DBTRANSPORT\TRANSPORT.SQL on the target platform to create database
Edit init.ora file D:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\INIT_00I92IKQ_1_0.ORA. This PFILE will be used to create
the database on the target platform
To recompile all PL/SQL modules, run utlirp.sql and utlrp.sql on the target platform
To change the internal database identifier, use DBNEWID Utility
Finished backup at 02-FEB-07
Check the output related to the transport script and the parameter file for the new database at the end above. When CONVERT DATABASE completes, the source database may be opened read-write again.
5) Now copy the above files to the destination host. i.e. the converted datafiles, transport.sql script and the pfile generated.
6) The PFILE generated by RMAN will have following sections:
a) Parameters that need to be changed for the destination host environment
b) Other parameters which are same as the source database parameters
Edit the PFILE moved on the destination host to change the environment specific parameters.
7) Now edit the TRANSPORT sql script to reflect the new path for datafiles in the CREATE CONTROLFILE section of the script. Also change all references to the INIT.ORA in the script to the new path and name of the INIT.ORA modified above.
Once the PFILE and TRANSPORT sql scripts are suitably modified invoke SQLPLUS on the destination host after setting the Oracle environment parameters and then run TRANSPORT.sql as:
[oracle@test-br ora10g]$ export ORACLE_HOME=/u01/oracle/product/ora10g
[oracle@test-br ora10g]$ export ORACLE_SID=LinDB10g
[oracle@test-br ora10g]$ export PATH=$ORACLE_HOME/bin:$PATH
[oracle@test-br ora10g]$ cd /u01/oracle/oradata/LinDB10g
[oracle@test-br LinDB10g]$ sqlplus "/ as sysdba"
SQL*Plus: Release 10.2.0.1.0 – Production on Sat Feb 3 01:55:46 2007
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to an idle instance.
SQL> @TRANSPORT.SQL
ORACLE instance started.
Total System Global Area 201326592 bytes
Fixed Size 1218484 bytes
Variable Size 67110988 bytes
Database Buffers 125829120 bytes
Redo Buffers 7168000 bytes
Control file created.
Database altered.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Your database has been created successfully!
* There are many things to think about for the new database. Here
* is a checklist to help you stay on track:
* 1. You may want to redefine the location of the directory objects.
* 2. You may want to change the internal database identifier (DBID)
* or the global database name for this database. Use the
* NEWDBID Utility (nid).
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Database closed.
Database dismounted.
ORACLE instance shut down.
ORACLE instance started.
Total System Global Area 201326592 bytes
Fixed Size 1218484 bytes
Variable Size 67110988 bytes
Database Buffers 125829120 bytes
Redo Buffers 7168000 bytes
Database mounted.
Database opened.
…
…
…
SQL> select COUNT(*) “ERRORS DURING RECOMPILATION” from utl_recomp_errors;
ERRORS DURING RECOMPILATION
—————————
0
SQL>
SQL>
SQL> Rem =====================================================================
SQL> Rem Run component validation procedure
SQL> Rem =====================================================================
SQL>
SQL> SET serveroutput on
SQL> EXECUTE dbms_registry_sys.validate_components;
PL/SQL procedure successfully completed.
SQL> SET serveroutput off
SQL>
SQL>
SQL> Rem ===========================================================================
SQL> Rem END utlrp.sql
SQL> Rem ===========================================================================
SQL> set feedback 6;
SQL>
SQL> select name, open_mode from v$database;
NAME OPEN_MODE
——— ———-
LINDB10G READ WRITE
When the transport script finishes, the creation of the new database is complete.
References
NOTE:243304.1 – 10g : Transportable Tablespaces Across Different Platforms
Oracle® Database Backup and Recovery Advanced User’s Guide 10g Release 2 (10.2)
NOTE:414878.1 – Cross-Platform Migration on Destination Host Using Rman Convert Database
Related
Products
Keywords
|
||
Run the CONFIGURE command to enable and disable backup optimization. Backup optimization skips the backup of files in certain circumstances if the identical file or an identical version of the file has already been backed up. Full details on the backup optimization algorithm are provided in “Backup Optimization”.
Note that backup optimization applies only to the following commands:
* BACKUP DATABASE
* BACKUP ARCHIVELOG with ALL or LIKE options
* BACKUP BACKUPSET ALL
You can override optimization at any time by specifying the FORCE option on the BACKUP command. For example, you can run:
BACKUP DATABASE FORCE;
BACKUP ARCHIVELOG ALL FORCE;
By default, backup optimization is configured to OFF. To enable backup optimization, run the following command:
CONFIGURE BACKUP OPTIMIZATION ON;
To disable backup optimization, run the following command:
CONFIGURE BACKUP OPTIMIZATION OFF;
To clear the current backup optimization setting, that is, return backup optimization to its default setting of OFF, run this command:
CONFIGURE BACKUP OPTIMIZATION CLEAR;
如果你对具体的算法感兴趣,可以参考:http://www.youngcow.net/doc/oracle10g/backup.102/b1419/rcmconc1008.htm#i1013400
. /home/oracle/.profile
export ORACLE_SID=ccdb1
echo “**********begin backup*************”
date
$ORACLE_HOME/bin/rman target / <<EOF
CONFIGURE RETENTION POLICY TO REDUNDANCY 2;
CONFIGURE BACKUP OPTIMIZATION ON;
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO ‘/rmanbak/%F’;
run {
allocate channel c1 device type disk maxpiecesize=5g connect sys/oracle@ccdb1;
allocate channel c2 device type disk maxpiecesize=5g connect sys/oracle@ccdb1;
allocate channel c3 device type disk maxpiecesize=5g connect sys/oracle@ccdb2;
allocate channel c4 device type disk maxpiecesize=5g connect sys/oracle@ccdb2;
backup full database filesperset 3 format ‘/rmanbak/full_%U_%d_%T’;
sql ‘alter system archive log current’;
backup archivelog all filesperset 5 format ‘/rmanbak/arch_%U_%d_%T’;
release channel c1;
release channel c2;
release channel c3;
release channel c4;
}
allocate channel for maintenance device type disk connect sys/oracle@ccdb1;
allocate channel for maintenance device type disk connect sys/oracle@ccdb2;
crosscheck backup;
delete noprompt obsolete;
release channel;
exit;
EOF
echo “**********end backup*************”
date
真是好事多磨,刚才莫名奇妙数据库实例宕掉,重启之后我就又美滋滋的去看电影了,应用同事接着IMP导入,没过一会,又来找我了,结果是刚才的imp导到4/5,来这么一个错误:
ksh 0403-031 the fork function failed there is not enough memory available
新窗口telnet链接,链接不上,imp的窗口虽没有死,但是敲任何命令都是这么一个错误提示,包括shutdown -Fr命令,完了,这台机器只能去机房重启了。
我一看到这个错误就预感到问题在哪儿了:不会真是由于swap太小了吧。导之前我看topas时还跟应用的同事说这个机器交换区怎么这么小,才512M,他也没在意,继续导,当时我还嘀咕了一句:这个oracle谁装的啊(后来想起来了,是我们同事装的,一个经验很丰富的老DBA),怎么也不改大点swap?安装手册里第一条不就是检查交换区么。但我也没有坚持把他改大点再让他导入。
同事赶到机房重启机器后,改大交换区,重启,除了多用去一个小时外,后来的工作还算顺利,不过从这件事还是得到两点教训:
1.好多经验丰富的DBA装数据库时不喜欢参考文档,也不喜欢按照安装步骤一步一步来检查。这就导致了类似这样的错误,很简单很基础,只要按照安装文档一步一步来,就会发现,就不会产生这个错误。所以以后安装数据库,即使你再熟悉,再经验丰富,也应该安装文档来一步一步检查,这能避免以后的一些不必要的错误。
2.自己本来已经提前感觉到了这个错误,但由于经验不足,麻痹大意等等而没有坚持去改正,导致了最后的宕机。
今天做imp导入的时候遭遇ORA-00480 LCK* process terminated with error
错误,实例意外宕掉。查看产生的trace文件,也没有什么有价值的信息,只是说PMON进程终止了实例。查看metalink,也只找到这么一篇:
| OERR: ORA 480 LCK* process terminated with error [ID 18457.1] | |||||
|
|
|||||
| Modified 10-JUN-1999 Type REFERENCE Status PUBLISHED | |||||
Error: ORA 480
Text: LCK* process terminated with error
-------------------------------------------------------------------------------
Cause: One Lock process terminated abnormally.
Action: Check the accompanying messages, if any, and the background process
trace file.
Correct the problem mentioned in the other messages.
Then shut down and restart the instance.
If the trace file mentions any other background process messages,
check the trace file for the mentioned process until the root message
is found.
数据库是9208的rac,这个错误很有可能与rac有关。不知道这个是不是oracle的bug,有待进一步观察。
最近真是忙碌,先是在不太熟悉的solaris上安装11gr2,借机把solaris和11g的相关东西学习了一把,接着生产系统又遭遇严重的ORA600错误,还是Solaris系统,等忙完再把Solaris,11g和ora600的错误整理出来。
Related
Back to top











