天天看點

Oracle 18.3 : 透過告警日志從安裝初始化過程看 18c 的新改變

Oracle Database 18c 已經正式對外釋出,第一個公共版本的版本号是 18.3 ,讓我們從 18.3 的安裝過程來一睹 18c 的改變。

Oracle 18.3 : 透過告警日志從安裝初始化過程看 18c 的新改變
首先我們看看版本,18c 釋出的第一個版本是 18.1.0 :

SQL> select banner_full from v$version;

BANNER_FULL
--------------------------------------------------------------------------------
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.1.0.0.0
           

而現在釋出的版本,演進到 18.3.0 :

[oracle@sdb0 ]$ sqlplus / as sysdba

SQL*Plus: Release 18.0.0.0.0 - Production on Wed Jul 25 21:18:09 2018
Version 18.3.0.0.0

SQL> select banner_full from v$version;

BANNER_FULL
--------------------------------------------------------------------------------
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.3.0.0.0
           

在MOS 上已經更新了産品釋出計劃,HP-UX 和 AIX 版本将在 8 月份釋出:

Oracle 18.3 : 透過告警日志從安裝初始化過程看 18c 的新改變

當然我們不要恐懼 Oracle 版本的快速變化,再來看看這個版本路線圖,18c 相當于 12.2.0.2 ,而 19c 則相當于 12.2.0.3 ,而 20c 将會是一個全新的版本:

Oracle 18.3 : 透過告警日志從安裝初始化過程看 18c 的新改變

整個資料庫的安裝過程非常流暢,沒有遇到任何問題,我選擇建立了一個 SID 為 enmo ,包含一個 PDB ,PDB 的名稱是 enmotech :

Oracle 18.3 : 透過告警日志從安裝初始化過程看 18c 的新改變

完成安裝之後,讓我們從資料庫的告警日志開始,看看 18.3 中帶來了什麼改變。當然,如果您沒有安裝過 18.1 ,那麼事實上這些就是 18c 的改變。

改變一:詳細的更新檔資訊

在告警日志中,資料庫建立完成之後,會輸出詳細的更新檔資訊,告知資料庫中已經應用的更新檔清單,我删節了大部分BUG号,這是一個超長的清單。有同僚說:看到修複了這麼多BUG,就放心了。(其實 12.2 初始版本也有這個特性)。

注意,這裡的 Patch ID 28090523 就是 2018年7月 17日釋出的 RU 版本,可以從 MOS 上找到詳細的資訊:

===========================================================
Dumping current patch information
===========================================================
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,
...
28072130,28098865,28106402,28132287,28169711,28174827,28184554,28188330,
28264172

Patch Id: 28090553
Patch Description: OCW RELEASE UPDATE 18.3.0.0.0 (28090553)
Patch Apply Time: 2018-07-19T01:40:01+08:00
Bugs Fixed: 12816839,18701017,22734786,23698980,23840305,25709124,25724089,
26299684,26313403,26433972,26527054,26586174,26587652,26647619,26827699,
26860285,26882126,26882316,26943660,26996813,27012915,27018734,27032726,
27034318,27040560,27080748,27086406,27092991,27098733,27106915,27114112,
...
27609819,27625010,27625050,27627992,27654039,27657467,27657920,27668379,
27906509,27931506,27935826,27941514,27957892,27978668,27984314,27993298,
28023410,28025398,28032758,28039471,28039953,28045209,28099592,28109698,
28174926,28182503,28204423,28240153

Patch Id: 27923415
Patch Description: OJVM RELEASE UPDATE: 18.3.0.0.180717 (27923415)
Patch Apply Time: 2018-07-19T01:41:38+08:00
Bugs Fixed: 27304131,27461740,27539876,27636900,27642235,27952586

Patch Id: 27908644
Patch Description: UPDATE 18.3 DATABASE CLIENT JDK IN ORACLE HOME TO JDK8U171
Patch Apply Time: 2018-07-19T01:44:11+08:00
Bugs Fixed: 27908644
===========================================================
           

這個封包,在 MOS 上就是包含以下這幾個更新檔清單:

Build Date:     July 17, 2018 16:00

Software home of Oracle Database software 
This zip file contains Database  software version: 18.3.0.0.180717 
To use this patch with OEDA, copy this file to OEDA's WorkDir before running OEDA. 
Refer to the Exadata database machine owners guide for information about the Oracle Exadata deployment assistant
Patches installed: 
27923415;OJVM RELEASE UPDATE: 18.3.0.0.180717 (27923415)
28090523;Database Release Update : 18.3.0.0.180717 (28090523)
28090553;OCW RELEASE UPDATE 18.3.0.0.0 (28090553)
           

整個更新檔集合也就是我們今天公開下載下傳到的,4.4 G 的更新檔安裝包,MOS 上的下載下傳次數是 0 ,我貢獻第一個下載下傳:

Oracle 18.3 : 透過告警日志從安裝初始化過程看 18c 的新改變

改變二:Redo 日志的 DAX 存儲支援

在告警日志中,可以看到如下的資訊:

Redo log for group 1, sequence 1 is not located on DAX storage
Redo log for group 3, sequence 12 is not located on DAX storage
           

也就是資料庫檢查,Redo 日志沒有位于 DAX 儲存設備,也就是說,Oracle 支援将 Redo 放置于 Direct Access Storage (DAX) 上,更好的支援 NVRAM 等高速儲存設備(這個改進不确認,需要測試驗證)。

初始化參數中, _simulate_dax_storage 可以用于模拟 DAX 存儲,具體需要測試看:

SQL> select ksppinm,ksppdesc from x$ksppi where ksppinm like '%dax%';

KSPPINM
--------------------------------------------------------------------------------
KSPPDESC
----------------------------------------------------------------------------------
_simulate_dax_storage
Simulate log on DAX storage

