DOP degree of parallelism的设计算法 ​​​​

直击oracle内核代码算法,对于11g以后的自动Parallelism算法一般只能用10053 trace来研究其算法。这里通过直接查看oracle源码设计文档,我们可以得到DOP degree of parallelism的设计算法

 

8358fa4fgy1fcr7ivo81lj20zq0kijwk

12CR2 vs 11gR2 新增optimizer 参数列表

_optimizer_adaptive_plan_control 0
_optimizer_adaptive_plans_continuous FALSE
_optimizer_adaptive_plans_iterative FALSE
_optimizer_adaptive_random_seed 0
_optimizer_ads_for_pq FALSE
_optimizer_ads_result_cache_life 3600
_optimizer_ads_spd_cache_owner_limit 64
_optimizer_ads_use_partial_results TRUE
_optimizer_ads_use_spd_cache TRUE
_optimizer_aggr_groupby_elim TRUE
_optimizer_ansi_join_lateral_enhance TRUE
_optimizer_ansi_rearchitecture TRUE
_optimizer_band_join_aware TRUE
_optimizer_batch_table_access_by_rowid TRUE
_optimizer_bushy_cost_factor 100
_optimizer_bushy_fact_dim_ratio 20
_optimizer_bushy_fact_min_size 100000
_optimizer_bushy_join off
_optimizer_cbqt_or_expansion ON
_optimizer_cluster_by_rowid TRUE
_optimizer_cluster_by_rowid_batch_size 100
_optimizer_cluster_by_rowid_batched TRUE
_optimizer_cluster_by_rowid_control 129
_optimizer_control_shard_qry_processing 65534
_optimizer_cube_join_enabled TRUE
_optimizer_db_blocks_buffers 0
_optimizer_dsdir_usage_control 0
_optimizer_eliminate_subquery TRUE
_optimizer_enable_plsql_stats TRUE
_optimizer_enhanced_join_elimination TRUE
_optimizer_gather_feedback TRUE
_optimizer_gather_stats_on_load TRUE
_optimizer_generate_ptf_implied_preds TRUE
_optimizer_generate_transitive_pred TRUE
_optimizer_hll_entry 4096
_optimizer_hybrid_fpwj_enabled TRUE
_optimizer_inmemory_access_path TRUE
_optimizer_inmemory_autodop TRUE
_optimizer_inmemory_bloom_filter TRUE
_optimizer_inmemory_capture_stored_stats TRUE
_optimizer_inmemory_cluster_aware_dop TRUE
_optimizer_inmemory_gen_pushable_preds TRUE
_optimizer_inmemory_minmax_pruning TRUE
_optimizer_inmemory_pruning_ratio_rows 100
_optimizer_inmemory_quotient 0
_optimizer_inmemory_table_expansion TRUE
_optimizer_inmemory_use_stored_stats AUTO
_optimizer_interleave_or_expansion TRUE
_optimizer_key_vector_aggr_factor 75
_optimizer_key_vector_pruning_enabled TRUE
_optimizer_multi_table_outerjoin TRUE
_optimizer_multicol_join_elimination TRUE
_optimizer_nlj_hj_adaptive_join TRUE
_optimizer_null_accepting_semijoin TRUE
_optimizer_partial_join_eval TRUE
_optimizer_performance_feedback OFF
_optimizer_proc_rate_level BASIC
_optimizer_proc_rate_source DEFAULT
_optimizer_reduce_groupby_key TRUE
_optimizer_strans_adaptive_pruning TRUE
_optimizer_synopsis_min_size 2
_optimizer_undo_cost_change 12.2.0.1
_optimizer_union_all_gsets TRUE
_optimizer_unnest_scalar_sq TRUE
_optimizer_use_feedback_for_join FALSE
_optimizer_use_gtt_session_stats TRUE
_optimizer_use_histograms TRUE
_optimizer_use_table_scanrate HADOOP_ONLY
_optimizer_use_xt_rowid TRUE
_optimizer_vector_base_dim_fact_factor 200
_optimizer_vector_cost_adj 100
_optimizer_vector_fact_dim_ratio 10
_optimizer_vector_min_fact_rows 10000000
_optimizer_vector_transformation TRUE
optimizer_adaptive_plans TRUE
optimizer_adaptive_reporting_only FALSE
optimizer_adaptive_statistics FALSE
optimizer_features_enable 12.2.0.1
optimizer_inmemory_aware TRUE

