热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

浅谈OracleDatabase19c

OracleDatabase19c是大多数客户将其升级目标定位的版本,Oracle已将稳定性作为此版

Oracle Database 19c是大多数客户将其升级目标定位的版本,Oracle已将稳定性作为此版本的核心目标。 在Oracle Database 19c中,开发人员专注于修复已知问题,而不是添加新功能。 这导致了数百人年的测试和数千台服务器每天24小时运行测试。这种对稳定性的关注远不止核心数据库功能; 它还涵盖了从安装程序到组成产品的实用程序和 工具 的技术堆栈的所有方面。 这种方法加上我们对修补过程所做的更改将大大减轻我们客户未来几年的修补负担。

在我们讨论Oracle Database 19c中的一些更改之前,重要的是要记住Oracle数据库在过去40年中一直是企业系统的基石。 在此期间,我们在客户群的指导下添加了众多功能; 其中许多功能及其实现都是业界领先的,并且在许多情况下仍然是Oracle数据库的独特之处。

当数据无法访问时,数据对企业用户没什么价值,Oracle数据库确保它始终可以访问。确保数据库在意外服务器中断后重新启动时保持一致是如此的简单。 或者通过提供灾难恢复,Oracle数据库可以提供远距离数据的同步(或异步)复制,同时使其可用于报告和备份。任何服务器中断可能产生严重影响的任务关键系统中, 几乎都能发现Oracle Real Application Clusters(RAC)数据库的存在。 RAC使客户能够将Oracle数据库扩展到非常高的吞吐量和并发性,而无需更改其应用程序。

Oracle数据库被广泛认为是业界最安全的数据存储库之一。 没有其他数据库解决方案具有强大的功能或实施深度。 无论是我们实现的简单访问控制还是将数据类型到row level。 Oracle在数据的整个生命周期中可以对数据进行加密,以确保最大限度地减少恶意访问。

在Oracle数据库19c中虽然稳定性是Oracle Database 19c的重点,但并不是说没有一些值得一提的新功能和增强功能,例如:

Automatic Indexing

自动索引目前行业没有相关经验,优化数据库性能对许多客户来说都是一个挑战。 确定表中的哪些列需要索引不仅有益于单个查询,而且可能有数千种变体需要深入了解Oracle数据库的数据模型,性能相关功能以及底层硬件。 在Oracle Database 19c中,我们引入了自动索引,它不断评估执行的 SQL 和基础表,以确定要创建哪些索引以及可能删除哪些索引。 它通过专家系统完成此任务,该系统验证索引可能做出的改进,并在创建之后验证所做的假设。 然后它使用强化学习来确保它不再犯同样的错误。 最重要的是,随着数据模型和访问路径的变化,Oracle Database 19c能够随着时间的推移进行调整。

浅谈Oracle Database 19c

Active Standby DML

Active Standby DML重定向Active Data Guard的一个流行功能是它能够利用备用数据库进行报告和备份。 使用基本Data Guard,备用数据库可以持续恢复从主数据库发送的重做信息。 虽然通过Active Data Guard是充分利用企业资源的重大改进,提高了数据库的“备用”能力,但许多报告应用程序需要能够持久保存某些数据,例如记录信息以用于审计目的。 在Oracle Database 19c中,我们现在允许用户将此类写请求发送到备用数据库。 然后将这些写入透明地重定向到主数据库并首先写入(以确保一致性),然后将更改发送回备用数据库。 此方法允许应用程序将备用数据库用于中等写入工作负载,而无需更改任何应用程序。

浅谈Oracle Database 19c

Hybrid Partitioned

混合分区表将较大的表分成较小的块或分区使它们更易于管理,并且可以通过仅将操作集中在它们适用的数据上来提高性能。 Oracle数据库支持多种模型,用于分区数据以及用于分区管理的在线操作。但是,随着企业数据的规模和复杂性不断增加,监管要求要求它始终保持在线状态,我们需要查看管理它的新模型。使用混合分区表,DBA现在可以像以前一样将数据分成可管理的分区,但DBA现在可以选择应该在数据库中保留哪些分区以进行快速查询和更新,以及哪些分区可以只读并存储在外部分区中。 这些外部分区可以在标准文件系统内部或低成本HDFS上保留。 DBA还可以选择将数据放在基于云的对象库中,从而将表“扩展”到云端。

浅谈Oracle Database 19c

JSON

