Quantcast
Channel: MogDB Life
Viewing all 353 articles
Browse latest View live

Oracle 18c 19c 安装的 DBT-50000 错误解决

$
0
0

作者:eygle 发布在 eygle.com

自 Oracle 18.3 开始,增加了一系列 DBT 错误,在安装数据库的时候就可能遇到。

当然我的操作系统版本略低,CentOS 6.8 :

[root@sdb2 ~]# uname -a

Linux sdb2 2.6.32-642.6.2.el6.x86_64 #1 SMP Wed Oct 26 06:52:09 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

[root@sdb2 ~]# cat /etc/redhat-release

CentOS release 6.8 (Final)

以下是 dbca 和 rpm 安装都可以遇到的错误之一(在 18c 和 19c 中都可能遇到):

DBT-50000.png

[FATAL] [DBT-50000] Unable to check for available memory.

[FATAL] [DBT-50001] Unable to check the value of kernel parameter {0}

解决这个问题的一个方法是,在安装配置脚本中,去掉安装检查:

-J-Doracle.assistants.dbca.validate.ConfigurationParams=false

这个参数可以在 dbca 时加入,也可以修改:/etc/init.d/oracledb_ORCLCDB-18c 文件,在 dbca 静默安装处增加进去:

$SU -s /bin/bash $ORACLE_OWNER -c "$DBCA -silent -createDatabase -gdbName $ORACLE_SID -templateName $TEMPLATE_NAME -characterSet $CHARSET -createAsContainerDatabase $CREATE_AS_CDB -numberOfPDBs $NUMBER_OF_PDBS -pdbName $PDB_NAME -J-Doracle.assistants.dbca.validate.ConfigurationParams=false -createListener $LISTENER_NAME:$LISTENER_PORT -datafileDestination $ORACLE_DATA_LOCATION -sid $ORACLE_SID -autoGeneratePasswords -emConfiguration DBEXPRESS -emExpressPort $EM_EXPRESS_PORT"

然后就可以顺利通过安装了。

[root@sdb ~]# /etc/init.d/oracledb_ORCLCDB-19c configure
Configuring Oracle Database ORCLCDB.
Prepare for db operation
8% complete
Copying database files
31% complete
Creating and starting Oracle instance
32% complete
36% complete
40% complete
43% complete
46% complete
Completing Database Creation
51% complete
54% complete
Creating Pluggable Databases
58% complete
77% complete
Executing Post Configuration Actions
100% complete
Database creation complete. For details check the logfiles at:
/opt/oracle/cfgtoollogs/dbca/ORCLCDB.
Database Information:
Global Database Name:ORCLCDB
System Identifier(SID):ORCLCDB
Look at the log file "/opt/oracle/cfgtoollogs/dbca/ORCLCDB/ORCLCDB.log" for further details.

Database configuration completed successfully. The passwords were auto generated, you must change them by connecting to the database using 'sqlplus / as sysdba' as the oracle user.

记录一下。

相关文章|Related Articles


Oracle 12c :ASM 存储单盘限制从2TB到4PB的改变

$
0
0

作者:eygle 发布在 eygle.com

在 Oracle 12c之前,ASM 单盘有一个 2T 的限制,当创建磁盘组单盘超过 2T 时,将会遇到诸如 ORA-15018, ORA-15099 的错误:

ORA-15018: diskgroup cannot be created

ORA-15099: disk '/dev/mapper/ORA_data1p1' is larger than maximum size of 2097152 MBs

MOS 文档 1077784.1 明确说明了这个限制,在Oracle 10g 和 Oracle 11g中,这个问题都是硬限制。

那么到了Oracle 12c 中,这个限制已经被去除,单盘最大限制是 4PB 起。

查了一下文档,转引一下,帮助大家一起更新知识:

Oracle ASM Storage Limits

Oracle ASM provides near unlimited capacity for future growth, but does have some storage limits.

Oracle ASM has the following limits on the number of disk groups, disks, and files:

  • 511 disk groups in a storage system for Oracle Database 12c Release 1 or later

  • 10,000 Oracle ASM disks in a disk group

  • 65530 Oracle ASM disks in a storage system

  • 1 million files for each disk group

Without any Oracle Exadata Storage, Oracle ASM has the following storage limits if the COMPATIBLE.ASM or COMPATIBLE.RDBMS disk group attribute is set to less than 12.1:

  • 2 terabytes (TB) maximum storage for each Oracle ASM disk

  • 20 petabytes (PB) maximum for the storage system

Without any Oracle Exadata Storage, Oracle ASM has the following storage limits if the COMPATIBLE.ASM and COMPATIBLE.RDBMS disk group attributes are set to 12.1 or greater:

  • 4 PB maximum storage for each Oracle ASM disk with the allocation unit (AU) size equal to 1 MB

  • 8 PB maximum storage for each Oracle ASM disk with the AU size equal to 2 MB

  • 16 PB maximum storage for each Oracle ASM disk with the AU size equal to 4 MB

  • 32 PB maximum storage for each Oracle ASM disk with the AU size equal to 8 MB

  • 320 exabytes (EB) maximum for the storage system

With all Oracle Exadata Storage, Oracle ASM has the following storage limits:

  • 4 PB maximum storage for each Oracle ASM disk with the AU size equal to 1 MB

  • 8 PB maximum storage for each Oracle ASM disk with the AU size equal to 2 MB

  • 16 PB maximum storage for each Oracle ASM disk with the AU size equal to 4 MB

  • 32 PB maximum storage for each Oracle ASM disk with the AU size equal to 8 MB

  • 320 EB maximum for the storage system

The maximum size limit of a disk group equals the maximum disk size multiplied by the maximum number of disks in a disk group (10,000).

The maximum number of disks across all disk groups is 10,000. The 10,000 disks can be in one disk group or distributed across a maximum of 511 disk groups. This is a limitation on the number of Oracle ASM disks, not necessarily the number of spindles. A storage array could group multiple spindles into a LUN that is used as a single Oracle ASM disk.

File size limits are dependent on the value of the disk group compatibility attributes. Oracle ASM supports file sizes greater than 128 TB in any redundancy mode when the COMPATIBLE.RDBMS disk group attribute is set greater than 10.1.

If COMPATIBLE.RDBMS is set to 10.1, the file size limits are less. For example, with COMPATIBLE.RDBMS equal to 10.1 and the AU size equal to 1 MB, Oracle ASM file size limits are:

  • External redundancy: 16 TB

  • Normal redundancy: 5.8 TB

  • High redundancy: 3.9 TB

Note:

Oracle Database supports data file sizes up to 128 TB depending on the file system. In addition, Oracle Database has a file size limit that is dependent on the DB_BLOCK_SIZE initialization parameter.

相关文章|Related Articles

2018 ACOUG年会:从BigData到Cloud,Oracle的云上变革

$
0
0

作者:eygle 发布在 eygle.com

2018年12月22日,是又一次 ACOUG 年终相聚的日子,恰逢立冬,寒风乍起,ACOUG 的专家和朋友们相聚一堂,共同探讨了这一年的感悟,分享自己的收获与心得。

按照惯例,每个嘉宾只有 10 分钟的分享时间,去掉浮华,只剩下精华。感谢 盖国强、王伟、侯圣文、杨廷琨、赵宇、韩锋、张乐奕、李轶楠等一众老朋友的相聚分享。

