Search results for: “cost”

  • Oracle 数据库完全破损/损坏对策

    Block Corruption 造成的影响 对商业运行造成的直接影响 数据损坏导致业务停止 数据恢复时间变长 修复工作发生错误,造成二次灾害 寻找原因的时间变长 数据损坏的主要原因 复杂并且有可能被分割的Layer的风险 系统中数据保护的机制 § 单个系统中,考虑到了一些无法防御的的风险的机制。 –    例:因为人为错误删除数据时,在RAID结构中无法防御。 § 复制数据中保护一致性与确实性的机制。 –    例:部分备份导致的数据完整性的欠缺。 § 考虑到迅速切换以及确实的修复的机制。 –    例:由于灾害恢复训练不足,实际上无法切换,无法返回的备份。 为了确实地能提高工作的可持续性需要什么? Oracle Maximum Availability Architecture § Maximum Availability Architecture (MAA) 是基于oracle验证完成的高可用性的数码与成功事例的最佳实践。 § MAA的目的 –    为了修复、查出、规避所有的停止的情况提供最优实践。 –    在样本中构成最优的高可用性的架构。 § 不受硬件以及OS影响(不需要特定的高价的产品以及技术) § 马上就可以提供高可用性的解决策略(Oracle事先完成验证) 高可用性的数码的最佳实践。 Oracle MAA 的整体映像 Low-Cost, Integrated, Fully Active, High ROI Oracle…

  • 人工的にOracleデータブロックにロジックエラが起こったことをシミュレーションするORA-00600:[13013] [5001]一例

    ORACLEデータベース によくあるエラ の解決策 プロのOracle Databaseの復旧サービスを提供 携帯番号: +86 13764045638 メール:[email protected]   前週で、お客様からOracle Bugによって、テーブルデータブロックロジックエラでORA-00600:[13013], [5001]を引き起こした例をもらった。ここで、よりうまく説明できるように、人工的にそのエラをシミュレーションする発想が生み出した。 基礎的な知識 Oracleにテーブルのデータブロックはブロックへっだ、トランザクションスロット、行ディクショナリー、及び行データなどいろんな構造で組み立てた。行データは行数据(rowdata)いろんなrow piece によって組み立てる。各row pieceのヘッダにflag、locks、cols(cc)三つのマーク位置がある。 そのflagはrow pieceのタイプをマークした。そのflag位置は一つのバイトを占めて、違ったbit位置が違った意味を意味している。以下の通り:     ROW_CLUSTER_KEY = 0x80; KDRHFK ROW_CTABLE_NUMBER = 0x40; KDRHFC ROW_HEAD_PIECE = 0x20; KDRHFH ROW_DELETED_ROW = 0x10; KDRHFD ROW_FIRST_PIECE = 0x08; KDRHFF ROW_LAST_PIECE = 0x04; KDRHFL ROW_FROM_PREVIOUS = 0x02; KDRHFP ROW_CONTINUE_NEXT = 0x01; KDRHFN 一般的に、もっとも普通なrow…

  • V$SQLCOMMAND SQL opcodes and names

    SQL> select command_type,command_name from V$SQLCOMMAND; COMMAND_TYPE COMMAND_NAME ———— ———————————————————- 0 1 CREATE TABLE 2 INSERT 3 SELECT 4 CREATE CLUSTER 5 ALTER CLUSTER 6 UPDATE 7 DELETE 8 DROP CLUSTER 9 CREATE INDEX 10 DROP INDEX 11 ALTER INDEX 12 DROP TABLE 13 CREATE SEQUENCE 14 ALTER SEQUENCE 15 ALTER TABLE 16 DROP SEQUENCE 17…

  • Introduction to ORA-600/ORA-7445 Internal Error Analysis

    APPLIES TO: Oracle Database – Enterprise Edition – Version 8.1.7.4 and later Information in this document applies to any platform. ***Checked for relevance on 30-Sep-2014*** PURPOSE The purpose of this troubleshooting article is to provide an insight into key areas of internal 600/7445 trace files to assist in deriving to a known bug or to…

  • ORACLE SQL优化器HINT介绍

    在适当的时候使用提示HINT 为以下项指定提示HINT: 优化程序模式 查询转换 访问路径 联接顺序 联接方法   优化程序提示HINT:概览 优化程序提示HINT: 影响优化程序的决定 示例: SELECT /*+ INDEX(e empfirstname_idx) skewed col */ * FROM employees e WHERE first_name=’David’ 不到万不得已,不要使用提示HINT。 使用提示HINT时,同时添加有关该提示HINT的注释是一个好习惯。   通过提示HINT,您可以左右优化程序所做的决定。提示HINT提供了一种机制,用以指示优化程序基于特定标准选择特定查询执行计划。 例如,您可能知道某个索引对于特定查询更具可选性。基于此信息,您可能能够选择一个比优化程序推荐的计划更高效的执行计划。在这种情况下,应使用提示HINT强制优化程序使用最佳执行计划。幻灯片示例展示了这种情况,在示例中强制优化程序使用 EMPFIRSTNAME_IDX 索引检索数据。正如您所看到的,您可以在 SQL 语句中使用注释将指令传递给优化程序。 加号 (+) 会使系统将注释解释为提示HINT列表。加号必须紧跟在注释分隔符之后,不留空格。 应少用提示HINT,仅在收集了相关表的统计信息,并使用 EXPLAIN PLAN 语句评估了没有提示HINT的优化程序计划后使用。在后续版本中,变化的数据库条件以及查询性能增强对代码中的提示HINT如何影响性能产生了重要影响。 另外,使用提示HINT还涉及必须进行管理、检查和控制的额外代码。   提示HINT类型 单表提示HINT 指定用于一个表或一个视图 多表提示HINT 指定用于多个表或视图 查询块提示HINT 作用于单个查询块 语句提示HINT 应用于整个 SQL 语句  …

  • 如何验证SQL PROFILE的性能?

    如何检验sql profile的性能 10g以后的sql tuning advisor(可以通过Enterprise Manager或DBMS_SQLTUNE包访问)会给出对于SQL的建议包括以下四种: 1. 收集最新的统计信息 2. 彻底重构该SQL语句 3. 创建推荐的索引 4. 启用SQL TUNING ADVISOR找到的SQL PROFILE 这里我们要注意的是在production环境中显然不可能让我们在没有充分测试的前提下随意为SQL接受一个PROFILE,因为这可能为本来就性能糟糕而需要调优的系统引来变化。 但是如果恰巧没有合适的TEST环境,而你的SQL PROFILE又可能是性能压力的救命稻草时,我们可以使用以下方法在production环境中局部测试SQL PROFILE,仅在session级别生效:     Oracle Database 12c Enterprise Edition Release 12.1.0.0.2 – 64bit Beta With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> create table profile_test tablespace users as select * from dba_objects;…

  • 那些在11gR2中可能惹祸的新特性,一张列表帮助你摆脱升级11gR2带来的烦恼

    有很多朋友因为11gR2那些潜在的特性可能给升级后系统稳定运行带来麻烦而无法鼓足升级到11gR2的勇气,实际Oracle在开发新版本RDBMS软件时引入的一些特性有很好的理念的,但是往往这些理念会给已稳定的应用环境带来变数,最显著的就是10g/9i升级到11gR2时的执行计划稳定性,此外adaptive cursor sharing 自适应游标、automatic serial direct path自动判断串行直接路径读、deferred segment creation、GC read mostly DRM…….等等的一系列特性已经在大量的案例中被证明是不适合于大量国产Application的。   我在这篇文章里想做的是给出一张列表,能够将11gR2的优化器optimizer特性、和其他的如上列的这些可能引起问题的特性通过参数的方式给出一张列表,你可以选择性的禁用这些特性,前提是你的Applicaiton就该特性经过充分的测试,如果没有时间或者环境来测试这些新特性,那么还不如禁用这些特性,禁用新特性的结果也仅仅是回到老版本(一般是10gR2 10.2.0.4)的默认表现上来。   你肯定要问:” 如果都禁用了11gR2的特性,那么我还升级做什么?”   回答是: 首先这里给出的是一张禁用11gR2特性列表,如果你对部分特性已经很熟悉,那么你可以选择性而非全部地禁用这些特性,如果不熟悉也测试不了,那么无畏给稳定的系统引入不确定因素。其次这里列出的仅仅是11gR2部分默认已启用的可能”惹祸”的特性, 其他的一些特性例如flashback archive、securefile,它们默认不开启,本身需要你去手动打开才会生效,并不会受到这张列表的影响。   注意,为了避免滥用,我仅列出这张列表的部分内容,如果你确实需要该列表,那么请去T.askmac.cn论坛下载,下载地址传送:       REM ===============================FOR STABLE OPTIMIZER=================================== alter system set “_enable_automatic_sqltune”=false scope=both; Automatic SQL Tuning Advisory enabled parameter #以下优化器参数均可以在session/system级别设置,一般优化器参数均可以在线修改 alter session set “_serial_direct_read”=false; alter session set “_nlj_batching_enabled” = 0; alter…

  • 补丁11.2.0.3中修复的bug列表

    补丁11.2.0.3中修复的bug列表     11.2.0.3 Bug Fixes by Category   Advanced Networking Option Advanced Networking Option 9215461 TDE wallet master rekey fails with ORA-28362 or creation of encrypted tablespace fails with ORA-28374 Undocumented Advanced Networking Option 8866524 9056628 9249366 10395645   JDBC JDBC 3742224 ORA-1017 reported instead of ORA-1031 when trying to connect via JDBC thin…

  • Exadata:Smart Scan(一)

    Smart Scan是Exadata的主要特性之一,该特性主要依赖于于Exadata Storage Software:     [oracle@database ~]$ sqlplus maclean/maclean SQL*Plus: Release 11.2.0.2.0 Production on Sat Aug 18 22:46:39 2012 Copyright (c) 1982, 2010, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 – Production With the Partitioning, OLAP, Data Mining and Real Application Testing options select a.name,b.value/1024/1024 MB from v$sysstat…

  • 12c分页查询特性FETCH FIRST ROWS,OFFSET ROWS FETCH NEXT ROW LIMIT Clause子句

    Database 12c的FETCH FIRST ROWS特性可以简化老版本中ROW_NUM()或ROWNUM的分页排序写法, 大幅节约开发花在分页查询语句上的时间。 row-limiting子句用以限制某个查询返回的行数 可以通过FETCH FIRST/NEXT关键字指定返回结果的行数 可以通过PERCENT关键字指定返回结果的行数比例 可以通过OFFSET关键字指定返回从结果集中的某一行之后行数 12c row-limiting子句对于排序数据限制返回行今后会广泛使用(MySQL上早就有的特性,MySQL开发该特性可能是特别考虑到对于网站分页查询的简化),也可以被称作Top-N查询。     示意图:   我们这里来对比老的ROWNUM写法等价的FETCH ROWS写法的实际性能对比: create table larget tablespace users as select rownum t1, rpad(‘M’,99,’A’) t2, rpad(‘M’,99,’A’) t3, rpad(‘M’,99,’A’) t4 from dual connect by level<=99999; SQL> create index pk_ind on larget(t1) tablespace users; Index created. select llv.* from ( select rownum rn, ll.*…