JSON增强功能Oracle Database 19c中对JSON支持进行了大量增量增强,从简化SQL功能到部分更新JSON文档。

Memoptimized Rowstore

Memoptimized Rowstore此功能可以从 物联网(IoT) 等应用程序快速将数据插入Oracle Database 19c,这些应用程序以最少的事务开销摄取小型高容量事务。 使用快速摄取功能的插入操作会临时缓冲大型池中的数据, 然后以延迟的异步方式批量写入磁盘。 实现该功能是从SGA中申请了新的内存子池叫做Memoptimized Pool, 该子池又分为两个部分 Memoptimize Buffer Area(75%)Hash Index(25%), , 后期再展开详细介绍。

Memoptimized Rowstore提供以下功能:

Fast ingest

快速摄取优化了高频率,单行数据插入数据库的处理。 Fast ingest使用large pool在将插件写入磁盘之前缓冲插件,以提高数据插入性能。

Fast lookup

快速查找可以快速从数据库中检索数据,以进行高频率查询。 快速查找在SGA中使用称为memoptimize池的单独内存区域来缓冲从表中查询的数据,从而提高查询性能,该功能在18c时引入。

Quarantine SQL Statements

Quarantine SQL Statements由于过度消耗处理器和I / O资源而由资源管理器终止的失控SQL语句,现在可以自动隔离。这可以防止这些失控的SQL语句再次执行,从而保护Oracle Database 19c免受性能下降的影响。

Real Time Statistics

实时统计(Real Time Statistics)现在查询优化器需要对表中数据的结构和组成进行详细统计,以使它们能够就如何执行复杂查询做出“最佳”决策。这样做的问题是统计收集可能是资源密集型的并且需要一段时间。对于最近的“always on”应用程序,找到运行批处理以收集此数据的窗口很困难。在Oracle Database 19c中,现在可以收集统计信息,可以像insert\delete\update数据一样实时收集统计信息。现在客户无需在优化程序所依赖的统计数据质量和为统计信息维护找到合适的时间之间做出妥协。

小结

综上所述,可以看到oracle 19c把稳定性放到了首位,解决了之前12c, 18c引入的数百个新特性存在的已知问题,是客户升级12c系列的理想版本(如果计划升级12c 18c不妨直接考虑19c),  在上个月我wechat上也有说过18C RU5 是修复了1050个已知BUG, 如果运行在之前的版本可以想象一下,很容易遇到“小惊喜”。 别外19c 同样也引入了几个新特性,尤其是在自治方面,如自动索引创建和自动问题SQL隔离, 还有在传统数据库上对于物理网IoT上所做的努力Memoptimized Rowstore。 同样如果你有安装19c 经验发现已经简便了许多,如root.sh , netca已集成。 关注我的BLOG ,后期会继续深入展开各特性。

安装SINGLE INSTTANCE 19C

$ mkdir /media/disk
$ mount /dev/cdrom /media/disk
$ cd /etc/yum.repos.d

$ mv public-yum-ol7.repo public-yum-ol7.repo_bak

$ vi public-yum-ol7.repo

[oel7]
name = Enterprise Linux 7.3 DVD
baseurl=file:///media/disk/
gpgcheck=0
enabled=1

$ yum install oracle-database-server-12cR2-preinstall-1.0-2.el7.x86_64.rpm

$ vi /etc/selinux/config
SELINUX=disabled

mkdir -p /u01/app/oracle/product/19.2.0/db_1
chown -R oracle:oinstall /u01
chmod -R 775 /u01

$ vi /etc/security/limits.conf

oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768

$ passwd oracle

$ su - oracle
$ id oracle
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba) cOntext=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

$ vi .bash_profile

export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.2.0/db_1
export ORACLE_SID=anbob19c
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

# upload file to /u01/app/oracle/product/19.2.0/db_1

$ cd /u01/app/oracle/product/19.2.0/db_1
$ unzip V981623-01 oracle 19.2.zip

$ ls
addnode crs dbjava dmu hs jdbc md olap ords plsql rdbms sdk sqlplus utl
apex css dbs drdaas install jdk mgw OPatch oss precomp relnotes slax srvm V981623-01 oracle 19.2.zip
assistants ctx deinstall dv instantclient jlib network opmn oui QOpatch root.sh sqldeveloper suptools wwg
bin cv demo env.ora inventory ldap nls oracore owm R runInstaller sqlj ucp xdk
clone data diagnostics has javavm lib odbc ord perl racg schagent.conf sqlpatch usm