我的主题关键字是:Cloud 。这是Oracle目前唯一的目标,持续坚定的向云上进军。

mmexport1545484624651.jpg

杨廷琨 的关键字是:入微。即使在繁华浮躁的时代,也应该潜心琢磨,以工匠精神打造自己的知识底蕴,十载功成。

IMG_20181222_142817R_mh1545476866610.jpg

这是我的分享标题:Cloud - Oracle 唯一的目标。

IMG_20181222_161917R_mh1545476722882.jpg

赵宇,是ITPUB的老朋友,也是从 开发->DBA->管理者 不断转型的优秀代表,我请他分享一个主题,希望给大家职业发展上带来一些新的视野和思路。

IMG_20181222_160827R.jpg

王伟老师的主题关键字是:DA。他在京东践行了自动化和智能化运维体系,将 DBA 的工作量极大的缩减,他认为未来,只有向更高层次发展,DBA 才能绝地求生。数据科学、机器学习,要把更多的菜装到自己的篮子里。王老师用发型诠释了什么是努力付出。

IMG_20181222_153524R.jpg

韩锋老师的关键字是:敏捷大数据。他在宜信践行了敏捷大数据理念,宜信公司也将自有产品开源出来,帮助其他企业去构建全面的企业级敏捷大数据生态。从发型也可以看出韩老师多年努力的付出。

IMG_20181222_150030R_mh1545476814308.jpg

侯老师的主题词是:无私。育人、育才,无私奉献智慧和能力,恩墨学院的口碑和实力从高品质的学员输出上就可以看出,侯老师最近成为了阿里云的MVP,是他在Oracle ACE Director之外的又一收获。

mmexport1545476979419.jpg

纪念这一日,不忘这一天。

mmexport1545484607345.jpg

愿 ACOUG 常伴大家成长!

相关文章|Related Articles

从ADG到自动索引创建:Oracle Database 19c 的10大新特性

$
0
0

作者:eygle 发布在 eygle.com

