Oracle 18c初体验

前几天刚练习了一波12c,今天抽空看了下18c.

如果有一段时间不接触Oracle或者是不大了解Oracle,其实很容易会产生误解。以为12c到18c之间差距的版本应该还有13c,14c,...17c等等,其实不然。

在今年过年前后的时间,即2018年2月16日,Oracle宣布Database 18c发布,随后纠正了发布时间为3月1日,整个版本的发布是优先从Exadata优先也包括supercluster。从版本的发布情况来看,自Oracle 12c开始已彻底抛弃了x86-32的平台,全面拥抱x86-64,其它平台的发布已经在计划中。

简单说下版本的情况。

根据Oracle的产品线规划,18c开始的新版本将是年度版,版本将是发布年度的最后两位数字。原本计划作为12.2.0.2的版本就是现在发布中的18c,12.2.0.3将以19c的版本形式发布。预期Oracle数据库19将是12.2的最后一个版本(“长期支持”版本)。

对于Oracle版本支持的一个roadmap,仅供参考。

所以Oracle的策略会类似于SQL Server的方式推出年度版,也是对已有的12c版本的发布迟缓的一种补救措施。因为18c是12.2.0.2,所以相比于12c的内容来说,也不会有非常大的变化。

Oracle 18c的概念很火来来自于2017年的Openworld的时候,发布了一个新的概念,自治数据库,当时很多DBA听到这个词,感觉DBA生涯要走到头了。但是转眼你来想一下,自治是一个迭代的过程,必然是在之前铺垫了大量的半自动,自动化的过程,自治不是一个全新的事物,可以是一个全新的理念。

另外,换句话来说,数据库能够自动升级,打补丁等等,对于很多线上系统来说,还是有所顾虑的,你肯定不希望你的核心业务一会添加一个索引,一会维护一些数据库的新增任务。系统要的更多是稳定,稳定的前提就是更少的变更,自治需要做到的就是把握这个平衡。

我从安装部署开始做了下18c的体验,所以就捡一些细节来说说。

安装文件是个压缩包,大概是4G,解压后大概是10G,这个量级确实对存储和机器性能是一个基本的考验。

因为目前发布的基于Linux 64位的版本,所有的操作都是在Linux环境下完成,我选择的是Centos 6u8的环境。

在静默安装软件方面,18c绝对是一种全新的理念,在Linux和Windows下面,安装文件夹大概是这样的目录结构。

但是到了18c里面,全变了。最大的变化就是Oracle希望你把这个目录当做$ORACLE_HOME

否则静默安装的时候会抛出下面的错误。

./runInstaller -silent -responseFile /data/oracle18c/oracle_software/install/response/db_install2.rsp -ignorePrereqFailure

Launching Oracle Database Setup Wizard...

[FATAL] [INS-35954] The installer has detected that the Oracle home location provided in the response file is not correct.

CAUSE: The Database Oracle home is the location from where the installer is executed. It has been detected that the value set in the response file is different (/data/oracle18c/product). Value expected is: /data/oracle18c/oracle_software

ACTION: It is not required to specify ORACLE_HOME in the response file for Database installation. Alternatively, set it to the location of the installer (/data/oracle18c/oracle_software).

最开始一直没想明白,揣摩了下这个目录结构和日志报错,总算理解了。

当然你也完全可以使用图形界面来安装。

作为一个深度玩家,我是两种方式都体验了下。

Oracle的安装目录也比原来丰富的多。

[oracle@dev01 install]$ ll

total 8376

drwxr-xr-x 2 oracle dba 4096 Feb 8 06:14 acls

drwxr-xr-x 2 oracle dba 4096 Feb 8 06:14 chainedInstall

drwxr-xr-x 2 oracle dba 4096 Jul 19 2018 config

-rw-r--r-- 1 oracle dba 446 Jul 19 2018 envVars.properties

-rw-r--r-- 1 oracle dba 1709 Feb 8 06:14 envVars.properties.bak

-rw-rw-r-- 1 oracle dba 1989542 Feb 8 06:20 files.lst.bak

drwxr-xr-x 2 oracle dba 4096 Jul 19 2018 jlib

drwxr-xr-x 2 oracle dba 4096 Feb 8 06:12 mesg

-rw-r----- 1 oracle dba 3140 Feb 8 03:02 modmakedeps.pl

-rw-rw---- 1 oracle dba 142 Jul 19 2018 orabasetab

-rwxr-x--- 1 oracle dba 6530089 Jul 14 2018 pilot

drwxr-xr-x 2 oracle dba 4096 May 30 01:01 response

-rwxr-xr-x 1 oracle dba 857 Jul 19 2018 root_schagent.sh

drwxr-xr-x 2 oracle dba 4096 Feb 8 06:11 sizes

drwxr-xr-x 2 oracle dba 4096 Jul 19 2018 utl

安装的部分我选择了容器数据库,整个初始化的过程还算顺利。

