{
  "date": "2015-02-16T19:23:00",
  "slug": "is-cdb-stable-now-after-one-patchset-and-two-psu",
  "link": "https://www.dbi-services.com/blog/is-cdb-stable-now-after-one-patchset-and-two-psu/",
  "title": {
    "rendered": "Is CDB stable after one patchset and two PSU?"
  },
  "content": {
    "rendered": "<h2>By Franck Pachot</h2>\n<p>.</p>\n<p>There has been the announce that non-CDB is deprecated, and the reaction that CDB is not yet stable.</p>\n<p>Well. Let&#8217;s talk about the major issue I&#8217;ve encountered. Multitenant is there for consolidation. What is the major requirement of consolidation? It&#8217;s availability. If you put all your databases into one server and managed by one instance, then you don&#8217;t expect a failure.</p>\n<p>When 12c was out (and even earlier as we are beta testers) &#8211; 12.1.0.1 &#8211; David Hueber has encountered an important issue. When a SYSTEM datafile was lost, then we cannot revocer it without stopping the whole CDB. That&#8217;s bad of course.</p>\n<p>When Patchet 1 was out  (and we were beta tester again) I tried to check it that had been solved. I&#8217;ve seen that they had introduced the undocumented &#8220;_enable_pdb_close_abort&#8221; parameter in order to allow a shutdown abort of a PDB. But that was worse. When I dropped a SYSTEM datafile the whole CDB instance crashed immediately. I opened a SR and Bug 19001390 &#8216;PDB system tablespace media failure causes the whole CDB to crash&#8217; was created for that. All is documented in that blog <a href=\"/pdb-media-failure-may-case-the-whole-cdb-to-crash\">post</a>.</p>\n<p>Now the <a href=\"https://support.oracle.com/epmos/faces/DocContentDisplay?id=19001390.8\">bug status</a> is: fixed in 12.1.0.2.1 (Oct 2014) Database Patch Set Update</p>\n<p>Good. I&#8217;ve installed the latest PSU which is 12.1.0.2.2 (Jan 2015) And I test the most basic recovery situation: loss of a non-system tablespace in one PDB.</p>\n<p>Here it is:</p>\n<p> </p>\n<p><samp>RMAN&gt; report schema;<br />Report of database schema for database with db_unique_name CDB</p>\n<p>List of Permanent Datafiles<br />===========================<br />File Size(MB) Tablespace RB segs Datafile Name<br />&#8212;- &#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;- &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />1 800 SYSTEM YES /u02/oradata/CDB/system01.dbf<br />3 770 SYSAUX NO /u02/oradata/CDB/sysaux01.dbf<br />4 270 UNDOTBS1 YES /u02/oradata/CDB/undotbs01.dbf<br />5 250 PDB$SEED:SYSTEM NO /u02/oradata/CDB/pdbseed/system01.dbf<br />6 5 USERS NO /u02/oradata/CDB/users01.dbf<br />7 490 PDB$SEED:SYSAUX NO /u02/oradata/CDB/pdbseed/sysaux01.dbf<br />11 260 PDB2:SYSTEM NO /u02/oradata/CDB/PDB2/system01.dbf<br />12 520 PDB2:SYSAUX NO /u02/oradata/CDB/PDB2/sysaux01.dbf<br />13 5 PDB2:USERS NO /u02/oradata/CDB/PDB2/PDB2_users01.dbf<br />14 250 PDB1:SYSTEM NO /u02/oradata/CDB/PDB1/system01.dbf<br />15 520 PDB1:SYSAUX NO /u02/oradata/CDB/PDB1/sysaux01.dbf<br /><strong>16 5 PDB1:USERS NO /u02/oradata/CDB/PDB1/PDB1_users01.dbf</strong></p>\n<p>List of Temporary Files<br />=======================<br />File Size(MB) Tablespace Maxsize(MB) Tempfile Name<br />&#8212;- &#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />1 60 TEMP 32767 /u02/oradata/CDB/temp01.dbf<br />2 20 PDB$SEED:TEMP 32767 /u02/oradata/CDB/pdbseed/pdbseed_temp012015-02-06_07-04-28-AM.dbf<br />3 20 PDB1:TEMP 32767 /u02/oradata/CDB/PDB1/temp012015-02-06_07-04-28-AM.dbf<br />4 20 PDB2:TEMP 32767 /u02/oradata/CDB/PDB2/temp012015-02-06_07-04-28-AM.dbf</p>\n<p>RMAN&gt; host &#8220;<strong>rm -f /u02/oradata/CDB/PDB1/PDB1_users01.dbf</strong>&#8220;;<br />host command complete</p>\n<p>RMAN&gt; <strong>alter system checkpoint;</strong><br />RMAN-00571: ===========================================================<br />RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============<br />RMAN-00571: ===========================================================<br />RMAN-00601: fatal error in recovery manager<br />RMAN-03004: fatal error during execution of command<br /><strong>ORA-01092: ORACLE instance terminated. Disconnection forced</strong><br />RMAN-03002: failure of sql statement command at 02/19/2015 22:51:55<br />ORA-03113: end-of-file on communication channel<br />Process ID: 19135<br />Session ID: 357 Serial number: 41977<br />ORACLE error from target database:<br />ORA-03114: not connected to ORACLE</samp></p>\n<p> </p>\n<p>Ok, but I have the PSU:</p>\n<p> </p>\n<p><samp>$ /u01/app/oracle/product/12102EE/OPatch/opatch lspatches<br />19769480;Database Patch Set Update : 12.1.0.2.2 (19769480)</samp></p>\n<p> </p>\n<p>Here is the alert.log:</p>\n<p> </p>\n<p><samp>Completed: alter database open<br />2015-02-19 22:51:46.460000 +01:00<br />Shared IO Pool defaulting to 20MB. Trying to get it from Buffer Cache for process 19116.<br />===========================================================<br />Dumping current patch information<br />===========================================================<br />Patch Id: 19769480<br />Patch Description: Database Patch Set Update : 12.1.0.2.2 (19769480)<br />Patch Apply Time: 2015-02-19 22:14:05 GMT+01:00<br />Bugs Fixed: 14643995,16359751,16870214,17835294,18250893,18288842,18354830,<br />18436647,18456643,18610915,18618122,18674024,18674047,18791688,18845653,<br />18849537,18885870,18921743,18948177,18952989,18964939,18964978,18967382,<br />18988834,18990693,19001359,<strong>19001390</strong>,19016730,19018206,19022470,19024808,<br />19028800,19044962,19048007,19050649,19052488,19054077,19058490,19065556,<br />19067244,19068610,19068970,19074147,19075256,19076343,19077215,19124589,<br />19134173,19143550,19149990,19154375,19155797,19157754,19174430,19174521,<br />19174942,19176223,19176326,19178851,19180770,19185876,19189317,19189525,<br />19195895,19197175,19248799,19279273,19280225,19289642,19303936,19304354,<br />19309466,19329654,19371175,19382851,19390567,19409212,19430401,19434529,<br />19439759,19440586,19468347,19501299,19518079,19520602,19532017,19561643,<br />19577410,19597439,19676905,19706965,19708632,19723336,19769480,20074391,<br />20284155<br />===========================================================<br />2015-02-19 22:51:51.113000 +01:00<br />db_recovery_file_dest_size of 4560 MB is 18.72% used. This is a<br />user-specified limit on the amount of space that will be used by this<br />database for recovery-related files, and does not reflect the amount of<br />space available in the underlying filesystem or ASM diskgroup.<br />Setting Resource Manager plan SCHEDULER[0x4446]:DEFAULT_MAINTENANCE_PLAN via scheduler window<br />Setting Resource Manager CDB plan DEFAULT_MAINTENANCE_PLAN via parameter<br />2015-02-19 22:51:54.892000 +01:00<br />Errors in file /u01/app/oracle/diag/rdbms/cdb/CDB/trace/CDB_ckpt_19102.trc:<br /><strong>ORA-63999</strong>: data file suffered media failure<br />ORA-01116: error in opening database file 16<br />ORA-01110: data file 16: &#8216;<strong>/u02/oradata/CDB/PDB1/PDB1_users01.dbf</strong>&#8216;<br />ORA-27041: unable to open file<br />Linux-x86_64 Error: 2: No such file or directory<br />Additional information: 3<br />Errors in file /u01/app/oracle/diag/rdbms/cdb/CDB/trace/CDB_ckpt_19102.trc:<br />ORA-63999: data file suffered media failure<br />ORA-01116: error in opening database file 16<br />ORA-01110: data file 16: &#8216;/u02/oradata/CDB/PDB1/PDB1_users01.dbf&#8217;<br />ORA-27041: unable to open file<br />Linux-x86_64 Error: 2: No such file or directory<br />Additional information: 3<br />USER (ospid: 19102): <strong>terminating the instance due to error 63999</strong><br />System state dump requested by (instance=1, osid=19102 (CKPT)), summary=[abnormal instance termination].<br />System State dumped to trace file /u01/app/oracle/diag/rdbms/cdb/CDB/trace/CDB_diag_19090_20150219225154.trc<br />ORA-1092 : opitsk aborting process<br />2015-02-19 22:52:00.067000 +01:00<br />Instance terminated by USER, pid = 19102</samp></p>\n<p> </p>\n<p>You can see the bug number in &#8216;bug fixed&#8217; and the instance is still terminating after media failure on a PDB datafile. That&#8217;s bad news. </p>\n<p> </p>\n<p>I&#8217;ve lost one datafile. At first checkpoint the CDB is crashed. I&#8217;ll have to open an SR again. But for sure consolidation through multitenancy architecture is not yet for sensible production.</p>\n",
    "protected": false
  }
}