在 ACOUG 年会的活动上,分享了一些从前未曾分享过的内容,想起,今年还欠下一篇文章,就整理和回顾一下,分享我所见到的Oracle 19c的一些重要改变(本文内容来自OOW大会演讲,关注本公众号回复:2018OOW 获取大会PPT

Oracle 19c 相当于 12.2.0.3 版本,是 Oracle 12c 的最终版,所以这一版本中,不会有太多的新特性,更重要的是稳定性的增强,使得用户能够更多的迁移到12c这个主流版本中。虽说如此,但是Oracle数据库的进步总是会让人感到惊喜,在此遴选了 10 个 19c 的新特性,作为圣诞节的礼物,送给坚持在技术道路上的朋友们吧

1.Data Guard 备库DML自动重定向

在使用 ADG 作为备库进行读写分离部署时,可能因为应用的原因,会有偶然的DML操作发送到备库上,在 19c 中,Oracle 支持自动重定向备库 DML,具体执行步骤为:

更新会自动重定向到主库;

主库执行更新、产生和发送Redo日志到备库;

在Redo备库应用后,ADG会话会透明的看到更新信息的落地实施;

这一特性可以通过在系统级或者会话级设置参数 ADG_REDIRECT_DML 参数启用,通过这种方式,ADG 会话的 ACID 一致性得以保持,同时透明的支持『多数读,偶尔更新』应用的自然读写分离配置。

这个特性的引入,将进一步的增加 ADG 的灵活性,帮助用户将备库应用的更加充分。

19c-7.jpg


2.Oracle Sharding 特性的多表家族支持

在Oracle Sharding特性中,被分片的表称为 Sharded table,这些sharded table的集合称为表家族(Table Family),表家族之中的表具备父-子关系,一个表家族中没有任何父表的表叫做根表(root table),每个表家族中只能有一个根表。表家族中的所有Sharded table都按照相同的sharding key(主键)来分片。

在12.2,在一个SDB中只支持一个表家族,在 19c 中,SDB 中允许存在多个表家族,每个通过不同的 Sharding Key进行分片,这是 Sharding 特性的一个重要增强,有了 Multiple Table Families 的支持,Sharding 才可能找到更多的应用场景。

19c-1.jpg


3.透明的应用连续性支持增强

在Oracle RAC集群中,支持对于查询的自动切换,当一个节点失效,转移到另外一个节点,在19c中,Oracle 持续改进和增强了连续性保持,数据库会自动记录会话状态,捕获用于重演的信息,以便在切换时,在新节点自动恢复事务,使DML事务同样可以获得连续性支持:

在事务提交后自动禁用状态捕获,因为提交成功的事务将不再需要在会话级恢复;

在事务开始时,自动重新启用状态跟踪;

19c-3.jpg

4.自动化索引创建和实施

对于关系型数据库来说,索引是使得查询加速的重要手段,而如何设计和创建有效的索引,长期以来是一项复杂的任务。

在 Oracle 19c 中,自动化索引创建和实施技术被引入进来,Oracle 通过模拟人工索引的思路,建立了内置的专家系统。

数据库内置的算法将会通过捕获、识别、验证、决策、在线验证、监控的全流程管控索引自动化的过程。

这一特性将会自动帮助用户创建有效的索引,并通过提前验证确保其性能和有效性,并且在实施之后进行监控,这一特效将极大缓解数据库索引维护工作。

自动化还将删除由新创建的索引(逻辑合并)废弃的索引,并删除自动创建但长时间未使用的索引。

19c-2.jpg

5.多实例并行重做日志应用增强

在Oracle Data Guard环境中,备库的日志应用速度一直是一个重要挑战,如果备库不能够及时跟上主库的步调,则可能影响备库的使用。

自Oracle 12.2 版本开始,支持多实例并行应用,这极大加快了恢复进度,在 18c 中,开始支持 In-Memory 列式存储,在 19c 中,并行应用开始支持 In-Memory列式存储。

19c-8.jpg

6.Oracle的混合分区表支持

在 19c 中,Oracle 增强了分区特性,可以将外部对象存储上的文件,以外部表的方式链接到分区中,形成混合分区表,借助这个特性,Oracle 将数据库内外整合打通,冷数据可以剥离到外部存储,热数据在数据库中在线存储。

这个特性借助了外部表的特性实现,以下是一个示例:

CREATE TABLE orders ( order_idnumber,

order_dateDATE, ... )

EXTERNAL PARTITION ATTRIBUTES

( TYPE oracle_loaderDEFAULTDIRECTORY data_dir

ACCESS PARAMETERS (..) REJECT LIMIT unlimited)

PARTITION BY RANGE(order_date)

( partition q1_2015 values less than('2014-10-01')

EXTERNAL LOCATION ('order_q1_2015.csv'),

partition q2_2015 values less than ('2015-01-01'),

partition q3_2015 values less than ('2015-04-01'),

partition q4_2015 values less than ('2015-07-01'));

19c-4.jpg

7.在线维护操作增强

在不同版本中,Oracle 持续增强在线维护操作,例如在 12.2 开始支持的Online Move、在线修改普通表为分区表等特性。

在19c 中,持续增强了智能的、细粒度的游标失效控制,将DDL操作对于游标失效的影响降至最低,例如,在 19c 中,comment on table的操作,将不会引起游标的失效。

针对分区维护的操作,例如Truncate分区等,Oracle 将进行细粒度的控制,和DDL操作无关的SQL将不受DDL失效影响。

19c-9.jpg

8.自动的统计信息管理

随着表数据的变化,优化器表数据统计数据将近实时刷新,以防止次优执行计划

统计的在线维护内置于直接路径加载操作中

当数据显着变化时运行自动统计信息收集作业,例如。,自上次收集统计信息以来,表中超过10%的行被添加/更改

第一个看到需要重新编译SQL游标的会话(例如,由于新的优化器统计信息)执行重新编译

其他会话继续使用旧的SQL游标,直到编译完成

避免因重新编译而导致大量会话停顿

19c-5.jpg

9.自动化的SQL执行计划管理

在 19c 中,数据库缺省的就会启用对于所有可重用SQL的执行计划捕获(当然SYS系统Schema的SQL除外),然后进行自动的执行计划评估,评估可以针对AWR中的TOP SQL、SGA、STS中的SQL进行。

如果被评估的执行计划优于当前执行计划(一般是要有效率 50%以上的提升),会被加入到执行计划基线库中,作为后续的执行选择,而不佳的执行计划则会被标记为不可接受。

有了这个特性,SQL执行计划的稳定性将更进一步。

19c-6.jpg

10.SQL功能的增强

在 19c 中,SQL 功能获得了进一步的增强,这其中包括对于 COUNT DISTINCT的进一步优化,在12c中引入的近似 Distinct 操作已经可以为特定SQL带来极大性能提升,现在基于位图的COUNT DISTINCT 操作继续为查询加速。

除此之外,LISTAGG 增加了 DISTINCT 关键字,用于对操作数据的排重。

ANY_VALUE 提供了从数据组中获得随机值的能力,如果你以前喜欢用 Max / Min 实现类似的功能,新功能将显著带来效率的提升。ANY_VALUE 函数在 MySQL 早已存在,现在应该是 Oracle 借鉴和参考了 MySQL 的函数做出的增强。

19c-10.jpg

在SQL方面,Oracle 的能力超乎想象。

新技术、新应用,日新月异,祝大家永葆一颗学习的心,不断向上,早日找到自己在技术生涯的安心之所。

近期文章

企业数据架构的云化智能重构和变革(含大会PPT)

Oracle研发总裁Thomas Kurian加盟Google Cloud

变与不变: Undo构造一致性读的例外情况

Oracle 18c新特性:动态 Container Map 增强

Oracle 18c新特性:Schema-Only 帐号提升安全性

Oracle 18c新特性:多租户舰队 CDB Fleet (含PPT)

为什么看了那么多灾难,还是过不好备份这一关?

相关文章|Related Articles

Oracle 11g于2019年1月1日结束支持-进入付费扩展支持期

$
0
0

作者:eygle 发布在 eygle.com

Oracle 官方产品支持周期已经做出提示,Oracle 数据库的 11g版本,将于2019年1月1日进入扩展服务付费支持期

扩展服务支持简单来说就是必须要额外付费才能获得支持,原本2015年开始Oracle 11g就进入了扩展服务支持期,Oracle豁免了服务费,但是自2019年1月1日起,正是进入需要额外付费的扩展支持期了。

如下图所示,第一行最后深红色部分,就是需要付费的扩展服务阶段,必须要和Oracle签订扩展服务支持合同才能够继续获得11g的后续支持。考虑到中国企业购买ES支持的比例,我们可以认为11g的官方支持基本结束了。

oracle11gESsupport.jpg

上图第一行就是 11.2 版本的支持生命周期,已经长达11年了。同种还展示了 即将发布的Oracle 19c 支持计划。

预计将于 2019年第一季度发布的 19c 将是 Oracle 12c 的终极版本,相当于传统的 12.2.0.3 版本,按照管理,这个版本将会支持到 2026年。

在以下表格中,更加清晰的列出了时间表:

oraclesupportend.jpg

Oracle 11g的用户是时候考虑升级了。

相关文章|Related Articles

Oracle Database 19c 的发布时间确定和升级建议

$
0
0

作者:eygle 发布在 eygle.com

很多朋友问我,Oracle 19c的发布时间,以及升级建议。

我们先来看升级建议,Oracle 18c = 12.2.0.2 ,Oracle 19c = 12.2.0.3,Oracle 19c 将是原有序列的12c最后一个版本,如果您现在还没有升级到12c,那么可以选择等待一步到位升级到 19c ,18c 作为一个过度的版本,不建议空降到这个版本序列。如果您之前使用的版本是 12.2.0.1,那么升级到 18c 是可以的。

那么问题是:Oracle 19c的发布时间是什么时候

在MOS上,12月最近刚刚更新的信息显示,19c的发布时间为 Q1CY9,也就是2019年第一季度。

参考:

Thumbnail image for oracle11gESsupport.jpg

该文档同时给出了,相关版本的升级支持,11.2.0.4 、12.1.0.2、12.2.0.1、18c 都可以直接升级到 19c 版本:Thumbnail image for PIC.jpg

以上信息,仅供参考。

相关文章|Related Articles

Oracle 12.2 DBCA 使用 Silent 建库

$
0
0

作者:eygle 发布在 eygle.com

许久没有用 Silent 方式建库了,非常顺畅,建立一个 12.2 非多租户的数据库:

[oracle12c@iz2zeezinabu7k6olgelwez ~]$ dbca -silent -createDatabase \

> -templateName General_Purpose.dbc \

> -gdbname eygle -sid eygle -responseFile NO_VALUE \

> -characterSet AL32UTF8 \

> -sysPassword OraPasswd1 \

> -systemPassword OraPasswd1 \

> -createAsContainerDatabase false \

> -databaseType MULTIPURPOSE \

> -automaticMemoryManagement false \

> -totalMemory 1536 \

> -storageType FS \

> -datafileDestination "/u01/oracle12c/db/oradata/" \

> -redoLogFileSize 50 \

> -emConfiguration NONE \

> -ignorePreReqs

[WARNING] [DBT-11207] Specified SGA size is greater than the shmmax on the system. This might make database creation to fail with ORA-27125 - Unable to create shared memory segment error.

ACTION: Specify SGA size lesser than or equal to the shmmax on the system.

Copying database files

1% complete

2% complete

18% complete

33% complete

Creating and starting Oracle instance

35% complete

40% complete

44% complete

49% complete

50% complete

53% complete

55% complete

Completing Database Creation

56% complete

57% complete

58% complete

62% complete

65% complete

66% complete

Executing Post Configuration Actions

100% complete

Look at the log file "/u01/oracle12c/db/cfgtoollogs/dbca/eygle/eygle.log" for further details.

如果是多租户,增加几个参数,类似如下:

dbca -silent -createDatabase \
-templateName General_Purpose.dbc \
-gdbname cdb01 -sid cdb01 -responseFile NO_VALUE \
-characterSet AL32UTF8 \
-sysPassword OraPasswd1 \
-systemPassword OraPasswd1 \
-createAsContainerDatabase true \
-numberOfPDBs 1 \
-pdbName pdb3 \
-pdbAdminPassword OraPasswd1 \
-databaseType MULTIPURPOSE \
-automaticMemoryManagement false \
-totalMemory 1536 \
-storageType FS \
-datafileDestination "/u01/app/oracle/oradata/" \
-redoLogFileSize 50 \
-emConfiguration NONE \
-ignorePreReqs

操作很简单.

相关文章|Related Articles

Oracle 比率:Redo Nowait Ratio 的计算方式

$
0
0

作者:eygle 发布在 eygle.com

有朋友问道这个问题,在 AWR 中,Redo Nowait 比例的含义。在很多报告中,这个值出现了负数。

其实从 Statspack 的报告中,就可以找到计算公式:

--
--  Instance Efficiency Percentages

column ldscr  format a50

column nl format a60 newline;
select 'Instance Efficiency Percentages (Target 100%)' ldscr
      ,'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~' ldscr
      ,'            Buffer Nowait %:'                  dscr
      , round(100*(1-:bfwt/:gets),2)                   pctval
      ,'      Redo NoWait %:'     
      , decode(:rent,0,to_number(null), round(100*(1-:rlsr/:rent),2))  pctval
      ,'            Buffer  Hit   %:'                  dscr
      , round(100*(1-(:phyr-:phyrd-:phyrdl)/:gets),2) pctval
      ,'   In-memory Sort %:'     
      , decode((:srtm+:srtd),0,to_number(null),
                               round(100*:srtm/(:srtd+:srtm),2))       pctval
      ,'            Library Hit   %:'                  dscr
      , round(100*:lhtr,2)                             pctval
      ,'       Soft Parse %:'     
      , round(100*(1-:hprs/:prse),2)                   pctval
      ,'         Execute to Parse %:'                  dscr
      , round(100*(1-:prse/:exe),2)                    pctval
      ,'        Latch Hit %:'     
      , round(100*(1-:lhr),2)                          pctval
      ,'Parse CPU to Parse Elapsd %:'                  dscr
      , decode(:prsela, 0, to_number(null)
                      , round(100*:prscpu/:prsela,2))  pctval
      ,'    % Non-Parse CPU:'
      , decode(:tcpu, 0, to_number(null)
                    , round(100*1-(:prscpu/:tcpu),2))  pctval
  from sys.dual;

这其中能够看到很多比率的计算方式,Nowait Redo 的计算如下:
decode(:rent,0,to_number(null), round(100*(1-:rlsr/:rent),2))  pctval

这其中:
rlsr = Redo Log space requests
rent = Redo Entries

有了这个计算公式,就可以理解其中的玄机了。如果 Redo Log Space 的请求非常多,这个计算就可能出现负数,或者 rent 溢出变小都是可能的情况。

相关文章|Related Articles


Oracle 19c 新特性详解:DataGuard 中ADG的自动DML重定向

$
0
0

作者:eygle 发布在 eygle.com

在前面的文章《Oracle 19c 十大新特性一览》中,我们曾经提到 Oracle 19c的一个重要增强,就是ADG的自动DML转发:

19c-7.jpg

这个新特性的功能是:将偶然发送到ADG上的DML操作,自动转发到主库执行,然后通过主库日志传递到备库实时应用,在保证了ACID的前提下,大大增强了备库的实用性,这被称为 DML Redirection 。

其实这个特性在 Oracle 18c 中就已经提供,所以我们不必等到 19c 就能够体验到这个特性。

在两个版本中,唯一的差别是:

在 18c 中,这个特性是通过隐含参数 _enable_proxy_adg_redirect 的调整来启用这个特性,这表示此特性是趋向内部的;

在 19c 中,显式参数 ADG_REDIRECT_DML 参数控制这个特性的开关,说明这个特性变成外部和成熟的;

来看一下测试,体验一下这个新特性的便利性。首先在主库建立测试表,插入测试数据:

[oracle@18.0.0]$ export ORACLE_SID=DB18C

[oracle@18.0.0]$ sqlplus / as sysdba

Connected to:

Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production

SQL> create user eygle identified by eygle;

User created.

SQL> grant connect,resource,dba to eygle;

Grant succeeded.

SQL> connect eygle/eygle

Connected.

SQL> create table enmotech (id number,name varchar2(20));

Table created.

SQL> insert into enmotech values(1,'EYGLE');

1 row created.

SQL> commit;

Commit complete.

SQL> select open_mode from v$database;

OPEN_MODE

--------------------

READ WRITE

接下来在备库中就设置了参数之后,就可以针对表执行DML操作了,注意备库需要置于实时应用状态:

[oracle@18.0.0]$ export ORACLE_SID=DB18C_S

[oracle@18.0.0]$ sqlplus eygle/eygle

Connected to:

Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production

SQL> select open_mode from v$database;

OPEN_MODE

--------------------

READ ONLY WITH APPLY

SQL> select * from enmotech;

ID NAME

---------- --------------------

1 EYGLE

SQL> alter session set "_enable_proxy_adg_redirect"=true;

Session altered.

SQL> show parameter redirect

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

_adg_redirect_flags integer 1

_enable_proxy_adg_redirect boolean TRUE

-- 此处启用跟踪,可以分析 ADG 重定向的工作原理

SQL> alter session set events '10046 trace name context forever ,level 12';

Session altered.

--此处的DML操作可以顺利执行

SQL> insert into enmotech values(2,'YANGTINGKUN');

1 row created.

SQL> select * from enmotech;

ID NAME

---------- --------------------

1 EYGLE

2 YANGTINGKUN

SQL> commit;

Commit complete.

在以上测试中,可以通过设置10046跟踪,以获得后台的递归执行,研究这个特性的工作原理。

也可以设置终端输出时间,评估重定向的延时,我的测试环境搭建在同一台主机,基本上DML操作的延时在1秒左右,偶发情况下是完全可以接受的:

SQL> set timing on

SQL> insert into enmotech values(2,'KAMUS');

1 row created.

Elapsed: 00:00:01.05

SQL> select * from enmotech;

ID NAME

---------- --------------------

1 EYGLE

2 YANGTINGKUN

2 KAMUS

Elapsed: 00:00:00.00

SQL> commit;

Commit complete.

Elapsed: 00:00:01.05

通过后台的跟踪日志,可以看到,DML操作是通过DB Link来重定向到主库执行的,这个DB Link是内部的,在服务名等配置正常情况下,Oracle能够自动完成内部操作,如果配置错误则会出现错误:

=====================

PARSING IN CURSOR #139880746795960 len=44 dep=0 uid=107 oct=2 lid=107 tim=45368825051292 hv=3193100945 ad='674870e8' sqlid='3bg4wy2z55qnj'

insert into enmotech values(2,'YANGTINGKUN')

END OF STMT

PARSE #139880746795960:c=44993,e=1721825,p=1,cr=28,cu=6,mis=1,r=0,dep=0,og=1,plh=0

WAIT #139880746795960: nam='SQL*Net message to dblink' ela= 2

WAIT #139880746795960: nam='SQL*Net message from dblink' ela= 1164

EXEC #139880746795960:c=1000,e=1297,p=0,cr=0,cu=0,mis=0,r=1,dep=0,og=1,plh=0

WAIT #139880746795960: nam='SQL*Net message to dblink' ela= 1

WAIT #139880746795960: nam='SQL*Net vector data to dblink' ela= 82

WAIT #139880746795960: nam='SQL*Net message from dblink' ela= 1280

*** 2019-01-10T21:08:37.292860+08:00

WAIT #139880746795960: nam='standby query scn advance' ela= 850283

WAIT #139880746795960: nam='PGA memory operation' ela= 98 p1=0 p2=0

WAIT #139880746795960: nam='SQL*Net message to client' ela= 2 d

=====================

PARSING IN CURSOR #139880746795960 len=6 dep=0 uid=107 oct=44 lid=107 tim=45368881823728 hv=3480936638 ad='0' sqlid='23wm3kz7rps5y'

commit

END OF STMT

PARSE #139880746795960:c=0,e=150,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=0,plh=0

XCTEND rlbk=0, rd_only=1, tim=45368881823795

WAIT #139880746795960: nam='SQL*Net message to dblink' ela= 2

WAIT #139880746795960: nam='SQL*Net message from dblink' ela= 1598

*** 2019-01-10T21:09:34.259699+08:00

WAIT #139880746795960: nam='standby query scn advance' ela= 1045191

EXEC #139880746795960:c=1000,e=1047570,p=0,cr=0,cu=4,mis=0,r=0,dep=0,og=0,plh=0

WAIT #139880746795960: nam='SQL*Net message to client' ela= 3

除了常规表之外,Oracle 还支持在备库创建全局临时表,在19c中,隐含参数 _alter_adg_redirect_behavior 可以用于定义允许重定向的级别,例如当设置 disallow_gtt 将不允许重定向全局临时表

ADG 中 DML 重定向新特性带来的另外一个问题时,以后部署ADG时,必须注意备库安全管控,否则滥发到备库的DML可能损害主库的一致性。

这些变化告诉我们的是:时移世易,当新的版本和特性被引入时,一定会带来新的变化,如果不能及时了解这些变化,在享受便利的情况下,就可能面临意外的风险

相关文章|Related Articles

Oracle 19c 安装的问题解决 - DBT-00006

$
0
0

作者:eygle 发布在 eygle.com

在安装 Oracle 19c RPM 时,依托 18c 的安装基础,非常顺利的可以完成安装。

请先参考:

http://www.eygle.com/archives/2018/10/oracle_18c_orclcdb_install.html

我的服务器版本:

[oracle@sdb0 ~]$ cat /etc/redhat-release

CentOS release 6.8 (Final)

[oracle@sdb0 ~]$ uname -a

Linux sdb0 2.6.32-642.6.2.el6.x86_64 #1 SMP Wed Oct 26 06:52:09 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

以 root 身份:

rpm -ivh oracle-database-ee-19c-1.0-1.x86_64.rpm

Preparing...
1:oracle-database-ee-19c ############ [100%]
[INFO] Executing post installation scripts...
[INFO] Oracle home installed successfully and ready to be configured.
To configure a sample Oracle Database you can execute the following service configuration script as root: /etc/init.d/oracledb_ORCLCDB-19c configure

可是在运行创建数据库的脚本时,遇到错误。

以下这个脚本用于初始化一个数据库:

/etc/init.d/oracledb_ORCLCDB-19c configure

遇到的错误是 DBT-00006 :

[root@sdb2 ~]# /etc/init.d/oracledb_ORCLCDB-19c configure
Configuring Oracle Database ORCLCDB.
[FATAL] [INS-00001] Unknown irrecoverable error
CAUSE: No additional information available.
ACTION: Refer to the logs or contact Oracle Support Services
SUMMARY:
- [DBT-00006] The logging directory could not be created.
- [DBT-00006] The logging directory could not be created.

Database configuration failed.

DBT-0006 ,提示不能创建日志目录,不要被单纯的字面意思所误导。

当尝试使用任何 Oracle 的执行文件时,发现一个错误暴露出来,原来是 GLIBC 版本过低,我的版本是 2.12 ,数据库需要 2.14:

[oracle@sdb2 ~]$ sqlplus / as sysdba
sqlplus: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /opt/oracle/product/19c/dbhome_1/lib/libclntsh.so.19.1)
sqlplus: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /opt/oracle/product/19c/dbhome_1/lib/libclntshcore.so.19.1)
sqlplus: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /opt/oracle/product/19c/dbhome_1/lib/libnnz19.so)