金蝶EAS HR系统后台Oracle备份恢复维护方案

很多金蝶EAS或HR系统的后台 ORACLE 数据库都处于无备份且未打开归档的状态,由于一般企业对于EAS或HR系统的后台数据库没有专职的DBA维护,所以实际也不推荐真的开归档并基于归档做备份维护,因为这样做会多一点维护的工作量(如果你是大企业 那么理应打开归档并维护归档以满足自身的备份恢复要求,例如大企业要求数据能回溯到一个月前,那么有归档才是合适的。)

对于中小企业使用金蝶EAS或HR系统而言,视乎系统后台ORACLE数据库的大小和可容忍的数据丢失时间,可以自主选择逻辑备份周期。这里说的逻辑备份主要是指ORACLE自带的EXPDP 数据泵导出工具,一般来说目前的金蝶EAS/HR用户的后台ORACLE数据库都是大于版本9i的版本(例如10g和11g等),则都可以选择使用EXPDP,其好处是逻辑导出备份要比传统export/import工具的exp速度上要快很多,且其导出格式也比exp周全。

 

一般来说中小企业大多可以容忍一天到半天的数据丢失,这部分的数据丢失一般可以基于财务或人力部分的同事通过手工补录来弥补,则对于这种场景下可以规划每12小时或24小时做一次逻辑备份:注意逻辑备份的频率就决定了数据丢失的量,因为逻辑备份是就是一次对数据的全量备份,每一次逻辑备份都是对现有数据的全量备份;所以周一中午12点备份的数据,在周二上午12点备份前的周一下午6点发生了数据库损坏/毁灭等问题,则周一中午到下午6点间产生的数据将可能丢失。

 

对于逻辑备份而言,其实维护的命令很简单:

expdp   DIRECTORY=(备份存放的目录,需要在ORACLE内以CREATE DIRECTORY创建)    dumpfile=(备份的文件名,会放在DIRECTORY下)  schemas=(EAS或HR所在的Schema)   logfile=(日志的文件名,会放在DIRECTORY下) parallel=2

例如 备份的目录叫DMP,EAS或HR所在schema伟EAS1和SHR1 则

expdp   DIRECTORY=DMP dumpfile=kingdee_20170315.dmp schemas=eas1,shr1 logfile=exp_20170315.log  parallel=2

 

对于Windows可以使用计划任务,对于Unix/Linux可以使用crontab自动调度以上备份脚本;另脚本内一般要考虑删除多久之前的备份文件。

此外要考虑  逻辑备份一般都是备份在数据库所在服务器,若服务器出现主机故障则恢复将较为麻烦,因此一般会考虑则EXPDP逻辑备份后FTP或COPY到其他远程服务器的磁盘上,以便冗余备份。

例如在 Linux下 定期备份并传到到FTP服务器上:

 

#!/bin/sh 
ORACLE_HOME=/home/app/oracle/product/11.2.0/dbhome_1 
export ORACLE_HOME 
export PATH=$ORACLE_HOME/bin:$PATH 
ORACLE_SID=orcl; export ORACLE_SID 
HOST='IP地址' 
USER='ftpuser' 
PASSWD='password' 
expdp eas/SHITANRUANJIAN DIRECTORY=backdir DUMPFILE=eas-$(date +%Y%m%d%H) VERSION=10.2 LOGFILE=easLOG-$(date +%Y%m%d%H).log 
zip -r /home/app/oracle/admin/orcl/dpdump/eas-$(date +%Y%m%d%H).zip /home/app/oracle/admin/orcl/dpdump/eas-$(date +%Y%m%d%H).dmp 
cat /home/app/oracle/admin/orcl/dpdump/easLOG-$(date +%Y%m%d%H).log | mutt -s "eas Backup" eas@tiger.com 
cd /home/app/oracle/admin/orcl/dpdump 
ftp -n -v $HOST << EOT 
binary 
user $USER $PASSWD 
prompt 
put eas-$(date +%Y%m%d%H).zip 
bye 
EOT 
find /home/app/oracle/admin/orcl/dpdump -name "eas*" -mtime +10 -type f -exec rm {} ;


如上脚本首先备份EAS用户并FTP到备份服务器上,最后删除10天前的备份。

 

