列上"数据特殊"、优化器统计信息的问题导致死活不走index诊断、调整过程
这是我长期维护的一家专科医院的系统,客户也没有反应慢,我在执行常规的例行检查时发现DB Time很大,达到2,221.28,这是8点~9点的awr报告,9点~10点的达到3000多了,我认为系统会非常的慢,客户信息中心人员说没人打电话反应慢,看到这种情况不能无动于衷了,等待事件就不用看了,平常就是gc buffer busy,建议客户修改应用的连接字符串,让同类应用从一个节点连进去,他们一直也没有调整。[@more@]1、[oracle@rac1 awr]$ more awrrpt_1_21391_21392.txt WORKLOAD REPOSITORY report forDB Name DB Id Instance Inst Num Release RAC H
OCP考完之后的后续注意事项
大家在考完之后需要做些什么,考完之后继续坚持学习是必不可少的,这里我主要告诉大家的是考完之后如何跟踪证书。[@more@]1、3门课都考完之后,首先需要提交hands on来申请ocp证书,hands on可能是我做也可能是我提供向导大家自己来做,一般都是我给做了,如何查看hands on是否提交了或者提交之后的状态,可以参考下面连接:如何查看hands on的状态以及如何督促oracle尽快完成hands on的审核:http://warehouse.itpub.net/post/777/5299502、hands on审核通过之后状态会变成approved,这样oracle会给我们提供下载电子版证书的连接,到时候
rman中snapshot control file的用途
snapshot control file.A copy of a database control file created in an operating system-specific location by Recovery Manager. RMAN creates the snapshot control file so that it has a consistent version of a control file to use when either resynchronizing the recovery catalog or backing up the control file.[@more@]When RMAN must resynchronize the recovery catalog with a read-consistent version of the control file, it creates a temporary snapshot control file. RMAN needs a snapshot control file whe
从2004年11月15开始考ocp需要一门原厂培训
2004年11月15对dba来说是个梦魇开始的日子,因为从这一天开始oracle规定考9i和10g ocp必须至少的参加一门原厂培训,这个霸王条款一直延续至今。这个条款估计给oracle赢利n多。[@more@]这一条款据说受到不少组织和个人的反对,不过貌似没啥用。这之前只要考试通过了就可以获得ocp证书,至少8i的ocp是这样的。
应聘dba职位到底需要多少经验
有关这个话题受困惑的人不少,很早以前就想写点有关这方面的东西,12年的腊月27终于闲下来了,写下来与大家共勉,希望对那些想从事dba但又徘徊在门里门外的兄弟们有所帮助、有所启迪。[@more@]应聘dba职位到底需要多少经验: 很多人说没有经验找不上dba工作,当然很多单位在招聘dba时也确实明确提出至少需要几年的工作经验,高端dba职位可能会有这样的要求,其实对我们绝大多数刚刚想转行或者刚刚毕业想从事这个职业的新手来说,对从事dba这个职业所需要的知识储备远远大于所谓的经验。dba职位对新手来说之所以不好找、找上了也不好干,其
vault下如何修改dysys的口令以及如何访问dba_dv_*视图
dba_dv_*属于dvsys,dvsys被lock之后,这些视图也没法访问,所以首先得想办法unlock dvsys。[@more@]在安装vault的时侯我选择另外创建了管理账户的用户dbvm,这样貌似系统缺省的dvsys账号被锁定了,在启用vault的情况下,是无论如何都没法解除对dvsys的锁定以及修改它的账号,最后只能暂时先disable vault,之后对dvsys进行unlock:C:>sqlplus / as sysdbaSQL*Plus: Release 11.2.0.1.0 Production on 星期二 2月 5 22:05:36 2013Copyright (c) 1982, 2010, Oracle. All rights reserved.连接到:Oracle Database 11g Enterprise Editio
db vault里面对用户的管理需要有DV_ACCTMGR角色
有了vault,sys用户不在无所不能[@more@]SQL> SELECT *2 FROM DBA_ROLE_PRIVS3 WHERE GRANTED_ROLE IN ('DV_ACCTMGR');GRANTEE GRANTED_ROLE ADM DEF------------------------------ ------------------------------ --- ---DVSYS DV_ACCTMGR YES YESDBVM DV_ACCTMGR YES YESSQL> SELECT * FROM DBA_SYS_PRIVS where grantee='DV_ACCTMGR';GRANTEE PRIVILEGE ADM------------------------------ ---------------------------------------- ---DV_ACCTMGR CREATE USER NODV_ACCTMGR DROP USER NODV_ACCTMGR DROP PROFILE NODV_ACCTMG
oracle database vault的dva登录问题
11g的vault不在是一个独立的安装包了,而是集成在了db的安装产品里,而且安装软件时必须的选上,否则创建db时无法选择oracle database vault.[@more@]安装之后可以在类似em的图形化界面里管理vault,第一次登录就磕磕绊绊了,在浏览器里输入:https://lenovo-382e0ef1:1158/dva提示输入用户名等信息之后收到错误提示:You must have the DV_ADMIN or DV_SECANALYST role granted to your account in order to use this application. 这里用户必须是需要具有DV_ADMIN or DV_SECANALYST角色才能登录,到底哪些用户具有这2个role呢:SQL>
windows下可以通过使用orastack工具修改每个thread使用的stack内存
不停oracle服务会报错,停下来执行没有问题,最近遇到客户在windows 32位下使用oracle遇到ora 12560,ora-04030错误的困扰,我想尝试使用orastack.exe来下调每个thread stack使用的内存来节约更多的主机物理内存从而缓解一下这个错误的发生。 默认是1m[@more@]E:oracleproduct11.2.0dbhome_1BIN>orastack oracle.exe 500000Couldn't open file with CreateFile()GetLastError() == 32E:oracleproduct11.2.0dbhome_1BIN>orastack oracle.exe 500000Dump of file oracle.exeCurrent Reserved Memory per Thread = 1048576Current Comm
dbms_flashback中enable_at_time(scn)用法测试
其实就是临时restore point的思想,有了enable_at_time(scn)我们在执行flashback query或者flashback versions query时就不需要写as of 和versions between 子句了。[@more@]SQL> select * from tt;ID NAME---------- --------------------1 a2 e4 dSQL> select dbms_flashback.get_system_change_number from dual;GET_SYSTEM_CHANGE_NUMBER------------------------8504779SQL> exec dbms_flashback.enable_at_system_change_number(8504779);PL/SQL procedure successfully completed.SQL> select * from tt;ID NAME------
redo中change vector里面常见的op的含义
网上看到的,随手记录一下。OP:操作码,由两部分组成,layer code. sub code,网上有关op的解释不多,但是op在redo change vector里非常重要。[@more@]常见的OP CODE含义:4块清除4.1块清除5事务管理,如commit/rollback5.1修改undo header中的事务信息5.2事务开始5.4 commit5.19事务审计5.20子事务审计10索引操作10.2插入页块记录10.3清除页块记录10.4删除页块中的记录10.5还原页块日志10.6锁定索引块10.7提交时清除块中的操作码10.8初始化头部10.9 ITL1上应用XAT10.10设置页块指向下一个页块的指针10.11设置页块指向上一个页块的指针10.
oracle中一个事务是如何使用redo的以及redo record和change vector的关系
oracle使用redo来恢复应该是以redo record为单位的[@more@]SQL> select * from tt;ID NAME---------- --------------------1 a2 b3 cSQL> update tt set name='e';3 rows updated.SQL> commit;Commit complete.SQL> alter system dump logfile 'E:ORACLEORADATATESTREDO04.LOG';System altered.SQL> select distinct sid from v$mystat;SID----------7SQL> select sid,serial#,process from v$session where sid=7;SID SERIAL# PROCESS---------- ---------- ------------------------------------------------7 43 236
提供ocp补考
很多人考ocp或者ocm的时侯由于准备不充分或者其它原因挂了,这样在报名机构补考的时侯很多报名机构不太厚道,借此机会似乎要痛宰一下,053的补考居然要2800,有的要1500,这是不是黑了点,大伙都不容易...很多人咨询我是不是补考必须需要在报名机构补考,这里我郑重的向大家承诺:不需要(包括wdp途径也不需要)如果你觉得你先前所在的机构补考要价太高,可以联系warehouse,如果你由于从我们这儿补考拿不到ocp或者ocm证书的,我连同你考ocp或者ocm的全部费用退款给你,前提是你的原厂培训证明没有问题。考试是在当地vue考试中心考。备注:
segment advisor:no segment found
在em中使用segment advisor的时执行完毕查看结果的时侯收到no segment found,原因是当segment 里面的free space小于10m的时侯oracle可能认为这个segment 里的free space太小了,可能没有必要处理,所以也不会给出任何建议,最后就是这个提示。[@more@]SQL> select type,message,more_info from dba_advisor_findings2 where task_name in ('SEGMENTADV_4328829','SEGMENTADV_9662658','SEGMENTADV_9854361');TYPE MESSAGE MORE_INFO---------------------- ---------------------------------------- -------------------------------
ORA-55507: Encountered mining error during Flashback Transaction Backout
11.2.0.1下执行DBMS_FLASHBACK.TRANSACTION_BACKOUT会遭遇bug:Bug 10335025,oracle的描述说是造成这个问题是由于执行完全恢复时oracle自动使用了redo恢复过db,这样redo会被记录在v$archived_log里面,v$archived_log里面出现了redo这显然是存在问题的,我的db里确实是这样的,3组redo被记录在v$archived_log里面了,和下面doc说的一样,doc给出了办法,我觉得太麻烦,我直接通过脚本重建了一下控制文件,其实只要把redo从v$archived_log里面清除了就可以了,重建控制文件之后执行就没有问题了。[@more@]PROBLEM:--------In a certain c
oracle的程序员犯了不可饶恕的错误!
把REPAIR写成了REAPIR 我在windows xp 32位11gR2下看到的。[@more@]SQL> select distinct type from v$hm_recommendation;TYPE--------------REAPIRMANUALSQL>
windows下oracle数据库的exp自动备份脚本
windows下的变量的使用还真不熟悉,看到一个客户的机器上部署了自动备份脚本,拿过来学习、备查。[@more@]rem 计划任务运行:D:DatabaseBackup数据库备份脚本.BAT mchis fybj runbest fybj istruncaterem 计划任务运行:D:DatabaseBackup数据库备份脚本.BAT mhealth mhealth runbest mhealth mhealthtruncate@echo offrem 脚本路径 备份文件名 数据库用户名 用户密码 服务名 辅助脚本文件名rem 分娩数据备份 D:Backup数据库备份脚本.BAT mchis fybj runbest fybj mchistruncaterem 建册数据备份 D:Backup数据库备份脚本.BAT mhealth mheal
index为什么可能会比table大很多
因为index pctused其实为0[@more@]SQL> create table t1(id int,name char(2000)) tablespace users pctfree 50;Table created.--指定pctfree=50目的是想让2条数据使用一个data blockSQL> insert into t1 values(1,rpad('a',2000,'+'));1 row created.SQL> insert into t1 values(2,rpad('b',2000,'+'));1 row created.SQL> insert into t1 values(3,rpad('c',2000,'+'));1 row created.SQL> commit;Commit complete.SQL> insert into t1 values(4,rpad('d',2000,'+'));1 row created.SQL> commit;Commit complete.S
warehouse这里OCP报名交费方式
为了方便大家报名交费,尽可能的提供了常用的付款方式供大家使用。[@more@]1、可以直接通过支付宝付费,warehouse的支付宝账号:yongsheng.xie@gmail.com,联系电话:13840879243 谢永生2、可以通过淘宝,warehouse的淘宝店铺地址:http://warehouseocp.taobao.com 这个对使用信用卡付费来说可能更方便。3、提供银行账号直接转帐,我有工行、建行,招行,中行,农行的卡号,到时候大家看看那种方式方便。4、可以通过财付通支付,我的财付通账号:9020630(我的qq号)5、如果人在境外,人民币支付不方便,可以选择通过paypal来支付其它币种。
asm下如何自动删除standby上已经applied过的归档日志
由于是asm,所以和文件系统处理起来可能还不太一样,这要完全依赖rman了,不能依赖os了,当然我的这些脚本适合db是文件系统。[@more@]首先先写了一个脚本purge_archlog_sql_.sh,内容如下:ORACLE_BASE=/oracleORACLE_HOME=/oracle/product/11.1.0/db_1ORACLE_SID=lnmsadgexport ORACLE_BASE ORACLE_HOME ORACLE_SIDapplied_days=3cat /dev/null>applied_arch.lstchmod +x applied_arch.lstsqlplus -s "/ as sysdba"<<EOF>/dev/nullset feedback offset pages 0set head offset timing offset echo offspool applied