开始要将 glibc 从 2.12 更新到 2.14,需要解决相关依赖问题,至少需要:

glibc-2.14.1-6.x86_64.rpm

glibc-common-2.14.1-6.x86_64.rpm

glibc-devel-2.14.1-6.x86_64.rpm

glibc-headers-2.14.1-6.x86_64.rpm

同步更新。

为我的老服务器找到了这几个包:

ftp://ftp.pbone.net/mirror/archive.fedoraproject.org/fedora/linux/updates/15/x86_64/

wget ftp://ftp.pbone.net/mirror/archive.fedoraproject.org/fedora/linux/updates/15/x86_64/glibc-2.14.1-6.x86_64.rpm
wget ftp://ftp.pbone.net/mirror/archive.fedoraproject.org/fedora/linux/updates/15/x86_64/glibc-common-2.14.1-6.x86_64.rpm
wget ftp://ftp.pbone.net/mirror/archive.fedoraproject.org/fedora/linux/updates/15/x86_64/glibc-devel-2.14.1-6.x86_64.rpm
wget ftp://ftp.pbone.net/mirror/archive.fedoraproject.org/fedora/linux/updates/15/x86_64/glibc-headers-2.14.1-6.x86_64.rpm

然后安装:

[root@sdb2 ~]# rpm -Fhv glibc*rpm
warning: glibc-2.14.1-6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 069c8460: NOKEY
Preparing... ########################################### [100%]
1:glibc-common ########################################### [ 25%]
2:glibc warning: /etc/localtime created as /etc/localtime.rpmnew
########################################### [ 50%]
3:glibc-headers ########################################### [ 75%]
4:glibc-devel ########################################### [100%]