[oracle@dev01 TESTDB]$ du -sh ./*

4.0K ./pdbseed

272M ./system01.dbf

4.0K ./testpdb1

4.0K ./testpdb2

一点一点的初始化文件出来。这是一个初步的目录结构。

[oracle@dev01 oracle18c]$ ll

total 36

drwxr-x--- 3 oracle dba 4096 May 30 04:23 admin

drwxr-x--- 3 oracle dba 4096 May 30 04:26 audit

drwxr-x--- 5 oracle dba 4096 May 30 04:26 cfgtoollogs

drwxr-xr-x 2 oracle dba 4096 May 30 02:41 checkpoints

drwxrwxr-x 23 oracle dba 4096 May 30 02:41 diag

drwxr-x--- 2 oracle dba 4096 May 30 04:06 fast_recovery_area

drwxrwx--- 4 oracle dba 4096 May 30 02:41 inventory

drwxr-xr-x 3 oracle dba 4096 May 30 04:23 oradata

drwxr-xr-x 69 oracle dba 4096 May 30 04:27 product

明显多了audit的目录。

整个Oracle的启动日志里面多了很多的bug号。

Patch Id: 28090523

Patch Description: Database Release Update : 18.3.0.0.180717 (28090523)

Patch Apply Time: 2018-07-19T01:39:24+08:00

Bugs Fixed: 9062315,13554903,21547051,21766220,21806121,23003564,23310101,

24489904,24689376,24737581,24925863,25035594,25035599,25287072,25348956,

25634405,25726981,25743479,25824236,25929650,25943740,26226953,26336101,

26423085,26427905,26450454,26476244,26598422,26615291,26646549,26654411,

这一点其实和12c里面差不多。

一个标准的18c姿势是:

[oracle@dev01 ~]$ sqlplus / as sysdba

SQL*Plus: Release 18.0.0.0.0 - Production on Wed May 30 04:59:16 2018

Version 18.3.0.0.0

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

Connected to:

Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production

Version 18.3.0.0.0

SQL> show pdbs;

CON_ID CON_NAME OPEN MODE RESTRICTED

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

2 PDB$SEED READ ONLY NO

3 TESTPDB1 READ WRITE NO

4 TESTPDB2 READ WRITE NO

SQL>

Oracle 18c的文档说明可以看到,变化还是很多细节的改进。

最后的一段红色字可以看到是和腾讯的紧密合作。

AWR的部分和Oracle 12c看起来没有大的变化。

一个细节就是oerr的实现改成了perl,原来是awk解析错误信息。

本文分享自微信公众号 - 杨建荣的学习笔记(jianrong-notes)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-07-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 详述 PO VO BO DTO DAO 和 POJO 的概念及区别

     说实话,我相信对于刚接触 PO、VO、BO、DTO、DAO 和 POJO 这些概念的同学来说,大都会有一种“这都是什么鬼?”的感觉,可谓是云里雾里,不知今...

    用户1257393
  • 如何用纯SQL查询语句可以实现神经网络?

    在这篇文章中,我们将纯粹用SQL实现含有一个隐藏层(以及带 ReLU 和 softmax 激活函数)的神经网络。这些神经网络训练的步骤包含前向传播和反向传播,...

    CDA数据分析师
  • 关于HDFS-KMS集群化部署教程,你以前看的都错了!

    吕信,京东商城基础架构部资深架构师,拥有多年数据产品研发及架构经验。在京东及国内主导过多种数据产品的开发及社区建设,积极活跃于数据产品领域,对数据库及大数据领域...

    京东技术
  • 详述 PO VO BO DTO DAO 和 POJO 的概念及区别

     说实话,我相信对于刚接触 PO、VO、BO、DTO、DAO 和 POJO 这些概念的同学来说,大都会有一种“这都是什么鬼?”的感觉,可谓是云里雾里,不知今...

    用户1257393
  • 用 TensorFlow 让机器人唱首歌给你听

    然后会用一些打过标签的音乐的数据,这些标签就是人类的各种情感。接着通过在这些数据上面训练一个模型,模型训练好后就可以生成符合要求关键词的音乐。

    IT派
  • Java面试之数据库面试题

    触发器是一中特殊的存储过程,主要是通过事件来触发而被执行的。它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化。可...

    用户1257393
  • 【FinTech】金融服务业3种方式利用数据推动创新

    企业每秒钟都会产生数据,而其中的一些数据可以帮助企业制定有关商业活动的数据支持决策,而其中大部分数据库将位于数据仓库中,永远不会再出现。 但是一些公司已经成为数...

    陆勤_数据人网
  • 【数据】工业大数据应用

    第一是加速产品创新设计,传统的产品设计模式是基于设计师的灵感和经验,揣摩消费者的需求喜好,设计产品,针对性不强,不精确。大数据可拉近消费者与设计师的距离,精准量...

    陆勤_数据人网
  • 【详解】图数据库 | 灵活存储复杂关联关系

    从事10年JAVA研发工作,架构经验丰富,目前担任京东物流逆向创新业务团队leader,负责京东国际化逆向物流相关研发工作。

    京东技术
  • Vitess告诉你两阶段提交到底长啥样

    ● 原子性:一个事务对状态的改变是原子的,要么都发生,要么都不发生,这些改变包括数据库的改变、消息以及对转换器的操作。

    京东技术

扫码关注云+社区

领取腾讯云代金券