如上描述了对金蝶EAS的备份方案,之后谈一下恢复方案;使用EXPDP的备份方案后,若出现大规模的数据库问题 例如ORACLE数据库打不开或出现大量坏块或ORACLE
所在服务器出现故障无法启动。则可以在必要的可用服务器上安装与之前ORACLE版本一样的ORACLE数据库软件,之后使用DBCA工具创建新的数据库,最后
使用IMPDP工具将之前的备份导入数据库中。

 

导入命令也十分简单:

 

impdp DIRECTORY=(备份所存放的目录,需要在ORACLE内以CREATE DIRECTORY创建)    dumpfile=(备份的文件名)  logfile=(日志的文件名,会放在DIRECTORY下) parallel=2 full=y

 

其他的一些恢复场景下的恢复方案:

由于 EAS/HR 运行在 NOARCHIVELOG 模式下,针对不同的故障场景下可以采取以下恢复策略:

1. SPFILE 初始化参数文件物理损坏:

从 PFILE 中重新生成一个 SPFILE
CREATE SPFILE=’’ FROM PFILE=’’
或者从备份中恢复
RESTORE SPFILE TO PFILE=’’;
RESTORE SPFILE;
RESTORE SPFILE FROM AUTOBACKUP;

2. Control File 文件部分物理损坏:

关闭数据库,将其它完整的控制文件复制到已损坏的控制文件,重启数据库

3. Control File 文件全部物理损坏 在数据库关闭时或者出于 mounted 时,即数据库处于一致性状态时 control file 全部物 理损坏,则执行 create controlfile 命令重新创建控制文件,如果处于非一致性状态时 损坏,则通过最新的物理备份全库恢复,然后追加备份发生时到故障点之间的数据。

4. 非 CURRENT 在线日志文件物理损坏 执行 alter database clear logfile 语句重新创建该损坏的非 CURRENT 在线日志文件

5. CURRENT 在线日志文件物理损坏

SQL> startup mount

SQL> recover database until cancel; #(cancel immediately)

SQL> alter database open resetlogs;

 

6. SYSTEM,SYSAUX,UNDO 表空间物理文件物理损坏 :

通过最新的逻辑备份全库恢复

 

7. TEMP 表空将物理文件物理损坏

执行"alter database”重新创建 temp 物理文件
8. 用户数据表空间物理文件物理损坏

通过最新的逻辑备份全库恢复
9. 用户索引表空间物理文件物理损坏

重新创建用户索引表空间,然后 rebuilt 相应的索引
10. 物理快损坏

如果该损坏块为用户索引,则 rebuilt 相应的索引

如果该损坏块为用户表,则通过设置 event 将没有损坏的数据正常读出来(损坏块中的数据库会丢失)或者通过关键表的逻辑备份恢复
如果该损坏块为系统数据,通过最新的逻辑备份全库恢复
11. 用户表数据不正常更新(INSERT、UPDATE、DELETE)
可以通过关键表的逻辑备份恢复,或者相应的 flashback 技术恢复
12. 用户表不正常删除(drop)
可以通过关键表的逻辑备份恢复,或者 flashback drop 技术恢复

 

如果上述方案还不能搞定你的EAS/HR后台ORACLE数据库的问题那么也可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638   QQ号:47079569    邮箱:service@parnassusdata.com

 

 

 

 

诗檀学院 11g ocp 051 052 053 全套题库中英文对照详解下载

【诗檀学院】Oracle 11g OCP-051考试题库中英文对照详解

【诗檀学院】Oracle 11g OCP-052考试题库中英文对照详解

【诗檀学院】Oracle 11g OCP-053考试题库中英文对照详解

prm-dul data unloader tool manual user guide 0.4

prm-dul data unloader tool manual user guide 0.4

 

https://zcdn.askmaclean.com/prm-dul%20data%20unloader%20tool%20manual%20user%20guide%200.4.pdf

【诗檀学院】11g OCP 考试题库分析

【诗檀学院 Oracle OCP认证专题】Oracle 11g OCP 考题讲解051  http://t.askmaclean.com/thread-4946-1-1.html

【诗檀学院 Oracle OCP认证专题】Oracle 11g OCP 考题讲解 http://t.askmaclean.com/thread-4909-1-1.html

【诗檀学院 Oracle OCP认证专题】Oracle 11g OCP 考题讲解052 http://t.askmaclean.com/thread-4944-1-1.html

 

ORACLE DB数据库应急预案

ORACLE DB数据库应急预案