接下来再运行Oracle的DBCA或者安装程序,就一切正常了:

[root@sdb2 ~]# su - oracle
[oracle@sdb2 ~]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Wed Nov 28 14:36:02 2018
Version 19.2.0.0.0

Copyright (c) 1982, 2018, Oracle. All rights reserved.

ERROR:
ORA-12162: TNS:net service name is incorrectly specified

建议按照新版本数据库是,相应的更新操作系统。

相关文章|Related Articles

ORCL 2015 - 2018 近四年的收入数据参考

$
0
0

作者:eygle 发布在 eygle.com

自 2015 ~ 2018 近四年的财务数据。

从 Revenue 数据来看,以千为单位,美元货币:

2015:38,226,000

2016:37,047,000

2017:37,728,000

2018:39,831,000

由以上数据计算的营业额增长率:

2016 vs 2015:- 3%;

2017 vs 2016:1.8%;

2018 vs 2017:5.6%;

ORCL_Financials.jpg

相关文章|Related Articles

2015 数据库Gartner市场份额-Oracle 45.6% 占据领先优势

$
0
0

作者:eygle 发布在 eygle.com

收录一组数据,2015年数据库市场份额。

来自IDC的调查报告,2015年度数据库市场份额,Oracle全球占有率 43.9%,亚太区(不含日本)占有率高达 52%,超过全球市场份额。

而中国数据库市场,Oracle的占有率高达 56%,第二位 IBM DB2占有率 15.9%,第三位微软 SQL Server占有率 9.5%,在中国市场Oracle占有绝对的领先优势。

