This was first published on https://blog.dbi-services.com/oracle-standard-edition-two (2015-09-02)
Republishing here for new followers. The content is related to the the versions available at the publication date
Look at the Oracle Download page: Standard Edition is there in 12.1.0.2 – more than one year after the release of the patchset for Enterprise Edition. It’s a new name – SE2 in short – and new rules. Let’s have a look at it. We waited for it after those rumors from July, and as expected we have been notified by from Ann Sjökvist, the Standard Edition lady, on her blog www.sejustloveit.com. And the news are good, as promised by Dominic Giles who has to face so many questions currently…
So we have a new binary distribution, whith only one possible choice for the edition: Standard Edition Two:
Everything else has nothing special.
We’re waiting for documentation updates at oracle.com but basically SE2 is limited to 2 sockets, which means that:
Of course, you can also choose to go to Enterprise Edition and/or in the Oracle Cloud Services…
In the uncompressed p20831110_121020_Linux-x86-64.zip folder I install the JUL2015 PSU The installation binaries is different, but the PSU is the same as Enterprise Edition
[oracle@VM115 20831110]$ ../../OPatch/opatch apply Oracle Interim Patch Installer version 12.1.0.1.5 Copyright (c) 2015, Oracle Corporation. All rights reserved. Oracle Home : /u01/app/oracle/product/12102SE Central Inventory : /u01/app/oraInventory from : /u01/app/oracle/product/12102SE/oraInst.loc OPatch version : 12.1.0.1.5 OUI version : 12.1.0.2.0 Log file location : /u01/app/oracle/product/12102SE/cfgtoollogs/opatch/opatch2015-09-01_21-13-49PM_1.log Verifying environment and performing prerequisite checks... OPatch continues with these patches: 19769480 20299023 20831110 Do you want to proceed? [y|n]
At that point you can upgrade a 12.1.0.1 database or create a new one.
I run DBCA in advanced mode. You remember that non-CDB is deprecated? Then choose container database. Of course you can’t choose the number of PDBs to create here. You are in Standard Edition: it’s single tenant. Only one PDB.
The ‘database options’ step has been skipped. You don’t choose. You install a CDB with all options allowed in SE.
and here is my database:
$ sqlplus / as sysdba SQL*Plus: Release 12.1.0.2.0 Production on Tue Sep 1 21:06:23 2015 Copyright (c) 1982, 2014, Oracle. All rights reserved. Connected to: Oracle Database 12c Standard Edition Release 12.1.0.2.0 - 64bit Production SQL>
If you have read Mike Dietrich post on dbca and datapatch, you know that you have to run datapatch after DBCA or DBUA.
$ $ORACLE_HOME/OPatch/datapatch -verbose SQL Patching tool version 12.1.0.2.0 on Tue Sep 1 21:21:00 2015 Copyright (c) 2015, Oracle. All rights reserved. Log file for this invocation: /u01/app/oracle/cfgtoollogs/sqlpatch/sqlpatch_5954_2015_09_01_21_21_00/sqlpatch_invocation.log Connecting to database...OK Note: Datapatch will only apply or rollback SQL fixes for PDBs that are in an open state, no patches will be applied to closed PDBs. Please refer to Note: Datapatch: Database 12c Post Patch SQL Automation (Doc ID 1585822.1) Bootstrapping registry and package to current versions...done Determining current state...done Current state of SQL patches: Bundle series PSU: ID 4 in the binary registry and not installed in any PDB Adding patches to installation queue and performing prereq checks... Installation queue: For the following PDBs: CDB$ROOT PDB$SEED Nothing to roll back The following patches will be applied: 20831110 (Database Patch Set Update : 12.1.0.2.4 (20831110)) Installing patches... Patch installation complete. Total patches installed: 2 Validating logfiles... Patch 20831110 apply (pdb CDB$ROOT): SUCCESS logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/20831110/18977826/20831110_apply_SE2_CDBROOT_2015Sep01_21_21_48.log (no errors) Patch 20831110 apply (pdb PDB$SEED): SUCCESS logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/20831110/18977826/20831110_apply_SE2_PDBSEED_2015Sep01_21_21_55.log (no errors) SQL Patching tool complete on Tue Sep 1 21:22:01 2015
Oh. I forgot that my pluggable database is closed…
SQL> alter pluggable database pdb open; Warning: PDB altered with errors.
then running datapatch again:
Installing patches... Patch installation complete. Total patches installed: 1 Validating logfiles... Patch 20831110 apply (pdb PDB): SUCCESS logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/20831110/18977826/20831110_apply_SE2_PDB_2015Sep01_21_28_11.log (no errors) SQL Patching tool complete on Tue Sep 1 21:28:17 2015
I’m on a VM with only 4 cores here. Let’s run 20 session all in CPU anyway, by running 20 times the following:
( TWO_TASK=//vm115/PDB sqlplus sys/oracle as sysdba <<END alter session set plsql_optimize_level=0; exec loop null; end loop; END )&
Here is the top screen while running:
top - 21:58:17 up 1:09, 3 users, load average: 4.34, 4.45, 2.82 Tasks: 199 total, 5 running, 194 sleeping, 0 stopped, 0 zombie %Cpu(s): 99.7 us, 0.1 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 0.2 si, 0.0 st KiB Mem: 1018372 total, 1008288 used, 10084 free, 568 buffers KiB Swap: 1257468 total, 97252 used, 1160216 free. 103572 cached Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 8145 oracle 20 0 1032592 8000 5700 R 21.9 0.8 2:14.05 oracle_8145_se2 8118 oracle 20 0 1032596 8004 5704 S 20.6 0.8 2:20.59 oracle_8118_se2 8148 oracle 20 0 1032592 8016 5720 S 20.6 0.8 2:13.43 oracle_8148_se2 8103 oracle 20 0 1032596 7996 5688 S 20.3 0.8 2:30.29 oracle_8103_se2 8112 oracle 20 0 1032596 8168 5868 S 20.3 0.8 2:23.69 oracle_8112_se2 8130 oracle 20 0 1032596 8008 5704 S 20.3 0.8 2:16.14 oracle_8130_se2 8133 oracle 20 0 1032592 8020 5720 S 20.3 0.8 2:14.40 oracle_8133_se2 8151 oracle 20 0 1032596 8008 5708 S 20.3 0.8 2:13.41 oracle_8151_se2 8154 oracle 20 0 1032592 8032 5732 S 20.3 0.8 2:11.76 oracle_8154_se2 8136 oracle 20 0 1032592 8004 5704 S 19.9 0.8 2:14.70 oracle_8136_se2 8139 oracle 20 0 1032596 8008 5704 S 19.9 0.8 2:14.92 oracle_8139_se2 8106 oracle 20 0 1032592 7980 5680 R 19.6 0.8 2:28.44 oracle_8106_se2 8121 oracle 20 0 1032600 7976 5668 S 19.6 0.8 2:19.45 oracle_8121_se2 8142 oracle 20 0 1032596 8016 5716 R 19.6 0.8 2:13.60 oracle_8142_se2 8157 oracle 20 0 1032596 8000 5700 R 19.6 0.8 2:12.65 oracle_8157_se2 8160 oracle 20 0 1032592 8488 6188 S 19.6 0.8 2:12.62 oracle_8160_se2 8115 oracle 20 0 1032596 7980 5676 S 19.3 0.8 2:21.39 oracle_8115_se2 8127 oracle 20 0 1032596 7984 5684 S 19.3 0.8 2:18.06 oracle_8127_se2 8109 oracle 20 0 1032596 8164 5860 S 18.9 0.8 2:26.49 oracle_8109_se2 8124 oracle 20 0 1032596 8008 5708 S 18.9 0.8 2:17.93 oracle_8124_se2 5792 oracle 20 0 1041576 109364 99516 S 0.3 10.7 0:07.97 ora_cjq0_se2
Look at the load average: it’s 4. It seems that the database itself has limited the number of processes willing to run in CPU. That looks like Resource manager instance caging.
We usually think that we need to have a resource manager plan and set explicitely the cpu_count for that, but that’s not the case here:
SQL> show spparameter cpu_count SID NAME TYPE VALUE -------- ----------------------------- ----------- ---------------------------- * cpu_count integer SQL> show spparameter resource SID NAME TYPE VALUE -------- ----------------------------- ----------- ---------------------------- * resource_manager_plan string
Anyway, in Standard Edition, the resource manager is not usable:
SQL> alter system set resource_manager_plan=DEFAULT; alter system set resource_manager_plan=DEFAULT * ERROR at line 1: ORA-02097: parameter cannot be modified because specified value is invalid ORA-00439: feature not enabled: Database resource manager
However when I check Statspack report for my 20 sessions run:
Snapshot Snap Id Snap Time Sessions Curs/Sess Comment ~~~~~~~~ ---------- ------------------ -------- --------- ------------------ Begin Snap: 3 01-Sep-15 21:47:37 22 1.4 End Snap: 11 01-Sep-15 21:54:05 24 2.5 Elapsed: 6.47 (mins) Av Act Sess: 19.5 DB time: 126.27 (mins) DB CPU: 24.10 (mins) ... Load Profile Per Second Per Transaction Per Exec Per Call ~~~~~~~~~~~~ ------------------ ----------------- ----------- ----------- DB time(s): 19.5 315.7 0.48 25.00 DB CPU(s): 3.7 60.3 0.09 4.77 ... Top 5 Timed Events Avg %Total ~~~~~~~~~~~~~~~~~~ wait Call Event Waits Time (s) (ms) Time ----------------------------------------- ------------ ----------- ------ ------ resmgr:cpu quantum 14,987 6,114 408 99.7 CPU time 12 .2 db file sequential read 862 6 7 .1 log file sync 18 1 57 .0 Disk file operations I/O 204 0 2 .0 -------------------------------------------------------------
I have on average 3.7 sessions in CPU (roughly the load average at OS level), a total of 19.5 average active session (my 20 sessions looping in CPU). And 6,114/(6.47*60)=15.7 sessions waiting on ‘resmgr:cpu quantum’
What happens then? Like in XE (where limit is 1 thread), the resource manager is used internally. I’ve not enough cpu here to show it, but the limit for Standard Edition is 16 foreground session active in CPU at maximum. All that will be documented soon. Big thanks to Dominic Giles for sharing with us.
Remark: that 15.7 has nothing to do with the thread limit of 16 – it’s just my 20 sessions minus my 4 cpu. We can see the limit of 16 only when we have more than 16 cores
update: Of course, this 16 threads per database is 8 threads per server when in RAC (remember that you can’t have more than two nodes).
The price and features is the same as the Standard Edition (pricelist, features) that we know.
update: One thing change if you are in NUP. The minimum that was 5 NUP, is now 10 NUP and is per server.
The 12.1.0.1 is supported until August 2016 (MOS Doc ID 2027072.1) but don’t wait: 12.1.0.2 has new features even for Standard Edition (more on that soon), and lot of bugs fixed.
Hi Franck
I’ve made an infographic partly based on the information you provide here – I hope you don’t mind!
http://www.xynomix.com/oracle-standard-edition-2-what-you-need-know
Feel free to share.
Richard
Hi Richard, A tweet suggests an additional pic: https://twitter.com/DBAMarco/status/640109533780660224 And had the following comments: https://twitter.com/dominic_giles/status/640854294737063936 and https://twitter.com/dominic_giles/status/640854109625708544 Regards, Franck.
Frank, perfect blog and even for a nontechnical guy like me. I React on one specific statement at the start: “If you have SE on a cluster (RAC) with 2 nodes having 1 socket each, then you an install SE2 without additional cost” I think this is not always true if it is licensed by NUP’s. SE has a minimum of 5 NUP’s where SE2 has a minimum of 10 NUP’s per server. This means that installing SE2 on 2 nodes could mean that a customer has to buy 15 additional NUP’s. Or am I missing something? Kind regards Ise Douwes
Hi Ise, Yes your’re right, my remark was related to processor only. If you were licences by NUP with the minimum, then you have additional costs to go to SE2. Hi Richard, Thanks for the infographic and the sharing, Regards, Franck.
Hi – can you confirm that SE2 is using hard coded restrictions to 16 CPU threads? Is there confirmation in Oracle documentation?
Hi James, I’ve not seen it in doc yet and I’ve not tested it because I don’t have a server with more than 16 cpu to test it. But i suppose it’s like Oracle XE: you see all cpu in cpu_count but instance manager ‘cages’ at 16. I suppose the limit was implemented by: Bug 20899461 – Express Edition and Standard Edition should have a max CPU_COUNT in PSU 12.1.0.2.4 Regards, Franck.
One thing is missing:
– Customers with SE One should definitely be prepared to spend some money to upgrade to SE Two, which comes at the same price of the old Standard Edition. ($17,500 per socket).
I wonder if we really have to cough up $10.000 per socket to upgrade to SE2
Hi Tolomir, Yes you’re right. It’s the end of SE1. SE1 was an affordable solution to consolidate Oracle on VMWare, given that the servers have 2 sockets maximum. Having to licence all physical servers was acceptable for that price. An probably not for x3 price. Regards, Franck.
Hi Franck and Tolomir. It is not quite correct. You won’t have to pay the difference between 17,500 and 5,800 USD. But your existing support fee will get an uplift of 20%. br, Morten
Hi. Additional comment on the socket count issue when licensing … As I understand it Oracle actually has the concept of a “one socket server” meaning a server with two socket, where only one socket is occupied! So you won’t have to get rid of the server, but just remove one processor if it has two.
br, Morten
Hi Morten Yes the upgrade is possible. The problem comes with new licence acquisition: the entry level is x3 Yes you can remove a processor from one socket. You need that (Or OVM) if you currently have SE in RAC with 4 sockets in the cluster. But that is not an option if you have SE on a 4 socket server. Have to change the server for that. Regards, Franck.
Hi Frank, I’ve just been on a Oracle SE2 webinar. Oracle said going to SE2/12.1.0.2 we would get the following benefits/new features – Full database caching – Instance Caging – Resource Manager
Of course Instance Caging and resource manager have been around for a while now on EE. However looking are your demo it looks like can’t change the resource manager plan. So get again it looks to me like oracle are not telling the full truth. Yes SE2 is using the features instance caging and resource manager but only to implement the 16 thread restriction and it looks you cant change the plan or create a new plan. So not only do we have the 16 thread restriction also at the mercy of the oracle resource plan which can’t be changed. Brian
Could you send me the details of the seminar?
Hi Brian, Yes you’re right, we don’t have access to resource manager in SE. It is used internally to limit you. It’s like handcuffing you and telling you you have a nice bracelet for free But sure you can use instance caging as a side effect. And full database caching is really a nice feature for SE as you have no limit on memory. Regards, Franck.
like the handcuff and bracelet line. Not really a SE2 benefit. Given the 16 thread restriction it would have been nice if oracle did give the resource manager feature to SE2.
Franck,
About the sockets limitation.
Is a 2 node RAC (each node has 2 sockets, only 1 socket occupied) compliant with the new licensing rules?
Our Oracle contact says no, but the contact from a partner says yes… very confusing…
Regards Glenn
Hi Glenn, Yes for that rule (max 2 socket for the cluster) only occupied sockets count. such as: https://twitter.com/carajandb/statuses/644962122456256512 You can even leave the second socket and use OVM for hard partitioning, such as: https://twitter.com/dominic_giles/status/638831240175448064 Tweets are not official statements, but what is validated by Dominic Giles gives you the right answer Regards, Franck.
Hi Franck,
Company where i work pretends upgrade to 12c… What would be the solution in my current server with 3 instances running in 11g SE Does the company need to buy 3 12c SE licenses ? . Regards Roberto
Hi, if you already have 3 SE licenses you can get 3 SE2 for free from you Oracle Sale. Just be sure that your server has 2 sockets at maximum. Regards, Franck