$ export DISPLAY=192.168.56.1:0
$ ./runInstaller
Launching Oracle Database Setup Wizard..

-- software only

$ dbca -initParams "_exadata_feature_on=true"

SQL> @i

USERNAME INST_NAME HOST_NAME SID SERIAL# VERSION STARTED SPID OPID CPID SADDR PADDR
-------------------- -------------------- ------------------------- ----- -------- ---------- -------- ---------- ----- --------------- ---------------- ----------------
SYS anbob19c localhost.localdomain 390 56967 19.0.0.0.0 20190220 2529 28 2453 0000000067081028 0000000067CFFEC8

SQL> select * from dba_auto_index_config;

PARAMETER_NAME PARAMETER_VALUE LAST_MODIFIED MODIFIED_BY
---------------------------------------- ------------------------------ ------------------------------ ------------------------------
AUTO_INDEX_DEFAULT_TABLESPACE
AUTO_INDEX_MODE OFF
AUTO_INDEX_REPORT_RETENTION 31
AUTO_INDEX_RETENTION_FOR_AUTO 373
AUTO_INDEX_RETENTION_FOR_MANUAL
AUTO_INDEX_SCHEMA
AUTO_INDEX_SPACE_BUDGET 50

7 rows selected.

Refrence https://blogs.oracle.com/oracle-database/oracle-database-19c-now-available-on-oracle-exadata


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 我们


推荐阅读
  • Oracle10g备份导入的方法及注意事项
    本文介绍了使用Oracle10g进行备份导入的方法及相关注意事项,同时还介绍了2019年独角兽企业重金招聘Python工程师的标准。内容包括导出exp命令、删用户、创建数据库、授权等操作,以及导入imp命令的使用。详细介绍了导入时的参数设置,如full、ignore、buffer、commit、feedback等。转载来源于https://my.oschina.net/u/1767754/blog/377593。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 本文介绍了一个误删Oracle数据文件导致数据库无法打开的问题,并提供了解决方式。解决方式包括切换到mount状态、离线删除报错的数据文件等。 ... [详细]
  • Oracle Database 10g许可授予信息及高级功能详解
    本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • Windows7 64位系统安装PLSQL Developer的步骤和注意事项
    本文介绍了在Windows7 64位系统上安装PLSQL Developer的步骤和注意事项。首先下载并安装PLSQL Developer,注意不要安装在默认目录下。然后下载Windows 32位的oracle instant client,并解压到指定路径。最后,按照自己的喜好对解压后的文件进行命名和压缩。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 我们有(据我所知)星型模式SQL数据库中的数据文件。该数据库有5个不同的文件,扩展名为 ... [详细]
  • 在Oracle11g以前版本中的的DataGuard物理备用数据库,可以以只读的方式打开数据库,但此时MediaRecovery利用日志进行数据同步的过 ... [详细]
  • RMAN中的不完整恢复是指通过还原所有数据文件将整个数据库回退,然后执行不完全恢复的操作。不完整恢复的场景包括完整恢复不可行或故意要丢失数据。完整恢复需要备份后生成的所有归档日志和联机重做日志,而如果这些日志缺失或损坏,恢复将在该点停止。决定故意丢失数据是在用户错误发生后采取的行动,例如忘了where条件导致整个表受影响。对于已提交的事务来说,这样的更改是不可逆的。 ... [详细]
  • 阿里Treebased Deep Match(TDM) 学习笔记及技术发展回顾
    本文介绍了阿里Treebased Deep Match(TDM)的学习笔记,同时回顾了工业界技术发展的几代演进。从基于统计的启发式规则方法到基于内积模型的向量检索方法,再到引入复杂深度学习模型的下一代匹配技术。文章详细解释了基于统计的启发式规则方法和基于内积模型的向量检索方法的原理和应用,并介绍了TDM的背景和优势。最后,文章提到了向量距离和基于向量聚类的索引结构对于加速匹配效率的作用。本文对于理解TDM的学习过程和了解匹配技术的发展具有重要意义。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 单点登录原理及实现方案详解
    本文详细介绍了单点登录的原理及实现方案,其中包括共享Session的方式,以及基于Redis的Session共享方案。同时,还分享了作者在应用环境中所遇到的问题和经验,希望对读者有所帮助。 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
author-avatar
百变精灵2596
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有