Oracle 18.3:透過告警日誌從安裝初始化過程看 18c 的新改變
Oracle Database 18c 已經正式對外發布,第一個公共版本的版本號是 18.3 ,讓我們從 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
Version18.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
Version18.3.0.0.0
在MOS 上已經更新了產品發布計劃,HP-UX 和 AIX 版本將在 8 月份發布:
當然我們不要恐懼 Oracle 版本的快速變化,再來看看這個版本路線圖,18c 相當於 12.2.0.2 ,而 19c 則相當於 12.2.0.3 ,而 20c 將會是一個全新的版本:
整個資料庫的安裝過程非常流暢,沒有遇到任何問題,我選擇創建了一個 SID 為 enmo ,包含一個 PDB ,PDB 的名稱是 enmotech :
完成安裝之後,讓我們從資料庫的告警日誌開始,看看 18.3 中帶來了什麼改變。當然,如果您沒有安裝過 18.1 ,那麼事實上這些就是 18c 的改變。
改變一:詳細的補丁信息
在告警日誌中,資料庫創建完成之後,會輸出詳細的補丁信息,告知資料庫中已經應用的補丁列表,我刪節了大部分BUG號,這是一個超長的列表。有同事說:看到修復了這麼多BUG,就放心了。(其實 12.2 初始版本也有這個特性)。
===========================================================
Dumping current patch information
===========================================================
Patch Apply Time: 2018-07-19T01:39:24+08:00
...
Patch Apply Time: 2018-07-19T01:40:01+08:00
...
Patch Apply Time: 2018-07-19T01:41:38+08:00
Patch Description: UPDATE 18.3 DATABASE CLIENT JDK IN ORACLE HOME TO JDK8U171
Patch Apply Time: 2018-07-19T01:44:11+08:00
===========================================================
這個封包,在 MOS 上就是包含以下這幾個補丁列表:
Build Date: July 17, 2018 16:00Software 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 assistantPatches 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 ,我貢獻第一個下載:
改變二:Redo 日誌的 DAX 存儲支持
在告警日誌中,可以看到如下的信息:
Redo log for group 1, sequence 1 is not located onDAX storage
Redo log for group 3, sequence 12 is not located onDAX 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
強勢插播廣告:
改變三:創建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 sysdbaConnected.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 sysdbaConnected.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 privilegesSQL> 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 壓縮需要 高級壓縮 選件,是一個收費的組件。
所以在資料庫創建完成之後,這個壓縮被禁用了,當然也一定是基於性能的考慮:
但是創建資料庫過程中的壓縮,是第一次被觀察到。
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,當然這個參數是動態調整的。
改變七:全資料庫緩存
全資料庫緩存是 12c 的新特性,之前未注意是否會被預設啟用,在 18.3 的初始按照中,可以看到如下過程,全庫緩存被啟用,也就是說如果內存足夠,Oracle 會盡量將全部資料庫內容緩存到內存中去:
Buffer Cache Full DB Caching mode changing from FULL CACHING DISABLED toFULL CACHING ENABLED
我的 Demo 庫由於 Cache 設置過低,所以最後全庫緩存被禁用:
2018-07-25T17:27:24.364156+08:00
Buffer Cache Full DB Caching mode changing from FULL CACHING ENABLED toFULL CACHING DISABLED
Full DB Caching disabled:DEFAULT_CACHE_SIZE should be at least 456 MBs bigger than current size.
Oracle 18.3 已至,管中窺豹,讓我們一起開始 18c 自治資料庫之旅吧。
資源下載
關注公眾號:數據和雲(OraNews)回復關鍵字獲取
2018DTCC, 資料庫大會PPT
2017DTC,2017 DTC 大會 PPT
DBALIFE,「DBA 的一天」海報
DBA04,DBA 手記4 電子書
122ARCH,Oracle 12.2體系結構圖
2017OOW,Oracle OpenWorld 資料
PRELECTION,大講堂講師課程資料


※觸類旁通:那些關於 TBL$OR$IDX$PART$NUM 的詭異案例和知識
※實戰課堂:為什麼更換存儲之後一切正常但RAC集群啟動不了?
TAG:雲和恩墨 |