Author: mac

  • CBO Cost Formulas基于成本优化器的成本计算公式大全

    CBO Cost Formulas成本计算公式大全: 成本模型:连接方式Join method 注意 连接基数(Join Cardinality)不受到连接方式(join method) 的影响, oracle中主要的三种join method HASH JOIN、Nested Loops、Sort Merge: Nested Loops嵌套循环成本公式: Cost(outer)+Cost(inner))*cardinality(outer) Sort merge 合并排序连接成本公式: Cost(outer) + Cost(inner) + Sort(outer) + Sort(inner) Hash Join 哈希连接公式: Cost(outer) + Cost(inner) + Build(outer) + Probe(inner)   Index Unique Scan Cost成本计算 INDEX UNIQUE SCAN COST = (BLEVEL (1-(OIC/100)) + 1) * (OICA/100)…

  • 关于10053 trace中的UNCOMPBKTS和ENDPTVALS

    关于10053 trace中的Histogram部分的UNCOMPBKTS和ENDPTVALS 当Histogram直方图类型为frequency histograms( Histogram: Freq)时UncompBkts 等于统计信息中采样的总行数-NULLS(Card: Original- NULLS,因为dbms_stats默认是auto_sample_size采样,所以这栏其实是采样到的原始Card-NULLS), 而EndPtVals 等于bucket总数,或者说NDV,因为frequency histograms中 NDV=number of buckets  当直方图类型为height balanced histograms (Histogram: HtBal) UncompBkts  等于bucket的数目(其实也等于10053 trace中#Bkts的数目),而EndPtVals 等于已经被压缩的Histogram的大小,其实是等于: select count(*) from dba_tab_histograms where table_name=’MACLEANLIU’ and column_name=’MACLEANLIU’的实际总和。  通过这2个值对比,可以了解到popular值的多少以及数据的倾斜度, 是有多个大量重复的值(popular value)还是仅有一个巨大的重复值。   仍不明确少数概念的话,来看看下面这个图:

  • Oracle jDUL/PRM-DUL(实现数据库数据抽取unload)DUL的替代

    我知道老胡的工具JDUL 有几年了。这个工具一开始是老胡的私人项目,叫做jDUL。该项目从一开始就没有作为一个开源工具对外公开。在几年前我有幸被赠予了试用版本,运行它并查看它的功能。老胡对Oracle内部的知识和他的DUL工具版本令我印象深刻。 PRM-DUL可从不能被启动和有效报废的数据库实例中提取数据。它也可用作一种提取数据的快捷方法。我不太建议将它用于生产环境,因为你不太可能受到支持。但它作为一个崩溃恢复工具,对于某些人来说就是救命稻草。 老胡已经开了一个名为DUL救援的网站来完善PRM-DUL,即jDUL。在网站首页有PRM-DUL的详细介绍,包括所有支持功能的列表。它适用于Oracle 8,8i,9i和10g,可以重建字典,处理丢失的SYSTEM表空间,涵盖大多数的数据类型,恢复整个表空间,PL / SQL,支持大多数主要平台,链接(chained),迁移的行,支持trail NULL和分区表。 2.0版本即将包括IOT的LOB和RAW的。 如果你仔细阅读老胡的网站,就能找到对工具的详细说明,一个历史页面,和提供的服务细节。如果你需要租用这个工具,诗檀软件公司是首选的经销商。 网站上还有文本的PRM-DUL 入门,详细说明了如何使用PRM-DUL从Oracle数据库中提取数据。 你还可以得到一个演示版本,只要按照他的网站链接,并使用老胡的安全保护。你需要填写一个配置文件,并对你的数据库运行prm_core.jar,然后就能对任意一张表做10000行以内的dump。 我已经更新了我的Oracle Internals页面,添加了老胡文本的详细信息。  

  • Oracle 11g 删除redo和控制文件后的强制开库

    如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复! 诗檀软件专业数据库修复团队 服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected]   场景: 在数据库open的时候,删除控制文件和所有的redo文件。只有数据文件,shutdown abort 后。然后进行恢复。   2.操作步骤   1.在参数文件中加入隐藏强制开库参数: startup nomount   alter system set “_allow_resetlogs_corruption”=true scope=spfile; alter system set  undo_management=manual  scope=spfile;   –注意此处要设置回滚段为手动,否则就算打开了,实例还是可能会由于ORA-4194被PMON中止。   startup nomount force   2.此时由于丢失了reodo,所以使用resetlogs 方式创建控制文件   create controlfile reuse database “CRS” resetlogs noarchivelog logfile group 1 ‘/home/oracle/crs/REDO01.LOG’ size 50M, group 2 ‘/home/oracle/crs/REDO02.LOG’ size 50M, group 3…

  • Oracle force open强制打开数据库的步骤

    如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复! 诗檀软件专业数据库修复团队 服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected]       Oracle force open强制打开数据库的步骤:   1)在数据库关闭的时候备份数据库 如果在进行后续操作之前 ,你没备份的话,可能会由于其他操作而丢失数据库。 2)如果你的数据文件是不同时间点的,你最好使用和最老数据文件相近时间错的system表空间数据文件。这个会减少在开库节点bootstrap节点出现错误的机会。 3)编辑你的*init<sid>.ora文件来变更undo_management和增加2个参数: 将undo_management=auto改变到undo_management=manual 移除或注释掉 undo_tablespace 和undo_retention 增加_allow_resetlogs_corrution=true,_corrupted_rollback_segments=(由逗号组成的自动undo端的列表) 例如: _corrupted_rollback_segments=(SYSSMU1$,SYSMU2$, SYSMU3$, SYSMU4$, SYSMU5$, SYSMU6$, SYSMU7$ SYSMU8$, SYSMU9$, SYSMU10$) 注意:在alert.log中会告诉你 哪些自动undo、端被使用。使用SYSS搜索。如果alter.log中没找到。在11g之前undo段的名称和上面例子有些不同,格式是_SYSMU_$,例如: _SYSSMU1_3423929671$ _SYSSMU2_3471197032$ _SYSSMU3_1940572779$ _SYSSMU4_703930491$ _SYSSMU5_2293911943$ _SYSSMU6_2782670761$ _SYSSMU7_3176421677$ _SYSSMU8_1585569843$ _SYSSMU9_1242704454$ _SYSSMU10_777531512$   在UNIX中,你可以使用下列命令来得到undo段的名称: strings system01.dbf|grep _SYSSMU | cut -d $…

  • Oracle RAC的连接负载均衡load balance 以及连接故障failover转移

    本文永久地址:https://www.askmac.cn/archives/oracle-rac%E7%9A%84%E8%BF%9E%E6%8E%A5%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1load-balance-%E4%BB%A5%E5%8F%8A%E8%BF%9E%E6%8E%A5%E6%95%85%E9%9A%9Cfailover%E8%BD%AC%E7%A7%BB.html 连接Oracle Real Application Clusters 所有的数据库节点可以访问数据库中所有的数据 自动维持节点之间的数据一致性 SQL的并行执行(Parallel Execution) 可以自动并列化一个SQL的执行 从Oracle客户端开始的连接与串行处理相同 无论是单一实例或是RAC都是可行的   安装两个软件 1.Oracle Grid Infrastructure 11g Release 2 Oracle Clusterware 与 Oracle ASM 之间的紧密合作 Oracle listener也是归Grid Infrastructure所有 2.Oracle Database 11g Release 2     Oracle Database的网络连接 Oraclelistener・进程 这是保存TCP/IP服务器socket的进程。在Oracle Database服务器上,需要接收oracle客户端的连接需求的进程。 Oracle服务器・进程 执行SQL的数据操作的进程。   Oracle客户端的网络连接设定 Oracle客户端可以指定以下两个要素 Oracle listener的网络地址 (IP地址与TCP port编号) 数据库・服务名   Oraclelistener进程 Oracle listener进程是接收Oracle客户端的连接需求进程。Oracle…

  • Oracle从AWR中计算出Exadata效果的方法

    本文地址:https://www.askmac.cn/archives/oracle%E4%BB%8Eawr%E4%B8%AD%E8%AE%A1%E7%AE%97%E5%87%BAexadata%E6%95%88%E6%9E%9C%E7%9A%84%E6%96%B9%E6%B3%95.html AWR报告中Exadata特有的信息   Instance Activity统计(IO相关) cell physical IO interconnect bytes –DB服务器以及Cell之间交互的IO尺寸 cell physical IO bytes eligible for predicate offload –成为Smart Scan对象的IO尺寸 cell physical IO interconnect bytes returned by smart scan –通过Smart Scan从Cell返回的IO尺寸 cell IO uncompressed bytes –通过cell处理的非压缩数据尺寸 cell physical IO bytes saved by storage index –通过Storage index减少的IO尺寸 cell physical IO bytes saved during optimized file…

  • ORACLE DUL用户与配置指南 V10.2.4.27

    如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复! 诗檀软件专业数据库修复团队 服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected]     DUL用户与配置指南 V10.2.4.27 1.  DUL的原理和功能列表 1.1 独立的C语言程序 DUL是一个独立的C程序,它直接从数据文件的表中检索行。 Oracle的RDBMS软件完全不被使用。DUL进行脏读,它假定每个事务已经提交。它也不检查是否需要完成介质恢复。 1.2 最后的还原手段 DUL旨在检索无法用其他方法检索的数据。它不是EXP,SQL *Load等的替代选择,而是最后的方案。不用于正常的生产环境。 在使用DUL之前,你必须知道RDBMS有许多隐藏的功能可以强制打开坏数据库。隐藏参数和事件可以用于跳过前滚,禁用回滚,禁用特定SMON行为,推进数据库scn等等。 1.3 数据库损坏-数据块好的 数据库可以被破坏,但单独的数据块必须是100%正确。在所有导出进行检查时,确保块没有损坏并属于正确的数据段。如果扫描时遇到损坏的块,一个错误信息被打印在加载程序(loader)文件和标准输出。将继续导出下一行或下一个块。 1.4 簇/表/索引中的行 DUL只会导出索引/表/簇中数据。它不会转储触发器和存储过程,也不会创建表或视图的SQL脚本。(但描述它们的数据字典表可以被导出)。该数据将被导出为适合SQL * Loader或IMP的格式。同时,SQL * Loader的匹配控制文件也会生成。 DUL可以导出索引和索引组织表。索引的导出能用来确定表应该有多少行或标识缺失的行。 1.5 跨平台导出 支持跨平台导出。数据库可以从与DUL-主机不同的操作系统被复制。 (迄今所涉及的数据库/系统:Sequent/ptx, Vax Vms, Alpha Vms, MVS, HP9000/8xx, IBM AIX, SCO Unix, Alpha OSF/1, Intel Windows NT)。 在“init.dul”中的配置参数必须进行修改,以匹配原始平台和O / S,而非导出执行的平台。…

  • 远程DD remote dd 传输磁盘数据 列出AIX上最大的文件

    远程DD remote dd 传输磁盘数据   从本机传输到远端 dd if=/dev/sda | gzip -1 – | ssh user@local dd of=image.gz 从远端传输到本机 ssh user@remote “dd if=/dev/sda | gzip -1 -” | dd of=image.gz 可以去掉gzip   列出AIX上最大的文件   du -m -a | sort -n du -sk ./* | sort -rn | head -5  

  • Oracle CBO术语大集合

    最近准备写点Histogram和density相关的文章,先把术语给大家理一理: cardinality (CDN) Legend CBQT – cost-based query transformation JPPD – join predicate push-down OJPPD – old-style (non-cost-based) JPPD FPD – filter push-down PM – predicate move-around CVM – complex view merging SPJ – select-project-join SJC – set join conversion SU – subquery unnesting OBYE – order by elimination OST – old style star transformation…