Parallel 并行技术
Parallel技术对于一个大的任务,一般的做法是利用一个进程,串行的执行,如果系统资源足够,可以采用parallel技术,把一个大的任务分成若干个小的任务,同时启用n个进程/线程,并行的处理这些小的任务,这些并发的进程称为并行执行服务器(parallel executeion server),这些并发进程由一个称为并发协调进程的进程来管理。启用Parallel前的忠告:只有在需要处理一个很大的任务,如需要几十分钟,几个小时的作业中,并且要有足够的系统资源的情况下(这些资源包括cpu,内存,io),您才应该考虑使用parallel。否则,在一个多并发用户下,系统本
SCN
control中有三种SCN分别为,system SCN、datafile SCN、last SCN,数据文件头中有一种SCN start SCNsystem scn从视图v$database中获得,对应checkpoint_change#字段,datafile scn、last scn分别对应视图v$datafile中的checkpoint_change#,last_change#,而 start scn则从v$datafile_header中checkpoint_change#得到。数据库在正常启动后下,system scn,datafile scn,start scn会相等,而last scn会被置于无穷大,这里为null。正常关闭后(immediate,noraml,translate),上面四个scn会应执行full checkpoint 而相等。当系统在非正常关闭
记住这个错误PLS-00103: 出现符号
SQL> DECLARE 2 devtype varchar2(256); 3 done boolean; 4 BEGIN 5 devtype:=sys.dbms_backup_restore.deviceAllocate (type=>'',ident=>'t1'); 6 sys.dbms_backup_restore.restoreSetDatafile; 7 sys.dbms_backup_restore.restoredatafileto(dfnumber=>01,toname=>'D:ORACLEORADATAORA9ISYSTEM01.DBF'); 8 sys.dbms_backup_restore.restoredatafileto(dfnumber=>02,toname=>'d:oracleoradataora9iUNDOTBS1.DBF'); 9 sys.dbms_backup_restore.restoredatafileto(dfnumber=>03,toname=>'d:ora
Oracle10g的FAST DUAL执行计划
FAST DUAL执行计划是Oracle10g的新特性。对于利用DUAL进行的计算,可以不用真正的访问表,从而快速的得到结果。在实际系统中,由于中间件采用了WEBLOGIC,中间件为了确保数据库连接没有问题,需要在每个SQL前面执行一个SELECT 1 FROM DUAL语句,通过这个执行过程来检测数据库连接是否正常。SQL> SET AUTOT ONSQL> SELECT 1 FROM DUAL;1----------1已选择 1 行。执行计划----------------------------------------------------------Plan hash value: 1546270724-----------------------------------------------------------------|
select hang住等待SQL*Net message from Client
如果你不知道什么叫诡异,那么请往下看。一个select语句,在10.2.0.1 for linux平台跑着好好的,到了10.2.0.4一执行就hang住,等待SQL*Net message from Client,而且非常消耗CPU资源。很奇怪吧,看似是等待客户端的请求,但是却消耗了大量CPU,似乎很矛盾。在山穷水尽之时,老熊横空出世,抓到了call stack,并且在metalink上找到了相似的BUG。我的call stack:lnxfpr ()lnxn2coptg ()lnxn2copt ()lnxn2c ()evastr ()evaopn2 ()evaopn2 ()evacat ()evaopn2 ()evareo ()expeqkesEval_Int ()qkesEvalPred ()qsmeeopt_evaluate_opt ()kkqsev
events和event
events内存生效,event是静态参数,重启生效.记录之.[@more@]e
enqueue种类
select distinct ksqsttyp,ksqstexpl from x$ksqst order by ksqsttyp;[@more@]
管理表空间(表空间的属性)转贴
一些注意点概述:--- 一个tablespace可以有0或者多个segments--- 一个segment可以有1或者多个extent--- 除了SYSTEM表空间和包含获得undo段(an active undo segment)的表空间以外,表空间可以被tablen offline,而数据库仍照常运行--- 在数据库运行时,可以把表空间brought online--- 一个segment可以跨越属于同一个表空间的多个数据文件,但是不能跨越多个表空间--- 一个extent不能跨越多个数据文件系统表空间(SYSTEM)与非系统表空间(NON-SYSTEM):--- 在创建数据库的时候创建--- 包含数据字典--- 包含SYSTEM undo segment--- 9i中还
DFS lock handle
DFS lock handle is a kind of wait event for dynamic lock manager(DLM) syncronzication wait A DFS lock handle wait in RAC is generally associated with a Cross Instance (CI) call, requesting some other instance to perform some work on behalf of this process.To Understand what is going wrong with this, we need understand what is the kind of calls made and how the call is propagated to other and where it is stuck these information can be found only from systemstate dump[@more@]
细节决定一切-多工控制文件有感
1.首先查看控制文件情况SQL> show parameter controlNAME TYPE VALUE ------------------------------------ ----------- ------------------------------ control_file_record_keep_time integer 7 control_files string E:ORACLEPRODUCT10.2.0ORADATAORCLCONTRO L03.CTL 2.shutdown immediate关闭数据库,并且在相同目录下增加控制文件2, CONTROL02.CTL,同时修改pfile内容如下:*.control_files='E:oracleproduct10.2.0oradataorclCONTROL01.CTL,E:oracleproduct10.2.0oradataorclCONTROL02.CTL,E:oracleproduct10.2.0oradataorclCONTR
gc cr request 'gcs log flush sync'
This is how it happens -1)You fired an update statement on Instance-2. 2)However, the request for desired blocks was gone to Instance-1. So Instance-2 was waiting on ''gc cr request'. 3)Instance-1 had the requested blocks but before it ships the blocks to Instance-2, it need to flush the changes from current block to redo logs on disks. Until this is done Instance-2 waits on event - 'gcs log flush sync'.The cause of this wait event 'gcs log flush sync' is mainly - Redo log IO performance.To avoi
EXP-00091
exp scott/tiger file=test.dmp tables=emp query="where empno <7499"一般情况下,是由于字符集设置问题,这个case下不存在字符集的问题,去掉query后,exp成功。metalink上的解释 The precalculated optimizer statistics are flagged as questionable at export time if:1. There are row errors while exporting2. The client character set or NCHAR character set does not match the server character set orNCHAR character set3. A QUERY clause is specified4. Only certain partitions or subpartitions are expo
10g RAC安装成功
哎呀妈呀,这玩意儿咋这么难整啊,总共发起了2次猛烈的冲锋,每次都耗时N天,终于在第二次冲锋中将其拿下。不容易啊,怎么得给俺搬个奖吧。发表下获奖感言:感谢MTV,感谢CCTV,感谢铁岭TV,感谢。。。TV,哎呀妈呀,感谢的人太多了,最重要的是感谢老熊,没有你的帮助,俺也攻克不了这么多难题啊,谢谢老熊。中间遇到了N多问题,饱受折磨啊,特别是装CRS的时候,重装了不下10遍。这下可好了,CRS装的倍儿熟了。说了这么多鸟语,最后总结就一句话:耐心,耐心,再耐心一些。[@more@]
每日一语
Every just fine with me.[@more@]
10g OCR工具ocrcheck ocrconfig ocrdump
在Oracle10g 的RAC环境中,有几个工具可以用于进行OCR管理,这其中主要的几个是:ocrcheck ,ocrdump, ocrconfigocrcheck可以用于减产OCR存储的使用情况:[oracle@smsdbrac1 oracle]$ ocrcheck -helpName:ocrcheck - Displays health of Oracle Cluster Registry. Synopsis:ocrcheck Description:prompt> ocrcheckDisplays current usage, location and health of the cluster registryNotes:A log file will be created in$ORACLE_HOME/log//client/ocrcheck_.log. Please ensureyou have file creation privileges in the above direc
Best
I'm the best of best of best of best of best ...Moon,just like a pizza,but i don't know how to eat.I miss you, mam and i love you.[@more@]
收集统计信息的简单操作
创建保存统计信息的表dbms_stats.create_stat_table(ownname => 'SYS',stattab => 'STAT_TABLE'); 收集统计信息exec dbms_stats.gather_table_stats(ownname => 'SYS',tabname =>'TEST');将统计信息保存到STAT_TABLE表中exec dbms_stats.export_table_stats(ownname => 'SYS',tabname => 'TEST',stattab => 'STAT_TABLE'); 删除统计信息exec dbms_stats.delete_table_stats(ownname => 'SYS',tabname => 'TEST');导入统计信息exec dbms_stats.import_table_stats(ownname =>'SYS',tabname =>'TEST',stat
where 1=1 和 count(1) 与 count(*)
我转~~~[@more@]where 1=1有什么用?在SQL语言中,写这么一句话就跟没写一样。 select * from table1 where 1=1与select * from table1完全没有区别,甚至还有其他许多写法,1<>2,'a'='a','a'<>'b',其目的就只有一个,where的条件为永真,得到的结果就是未加约束条件的。在SQL注入时会用到这个,例如select * from table1 where name='lala'给强行加上select * from table1 where name='lala' or 1=1这就又变成了无约束的查询了。最近发现的妙用在于,在不定数量查询条件情况下,1=1可以很方便的规范语句。例如一个查询可
无眠2天two夜 一招以一敌百
两天两夜的煎熬,问题迎刃而解那刻,身心瞬间轻松了很多。原厂,元老,固然牛X,真正靠得住的还是自己。任何问题都是有原因的,路走对了,才能走出迷宫。突然想起那帮坏孩子的教练布朗的经典语句:play with right way.[@more@]
困难总会过去
今天我想起了一个人 Chauncey Billups,是的,没错,就是那个打爆F4的家伙,本来这个夏天他应该来北京,但是。。。想起了他曾经的经历,坐穿板凳,四处流浪,就跟现在的我遇到三个库同时出问题,压力巨大。Chauncey 磨砺着自己的同时做好了一切准备,最终成为草根国王。让我感动的不仅仅是他的故事,还有那句为AD做的广告语:困难总会过去。我相信我会度过难关,前提是别让我天天只睡6小时。[@more@]