https://zcdn.askmaclean.com/ORACLE%20DB%E6%95%B0%E6%8D%AE%E5%BA%93%E5%BA%94%E6%80%A5%E9%A2%84%E6%A1%88.pdf

PRM-DUL Oracle数据库恢复工具 – prm-dul recover oracle database wiki home

PRM-DUL 数据库拯救恢复工具

 

总有这种情况发生:Oracle数据库或文件系统突然发生了故障了,亦或者突然大量数据被误删除了。根据墨菲定律来说它总会发生。在大多数的标准恢复case里流程是通过标准的RMAN恢复来解决问题的。

在少数恢复场景中常规恢复可能会失败,这时候可能只剩下已经被破坏的数据残片。大多数人还没有意识到他们的数据库或文件系统其实已经千疮百孔了,他们变得无法被有效访问,但绝大部分数据其实没有被损坏。

DUL 就是这样一种工具能够有效从最小的数据碎片中提取出所有的数据。在oracle数据库中最小的数据存储单元是block数据块,prm-dul恰巧能处理最小的数据块。
prm-dul可以针对损坏/坏块的文件系统、ASM磁盘组diskgroup、或不完整的datafiles数据文件,prm-dul会尽可能使用oracle数据字典dictionary(即便这个数据字典不是最新的,而是基于备份的都可以被使用)。prm-dul支持绝大多数oracle特性。

 

 

下载prm-dul 可执行文件和文档

 

prm-dul 4108下载地址: http://zcdn.parnassusdata.com/DUL5108.zip
prm-dul 公开文档中文: https://www.askmaclean.com/archives/oracle-prm-dul-manual-cn.html
prm-dul 公开文档英文: https://www.askmaclean.com/archives/oracle-prm-dul-user-guide-v0-3.html
需要帮助或问题?

不知道恢复流程?问题?下面的渠道可以提供帮助:

prm-dul的官方支持邮箱 service@parnassusdata.com
prm-dul 的支持电话: +86 13764045638

 

 

PRM-DUL Oracle数据库恢复工具(简称PRM-DUL)是一款专为Oracle数据救援而研发的企业级工具。
从1.0版本发布到现在,已经历了多次功能增强、补丁修正和恢复逻辑改进。

  1. PRM-DUL Oracle数据库恢复工具已在多个操作平台(AIX/HPUX/SOLARIS/Linux/Windows)被证明稳定可用。当前版本软件支持对Oracle 9i/10g/11g/12c各版本数据库的数据救援工作。
  2. 软件基于JAVA 开发,绿色无需安装,下载解压后便可直接使用。(Windows上直接点击prm.bat,在Linux/Unix上运行./prm.sh)** 注意JAVA版本推荐在1.6版本以上。如果需对裸设备文件进行数据救援,请安装并使用JAVA openjdk版本,除此之外,使用官方JAVA版本既可。
  3. 图形化操作界面,易于上手使用。使用者无需额外学习一套命令,或者了解ORACLE 的底层数据结构原理即可以通过恢复向导(Recovery Wizard)来恢复数据库中的数据。
  4. 软件支持对单个数据文件的数据扫描和抽取,同时也支持对Oracle ASM存储数据恢复。
  5. 其导出的数据既可导出为sqlldr导入数据文件,也可通过PRM-DUL的Data Bridge功能直接导出并插入到指定新库中,实现不落地恢复。

4.0新版本增强功能:

 

  1. 对使用DELETE SQL命令误删除的数据的救援恢复支持
  2. 对在字典模式下LOB数据Data Bridge功能增强,大幅度改善导出性能
  3. 增加在非字典模式下LOB数据的Data Bridge支持。
  4. 增加对字典模式/非字典模式数据加载信息的重用支持
  5. 增加Schema级的DDL导出支持(包含相表,索引,视图建立语句信息)

 

 