同時,在進行網絡傳輸時,增加了 日志網絡傳輸調節 的新特性:           
2018-07-25T18:36:51.730072+08:00
.... (PID:14041): Redo network throttle feature is disabled at mount time
           

強勢插播廣告:

Oracle 18.3 : 透過告警日志從安裝初始化過程看 18c 的新改變

改變三:建立DBaaS 和 SaaS lockdown Profile

在 Oracle 12.2 中引入了安全增強,lockdown profile ,進行了更細粒度的權限控制:

2018-07-25T17:37:46.285748+08:00
create lockdown profile PRIVATE_DBAAS
Completed: create lockdown profile PRIVATE_DBAAS
create lockdown profile SAAS
Completed: create lockdown profile SAAS
create lockdown profile PUBLIC_DBAAS
Completed: create lockdown profile PUBLIC_DBAAS
           

以下通過一個簡單的測試來看看這個特性的基本功能。 首先在CDB下建立一個profile,這個Profile将對全局可用:

SQL> connect / as sysdba
Connected.
SQL> CREATE LOCKDOWN PROFILE enmotech;
Lockdown Profile created.

SQL> ALTER LOCKDOWN PROFILE enmotech DISABLE STATEMENT  = ('ALTER SYSTEM');
Lockdown Profile altered.
           

連接配接到PDB YHEM,在PDB級别啟用lockdown profile :

SQL> connect sys/oracle@yhem as sysdba
Connected.
SQL> ALTER SYSTEM SET PDB_LOCKDOWN = enmotech;
System altered.
           

測試一下,可以看到所有的ALTER SYSTEM的操作都被禁用了:

SQL> alter system checkpoint;
alter system checkpoint
*
ERROR at line 1:
ORA-01031: insufficient privileges

SQL> alter system set optimizer_mode = first_rows_1;
alter system set optimizer_mode = first_rows_1
*
ERROR at line 1:
ORA-01031: insufficient privileges
           

同僚我們注意到 APP Container 被初始化:

alter pluggable database application APP$CDB$SYSTEM begin install '1.0'
Completed: alter pluggable database application APP$CDB$SYSTEM begin install '1.0'
alter pluggable database application APP$CDB$SYSTEM end   install '1.0'
Completed: alter pluggable database application APP$CDB$SYSTEM end   install '1.0'
           

改變四:建立過程中的預設壓縮

在資料庫建立過程中,可以看到對于 SYSTEM 、SYSAUX 表空間,啟用了所有操作壓縮:

alter tablespace system default compress for all operations
Completed: alter tablespace system default compress for all operations
PDB$SEED(2):alter tablespace system default compress for all operations
PDB$SEED(2):Completed: alter tablespace system default compress for all operations
alter tablespace sysaux default compress for all operations
Completed: alter tablespace sysaux default compress for all operations
PDB$SEED(2):alter tablespace sysaux default compress for all operations
PDB$SEED(2):Completed: alter tablespace sysaux default compress for all operations
           

表壓縮是 Oracle 9i 就有的特性,11g 做出了很多增強,OLTP 壓縮需要 進階壓縮 選件,是一個收費的元件。

是以在資料庫建立完成之後,這個壓縮被禁用了,當然也一定是基于性能的考慮:

Oracle 18.3 : 透過告警日志從安裝初始化過程看 18c 的新改變

但是建立資料庫過程中的壓縮,是第一次被觀察到。

SYSTEM 還有一個特殊之處,被啟用了 force logging :

2018-07-25T17:27:48.447861+08:00
alter tablespace system force logging
Completed: alter tablespace system force logging
PDB$SEED(2):alter tablespace system force logging
PDB$SEED(2):Completed: alter tablespace system force logging
           

改變五:增加詳細的環境控制資訊

在資料庫啟動時,能夠看到詳細的環境控制資訊,之前釋出的Exadata版本就是通過這些資訊控制安裝的:

2018-07-25T17:27:16.850169+08:00
Initial number of CPU is 10
Number of processor cores in the system is 10
Number of processor sockets in the system is 10
Capability Type : Network 
capabilities requested : 1 detected : 0 Simulated : 0
Capability Type : Runtime Environment 
capabilities requested : 400000FF detected : 40000000 Simulated : 0
Capability Type : Engineered Systems 
capabilities requested : 3 detected : 0 Simulated : 0
           

改變六:SCN相容性版本資訊

雖然這不是 18c 才有的,但是因為其重要性,列出在這裡:

Database SCN compatibility initialized to 1
           

目前 18c 采用的是 相容性版本 1,當然這個參數是動态調整的。

具體參考之前的文章:Oracle SCN 相容性版本解密

改變七:全資料庫緩存

全資料庫緩存是 12c 的新特性,之前未注意是否會被預設啟用,在 18.3 的初始按照中,可以看到如下過程,全庫緩存被啟用,也就是說如果記憶體足夠,Oracle 會盡量将全部資料庫内容緩存到記憶體中去:

Buffer Cache Full DB Caching mode changing from FULL CACHING DISABLED to FULL CACHING ENABLED
           

我的 Demo 庫由于 Cache 設定過低,是以最後全庫緩存被禁用:

2018-07-25T17:27:24.364156+08:00
Buffer Cache Full DB Caching mode changing from FULL CACHING ENABLED to FULL CACHING DISABLED 
Full DB Caching disabled: DEFAULT_CACHE_SIZE should be at least 456 MBs bigger than current size.
           

Oracle 18.3 已至,管中窺豹,讓我們一起開始 18c 自治資料庫之旅吧。

原文釋出時間為:2018-07-26

本文作者:蓋國強

本文來自雲栖社群合作夥伴“

資料和雲

”,了解相關資訊可以關注“資料和雲”。