2015-Apac-Oracle-Market.jpg

而根据Gartner的报告,数据略有不同,全球市场的 RDBMS 份额:
Oracle 占有率是 45.6%,SQL Server 19.1%,IBM DB2 15.7%,SAP 占有 9.6%的份额

2015-Oracle-database_market.png

在FY16财年,Oracle公司的收入构成如下,数据库软件销售额占总收入的 36%左右。

2016OracleRevenue.png

而根据Gartner的分析,商业数据库市场到 2021年,将会不断萎缩,较2015年可能下降 20% ~ 30%。Oracle可能无法从这样的趋势中恢复过来,其数据库的销售将会不断下降。Oracle Cloud的发展并不顺利,不足以抵消其市场衰减。

CommDatabaseRDBMS_SIZE.jpg

从上图的数据,Gartner 的分析指出,2014年商业数据库市场容量大约300亿美元,到2021年将会衰减到220亿美元左右。

快速发展的云技术和硬件技术,以及开源数据库技术的快速普及,共同分裂了商业数据库领域,这个趋势正在加速。

收录这组数据,供参考。

相关文章|Related Articles

分析报告: 2014年的商业和开源数据库DBMS销售收入

$
0
0

作者:eygle 发布在 eygle.com

根据 Gartner 2014年的一份调查报告显示,闭源数据库软件 和 开源数据库软件的收入比较。据Gartner称,2014年RDBMS市场增长了5.4%,而开源数据库市场增长了31%,达到5.62亿美元。

闭源 DBMS 的市场销售收入占行业的 98.3% ,而开源的销售收入仅占 1.7% :

The-Outlook-for-Open-Source-DBMS-Market-222.jpg

OSDBMS 中 MySQL 和 MongoDB 排在前列。而 Ingres 系产品,占据多个位置,Enterprise DB 有 11.2%的份额。

而同样在 2015年 IDC Research的一份调查报告表示,2015年整体数据库市场价值400亿美元,预计到2017年将达到500亿美元。开源数据库在2015年实现了快速增长,如果比较专有RDBMS市场和开源数据库市场所经历的增长,后者增长速度提高了六倍多。

Database-space_OpenS.png

开源类产品的销售收入和市场份额正在发生快速的改变。

相关文章|Related Articles

Gartner 2009 ~ 2011 Oracle数据库在韩国市场的份额和销售收入

$
0
0

作者:eygle 发布在 eygle.com

在2012 Gartner的一份分析报告上,找到了一份关于韩国市场的Oracle份额数据。记录下来供读者朋友们参考。

2009年,Oracle在韩国市场占有率约为 55%,销售收入 3.49亿美元;

2010年,Oracle在韩国市场占有率约为 60%,销售收入 3.95亿美元;

2011年,Oracle在韩国市场占有率约为 65%,销售收入 4.78亿美元;

2012-OracleMarketShare-Korea.jpg

Oracle 韩国销售收入占全球收入的比例在2011年约为 1.8%。

相关文章|Related Articles

2018年最受程序员欢迎的数据库排行-Stack Overflow调查

$
0
0

作者:eygle 发布在 eygle.com

2018年, Stack Overflow 进行了一次开发人员调查,有100,000人参与了问卷调查。

在得出的结果中,最受开发人员欢迎的(Wanted)数据库是 MongoDB ,获得 18.6% 认同:
2018MostWantedDatabase.png

这个调查维度是『Most Loved, Dreaded, and Wanted Databases』,也就是开发人员『最喜爱、最恐惧、最期待』的数据库产品。

以下是最受开发人员喜爱的数据库,其中 Redis 64.5%,PostgreSQL 62.0%,Elasticsearch 59.9%,占据了前三名。在这个榜单上,DB2 排在倒数第一,21.8%,Oracle 排在倒数第二位,36.9%。

MostLovedDB.jpg

开发人员最恐惧和不喜的数据库是什么呢

在这个榜单上 DB2 排在首位,78.2%的开发人员不喜欢这个数据库,看起来DB2的衰落不可避免,开发者在大规模的离开这个数据库。

排在第二位的是 Oracle ,63.1%的开发人员不再喜欢这个数据库,毫无疑问,开发人员的选择就是一个数据库的兴衰,现在看起来,Oracle 也正在被开发人员所抛弃。

MostDreadDB.jpg

第三个维度,是开发人员最欢迎的数据库,也是开头我们展示过的,MongoDB 排在第一位。

MostWantDB.jpg

正如我上面提到的,开发人员的选择最终决定了数据库的流行,如果被开发人员背弃,那么一个数据库就难免走向衰落。这也是为什么 Stack Overflow的年度调查广受关注的原因。

在数据库采用度调查上,MySQL 以 58.7%的比例占据榜首,SQL Server 以 41.2%排在第二位,PostgreSQL 以 32.9%站在第三位,而Oracle则以 11.1%占据第9位:

UsedDB.jpg

以下是专业开发人员的选择,与第一个指标基本相同,MySQL 、SQL Server、PostgreSQL 分列前三甲。

2018UsedDBP.jpg

参考数据:

https://insights.stackoverflow.com/survey/2018/

相关文章|Related Articles


Oracle 12c :ASM 存储单盘限制从2TB到4PB的改变

$
0
0

作者:eygle 发布在 eygle.com

在 Oracle 12c之前,ASM 单盘有一个 2T 的限制,当创建磁盘组单盘超过 2T 时,将会遇到诸如 ORA-15018, ORA-15099 的错误:

ORA-15018: diskgroup cannot be created

ORA-15099: disk '/dev/mapper/ORA_data1p1' is larger than maximum size of 2097152 MBs

MOS 文档 1077784.1 明确说明了这个限制,在Oracle 10g 和 Oracle 11g中,这个问题都是硬限制。

那么到了Oracle 12c 中,这个限制已经被去除,单盘最大限制是 4PB 起。

查了一下文档,转引一下,帮助大家一起更新知识:

Oracle ASM Storage Limits

Oracle ASM provides near unlimited capacity for future growth, but does have some storage limits.

Oracle ASM has the following limits on the number of disk groups, disks, and files:

  • 511 disk groups in a storage system for Oracle Database 12c Release 1 or later

  • 10,000 Oracle ASM disks in a disk group

  • 65530 Oracle ASM disks in a storage system

  • 1 million files for each disk group

Without any Oracle Exadata Storage, Oracle ASM has the following storage limits if the COMPATIBLE.ASM or COMPATIBLE.RDBMS disk group attribute is set to less than 12.1:

  • 2 terabytes (TB) maximum storage for each Oracle ASM disk

  • 20 petabytes (PB) maximum for the storage system

Without any Oracle Exadata Storage, Oracle ASM has the following storage limits if the COMPATIBLE.ASM and COMPATIBLE.RDBMS disk group attributes are set to 12.1 or greater:

  • 4 PB maximum storage for each Oracle ASM disk with the allocation unit (AU) size equal to 1 MB

  • 8 PB maximum storage for each Oracle ASM disk with the AU size equal to 2 MB

  • 16 PB maximum storage for each Oracle ASM disk with the AU size equal to 4 MB

  • 32 PB maximum storage for each Oracle ASM disk with the AU size equal to 8 MB

  • 320 exabytes (EB) maximum for the storage system