PRM-DUL Oracle数据库恢复工具软件主要功能:

  • 可以在不需要运行Oracle数据库的情况下直接针对数据库文件或进行数据解析。
  • 支持ASM,可直接读取ASM磁盘并对其中数据文件以及文件中的数据进行扫描解析。
  • 支持裸设备数据文件读取。
  • 支持LOB字段(CLOB, NCLOB和BLOB)恢复,并支持同一个表中,不同LOB列使用不同CHUNK SIZE的情况
  • 支持多种Big Endian/Little Endian操作平台(AIX/HPUX/SOLARIS/Linux/Windows)数据库数据恢复
  • 支持分区、子分区数据恢复
  • 支持各种表,包括普通的HEAP表和聚簇(CLUSTER)表数据恢复
  • 支持表被truncate后的数据恢复
  • 支持表被drop后的数据恢复
  • 支持在没有SYSTEM表空间和数据字典损坏的情况下的非字典模式数据恢复,并能为判断数据类型提供辅助依据
  • 支持10g及以上的大文件(BigFile)表空间
  • 支持同一个库中不同块大小的数据文件
  • 以纯文本导出时,能够自动生成建表的SQL语句和SQL*Loader导入所需的control文件

在企业日益增长的 IT 系统中,数据容量正以几何级数扩展。即便DBA们已了解备份的重要性,仍然会受困于备份存储空间不足,备份失效或不可用,物理存储灾难损坏等各种问题。因此了解并熟悉一种物理数据恢复工具使用是很有必要的。
如果你的Oracle数据库由于意外宕机、物理存储损坏而无法再次启动和恢复,而您又受困于备份过旧、无法使用。那么你就可以考虑尝试使用PRM-DUL来进行紧急救援处理了。
Oracle的损坏/坏块,其表现形式及报错多种多样:
有块讹误/坏块,索引讹误/坏块,行讹误/坏块,UNDO讹误/坏块,控制文件损坏,一致性读问题,数据字典损坏,数据文件/RDBA/BL问题等,如果你碰到ORA-1578 / ORA-8103 / ORA-1410 / ORA-1499 / ORA-1578 / ORA-81## / ORA-14## / ORA-26040 / ORA-600等报错而无力修复时(当然,数据损坏问题不限于此,这里我们仅列举了部分),你就可以考虑尝试使用PRM-DUL作为你的数据救援手段之一了。
PRM-DUL Oracle数据库恢复工具软件分社区版和企业版两种:
社区版 – Oracle数据库用户随时可以从www.parnassusdata.com官方免费下载到最新版的PRM-DUL Oracle数据库数据恢复软件,在未购买License的情况下, 软件是作为社区版免费使用的,社区版允许每张表最多1万行的数据救援导出,因此数据库小的用户可以免费使用此软件。
企业版 – 如果您需要数据修复的数据库表行数超出1万行,那么可以到官网考虑购买企业版License,在获取License后直接用于软件的注册。你的软件既可从社区版升级为企业版了,企业版无行数限制,且一并全部开放所有其它增强功能。
————————-
如果在使用软件过程中需要更多服务保障或问题咨询,可访问官方站http://www.parnassusdata.com/ 并拨打热线电话或邮件诗檀软件服务人员即可获取更多帮助。

Oracle 11g OCM考试考点分析 物化视图和分区表

本文永久链接地址:https://www.askmaclean.com/archives/oracle-11g-ocm-materializedview.html

 

1.物化视图

物化视图是在一个时间点的目标master的一个副本。这个master可以是表,一个主站点,物化视图站点上的一个主物化视图。物化视图通过刷新的方式,在多个master之间进行更新:

11

为什么要使用物化视图

1.减轻网络负载

可以使用物化是来分发数据到不同的站点,来减轻网络负载。而不是整个公司访问一个数据库服务器,用户负载分布在多个数据库服务器。为了减少复制的数据量,一个物化视图可以是一个主表或主物化视图的子集。

物化视图不需要专门的网络,只需要定期的刷新物化视图,复制目标的数据让本地访问。结合大规模的部署环境和数据子集(减少带宽),可以大大提高你的复制数据库的可靠性和性能。(dbdao.com oracle 11g OCM培训)

[Read more…]

诗檀IT学院 – Oracle认证 考试申请及认证获取流程 v1.2_cn

诗檀IT学院 – Oracle认证 考试申请及认证获取流程 v1.2_cn

https://zcdn.askmaclean.com/%E8%AF%97%E6%AA%80IT%E5%AD%A6%E9%99%A2%20-%20Oracle%E8%AE%A4%E8%AF%81%20%E8%80%83%E8%AF%95%E7%94%B3%E8%AF%B7%E5%8F%8A%E8%AE%A4%E8%AF%81%E8%8E%B7%E5%8F%96%E6%B5%81%E7%A8%8B%20v1.2_cn.pdf

沪ICP备14014813号

沪公网安备 31010802001379号