With all Oracle Exadata Storage, Oracle ASM has the following storage limits:

  • 4 PB maximum storage for each Oracle ASM disk with the AU size equal to 1 MB

  • 8 PB maximum storage for each Oracle ASM disk with the AU size equal to 2 MB

  • 16 PB maximum storage for each Oracle ASM disk with the AU size equal to 4 MB

  • 32 PB maximum storage for each Oracle ASM disk with the AU size equal to 8 MB

  • 320 EB maximum for the storage system

The maximum size limit of a disk group equals the maximum disk size multiplied by the maximum number of disks in a disk group (10,000).

The maximum number of disks across all disk groups is 10,000. The 10,000 disks can be in one disk group or distributed across a maximum of 511 disk groups. This is a limitation on the number of Oracle ASM disks, not necessarily the number of spindles. A storage array could group multiple spindles into a LUN that is used as a single Oracle ASM disk.

File size limits are dependent on the value of the disk group compatibility attributes. Oracle ASM supports file sizes greater than 128 TB in any redundancy mode when the COMPATIBLE.RDBMS disk group attribute is set greater than 10.1.

If COMPATIBLE.RDBMS is set to 10.1, the file size limits are less. For example, with COMPATIBLE.RDBMS equal to 10.1 and the AU size equal to 1 MB, Oracle ASM file size limits are:

  • External redundancy: 16 TB

  • Normal redundancy: 5.8 TB

  • High redundancy: 3.9 TB

Note:

Oracle Database supports data file sizes up to 128 TB depending on the file system. In addition, Oracle Database has a file size limit that is dependent on the DB_BLOCK_SIZE initialization parameter.

相关文章|Related Articles

2018 ACOUG年会:从BigData到Cloud,Oracle的云上变革

$
0
0

作者:eygle 发布在 eygle.com

2018年12月22日,是又一次 ACOUG 年终相聚的日子,恰逢立冬,寒风乍起,ACOUG 的专家和朋友们相聚一堂,共同探讨了这一年的感悟,分享自己的收获与心得。

按照惯例,每个嘉宾只有 10 分钟的分享时间,去掉浮华,只剩下精华。感谢 盖国强、王伟、侯圣文、杨廷琨、赵宇、韩锋、张乐奕、李轶楠等一众老朋友的相聚分享。

我的主题关键字是:Cloud 。这是Oracle目前唯一的目标,持续坚定的向云上进军。

mmexport1545484624651.jpg

杨廷琨 的关键字是:入微。即使在繁华浮躁的时代,也应该潜心琢磨,以工匠精神打造自己的知识底蕴,十载功成。

IMG_20181222_142817R_mh1545476866610.jpg

这是我的分享标题:Cloud - Oracle 唯一的目标。

IMG_20181222_161917R_mh1545476722882.jpg

赵宇,是ITPUB的老朋友,也是从 开发->DBA->管理者 不断转型的优秀代表,我请他分享一个主题,希望给大家职业发展上带来一些新的视野和思路。

IMG_20181222_160827R.jpg

王伟老师的主题关键字是:DA。他在京东践行了自动化和智能化运维体系,将 DBA 的工作量极大的缩减,他认为未来,只有向更高层次发展,DBA 才能绝地求生。数据科学、机器学习,要把更多的菜装到自己的篮子里。王老师用发型诠释了什么是努力付出。

IMG_20181222_153524R.jpg

韩锋老师的关键字是:敏捷大数据。他在宜信践行了敏捷大数据理念,宜信公司也将自有产品开源出来,帮助其他企业去构建全面的企业级敏捷大数据生态。从发型也可以看出韩老师多年努力的付出。

IMG_20181222_150030R_mh1545476814308.jpg

侯老师的主题词是:无私。育人、育才,无私奉献智慧和能力,恩墨学院的口碑和实力从高品质的学员输出上就可以看出,侯老师最近成为了阿里云的MVP,是他在Oracle ACE Director之外的又一收获。

mmexport1545476979419.jpg

纪念这一日,不忘这一天。

mmexport1545484607345.jpg

愿 ACOUG 常伴大家成长!

相关文章|Related Articles

从ADG到自动索引创建:Oracle Database 19c 的10大新特性

$
0
0

作者:eygle 发布在 eygle.com

在 ACOUG 年会的活动上,分享了一些从前未曾分享过的内容,想起,今年还欠下一篇文章,就整理和回顾一下,分享我所见到的Oracle 19c的一些重要改变(本文内容来自OOW大会演讲,关注本公众号回复:2018OOW 获取大会PPT

Oracle 19c 相当于 12.2.0.3 版本,是 Oracle 12c 的最终版,所以这一版本中,不会有太多的新特性,更重要的是稳定性的增强,使得用户能够更多的迁移到12c这个主流版本中。虽说如此,但是Oracle数据库的进步总是会让人感到惊喜,在此遴选了 10 个 19c 的新特性,作为圣诞节的礼物,送给坚持在技术道路上的朋友们吧

1.Data Guard 备库DML自动重定向

在使用 ADG 作为备库进行读写分离部署时,可能因为应用的原因,会有偶然的DML操作发送到备库上,在 19c 中,Oracle 支持自动重定向备库 DML,具体执行步骤为:

更新会自动重定向到主库;

主库执行更新、产生和发送Redo日志到备库;

在Redo备库应用后,ADG会话会透明的看到更新信息的落地实施;

这一特性可以通过在系统级或者会话级设置参数 ADG_REDIRECT_DML 参数启用,通过这种方式,ADG 会话的 ACID 一致性得以保持,同时透明的支持『多数读,偶尔更新』应用的自然读写分离配置。

这个特性的引入,将进一步的增加 ADG 的灵活性,帮助用户将备库应用的更加充分。

19c-7.jpg


2.Oracle Sharding 特性的多表家族支持

在Oracle Sharding特性中,被分片的表称为 Sharded table,这些sharded table的集合称为表家族(Table Family),表家族之中的表具备父-子关系,一个表家族中没有任何父表的表叫做根表(root table),每个表家族中只能有一个根表。表家族中的所有Sharded table都按照相同的sharding key(主键)来分片。

在12.2,在一个SDB中只支持一个表家族,在 19c 中,SDB 中允许存在多个表家族,每个通过不同的 Sharding Key进行分片,这是 Sharding 特性的一个重要增强,有了 Multiple Table Families 的支持,Sharding 才可能找到更多的应用场景。

19c-1.jpg


3.透明的应用连续性支持增强

在Oracle RAC集群中,支持对于查询的自动切换,当一个节点失效,转移到另外一个节点,在19c中,Oracle 持续改进和增强了连续性保持,数据库会自动记录会话状态,捕获用于重演的信息,以便在切换时,在新节点自动恢复事务,使DML事务同样可以获得连续性支持:

在事务提交后自动禁用状态捕获,因为提交成功的事务将不再需要在会话级恢复;

在事务开始时,自动重新启用状态跟踪;

19c-3.jpg

4.自动化索引创建和实施

对于关系型数据库来说,索引是使得查询加速的重要手段,而如何设计和创建有效的索引,长期以来是一项复杂的任务。

在 Oracle 19c 中,自动化索引创建和实施技术被引入进来,Oracle 通过模拟人工索引的思路,建立了内置的专家系统。

数据库内置的算法将会通过捕获、识别、验证、决策、在线验证、监控的全流程管控索引自动化的过程。

这一特性将会自动帮助用户创建有效的索引,并通过提前验证确保其性能和有效性,并且在实施之后进行监控,这一特效将极大缓解数据库索引维护工作。

自动化还将删除由新创建的索引(逻辑合并)废弃的索引,并删除自动创建但长时间未使用的索引。

19c-2.jpg

5.多实例并行重做日志应用增强

在Oracle Data Guard环境中,备库的日志应用速度一直是一个重要挑战,如果备库不能够及时跟上主库的步调,则可能影响备库的使用。

自Oracle 12.2 版本开始,支持多实例并行应用,这极大加快了恢复进度,在 18c 中,开始支持 In-Memory 列式存储,在 19c 中,并行应用开始支持 In-Memory列式存储。

19c-8.jpg

6.Oracle的混合分区表支持

在 19c 中,Oracle 增强了分区特性,可以将外部对象存储上的文件,以外部表的方式链接到分区中,形成混合分区表,借助这个特性,Oracle 将数据库内外整合打通,冷数据可以剥离到外部存储,热数据在数据库中在线存储。

这个特性借助了外部表的特性实现,以下是一个示例:

CREATE TABLE orders ( order_idnumber,

order_dateDATE, ... )

EXTERNAL PARTITION ATTRIBUTES

( TYPE oracle_loaderDEFAULTDIRECTORY data_dir

ACCESS PARAMETERS (..) REJECT LIMIT unlimited)

PARTITION BY RANGE(order_date)

( partition q1_2015 values less than('2014-10-01')

EXTERNAL LOCATION ('order_q1_2015.csv'),

partition q2_2015 values less than ('2015-01-01'),

partition q3_2015 values less than ('2015-04-01'),

partition q4_2015 values less than ('2015-07-01'));

19c-4.jpg

7.在线维护操作增强

在不同版本中,Oracle 持续增强在线维护操作,例如在 12.2 开始支持的Online Move、在线修改普通表为分区表等特性。

在19c 中,持续增强了智能的、细粒度的游标失效控制,将DDL操作对于游标失效的影响降至最低,例如,在 19c 中,comment on table的操作,将不会引起游标的失效。

针对分区维护的操作,例如Truncate分区等,Oracle 将进行细粒度的控制,和DDL操作无关的SQL将不受DDL失效影响。

19c-9.jpg

8.自动的统计信息管理

随着表数据的变化,优化器表数据统计数据将近实时刷新,以防止次优执行计划

统计的在线维护内置于直接路径加载操作中

当数据显着变化时运行自动统计信息收集作业,例如。,自上次收集统计信息以来,表中超过10%的行被添加/更改

第一个看到需要重新编译SQL游标的会话(例如,由于新的优化器统计信息)执行重新编译

其他会话继续使用旧的SQL游标,直到编译完成

避免因重新编译而导致大量会话停顿

19c-5.jpg

9.自动化的SQL执行计划管理

在 19c 中,数据库缺省的就会启用对于所有可重用SQL的执行计划捕获(当然SYS系统Schema的SQL除外),然后进行自动的执行计划评估,评估可以针对AWR中的TOP SQL、SGA、STS中的SQL进行。

如果被评估的执行计划优于当前执行计划(一般是要有效率 50%以上的提升),会被加入到执行计划基线库中,作为后续的执行选择,而不佳的执行计划则会被标记为不可接受。

有了这个特性,SQL执行计划的稳定性将更进一步。

19c-6.jpg

10.SQL功能的增强

在 19c 中,SQL 功能获得了进一步的增强,这其中包括对于 COUNT DISTINCT的进一步优化,在12c中引入的近似 Distinct 操作已经可以为特定SQL带来极大性能提升,现在基于位图的COUNT DISTINCT 操作继续为查询加速。

除此之外,LISTAGG 增加了 DISTINCT 关键字,用于对操作数据的排重。

ANY_VALUE 提供了从数据组中获得随机值的能力,如果你以前喜欢用 Max / Min 实现类似的功能,新功能将显著带来效率的提升。ANY_VALUE 函数在 MySQL 早已存在,现在应该是 Oracle 借鉴和参考了 MySQL 的函数做出的增强。

19c-10.jpg

在SQL方面,Oracle 的能力超乎想象。

新技术、新应用,日新月异,祝大家永葆一颗学习的心,不断向上,早日找到自己在技术生涯的安心之所。

近期文章

企业数据架构的云化智能重构和变革(含大会PPT)

Oracle研发总裁Thomas Kurian加盟Google Cloud

变与不变: Undo构造一致性读的例外情况

Oracle 18c新特性:动态 Container Map 增强

Oracle 18c新特性:Schema-Only 帐号提升安全性

Oracle 18c新特性:多租户舰队 CDB Fleet (含PPT)

为什么看了那么多灾难,还是过不好备份这一关?

相关文章|Related Articles

Oracle 11g于2019年1月1日结束支持-进入付费扩展支持期

$
0
0

作者:eygle 发布在 eygle.com

Oracle 官方产品支持周期已经做出提示,Oracle 数据库的 11g版本,将于2019年1月1日进入扩展服务付费支持期

扩展服务支持简单来说就是必须要额外付费才能获得支持,原本2015年开始Oracle 11g就进入了扩展服务支持期,Oracle豁免了服务费,但是自2019年1月1日起,正是进入需要额外付费的扩展支持期了。

如下图所示,第一行最后深红色部分,就是需要付费的扩展服务阶段,必须要和Oracle签订扩展服务支持合同才能够继续获得11g的后续支持。考虑到中国企业购买ES支持的比例,我们可以认为11g的官方支持基本结束了。

oracle11gESsupport.jpg

上图第一行就是 11.2 版本的支持生命周期,已经长达11年了。同种还展示了 即将发布的Oracle 19c 支持计划。

预计将于 2019年第一季度发布的 19c 将是 Oracle 12c 的终极版本,相当于传统的 12.2.0.3 版本,按照管理,这个版本将会支持到 2026年。

在以下表格中,更加清晰的列出了时间表:

oraclesupportend.jpg

Oracle 11g的用户是时候考虑升级了。

相关文章|Related Articles

Oracle Database 19c 的发布时间确定和升级建议

$
0
0

作者:eygle 发布在 eygle.com

很多朋友问我,Oracle 19c的发布时间,以及升级建议。

我们先来看升级建议,Oracle 18c = 12.2.0.2 ,Oracle 19c = 12.2.0.3,Oracle 19c 将是原有序列的12c最后一个版本,如果您现在还没有升级到12c,那么可以选择等待一步到位升级到 19c ,18c 作为一个过度的版本,不建议空降到这个版本序列。如果您之前使用的版本是 12.2.0.1,那么升级到 18c 是可以的。

那么问题是:Oracle 19c的发布时间是什么时候

在MOS上,12月最近刚刚更新的信息显示,19c的发布时间为 Q1CY9,也就是2019年第一季度。

参考:

Thumbnail image for oracle11gESsupport.jpg

该文档同时给出了,相关版本的升级支持,11.2.0.4 、12.1.0.2、12.2.0.1、18c 都可以直接升级到 19c 版本:Thumbnail image for PIC.jpg

以上信息,仅供参考。

相关文章|Related Articles

Viewing all 353 articles
Browse latest View live