{"id":7495,"date":"2019-05-22T10:44:29","date_gmt":"2019-05-22T09:44:29","guid":{"rendered":"http:\/\/blog.capdata.fr\/?p=7495"},"modified":"2022-11-21T16:49:04","modified_gmt":"2022-11-21T15:49:04","slug":"aws-oracle-rds-read-replicas-active-dataguard-en-mode-paas","status":"publish","type":"post","link":"https:\/\/blog.capdata.fr\/index.php\/aws-oracle-rds-read-replicas-active-dataguard-en-mode-paas\/","title":{"rendered":"AWS Oracle RDS Read Replicas  :  un Active Dataguard en mode PaaS ?"},"content":{"rendered":"<a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-twitter nolightbox\" data-provider=\"twitter\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Twitter\" href=\"https:\/\/twitter.com\/intent\/tweet?url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F7495&#038;text=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"twitter\" title=\"Share on Twitter\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/twitter.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-linkedin nolightbox\" data-provider=\"linkedin\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Linkedin\" href=\"https:\/\/www.linkedin.com\/shareArticle?mini=true&#038;url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F7495&#038;title=AWS%20Oracle%20RDS%20Read%20Replicas%20%20%3A%20%20un%20Active%20Dataguard%20en%20mode%20PaaS%20%3F\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"linkedin\" title=\"Share on Linkedin\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/linkedin.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-mail nolightbox\" data-provider=\"mail\" rel=\"nofollow\" title=\"Share by email\" href=\"mailto:?subject=AWS%20Oracle%20RDS%20Read%20Replicas%20%20%3A%20%20un%20Active%20Dataguard%20en%20mode%20PaaS%20%3F&#038;body=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20:%20https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F7495\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"mail\" title=\"Share by email\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/mail.png\" \/><\/a><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-7496\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/oracle_12c_AWS-300x161.png\" alt=\"\" width=\"259\" height=\"139\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/oracle_12c_AWS-300x161.png 300w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/oracle_12c_AWS.png 712w\" sizes=\"auto, (max-width: 259px) 100vw, 259px\" \/> Comme nous le savons d\u00e9j\u00e0, AWS dans son offre RDS, propose la fonctionnalit\u00e9 &#8220;Read Replicas&#8221; pour l&#8217;ensemble des bases MySQL, PostGreSQL, Aurora et MariaDb.<\/p>\n<p>Or depuis mars 2019, AWS a d\u00e9cid\u00e9 d&#8217;\u00e9tendre cette fonctionnalit\u00e9 \u00e0 Oracle. On attend toujours cette fonctionnalit\u00e9 pour SQL Server, ce qui ne devrait pas \u00eatre techniquement difficile \u00e0 mettre en oeuvre dans la mesure ou un AlwaysOn en lecture seul sait faire ce travail on-Premise ou en IaaS.<\/p>\n<p>Mais voyons en d\u00e9tail, cette nouveaut\u00e9 pour Oracle.<\/p>\n<p>Comme nous devions nous en douter, Amazon va ni plus ni moins se baser sur ce que Oracle sait d\u00e9j\u00e0 faire, \u00e0 savoir l&#8217;option Active Dataguard. Le principe est d&#8217;avoir une base source primaire qui sera en mode &#8220;Read and write&#8221; qui servira de production OLTP ou bien pour des chargements ETL.<br \/>\nUne base dite &#8220;standby&#8221; sera alors cr\u00e9\u00e9e et synchronis\u00e9e avec celle ci en mode &#8220;Read only&#8221;. Ceci sera tr\u00e8s utile en cas de besoin de reporting en temps r\u00e9el sur des donn\u00e9es de production fra\u00eeches.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-7497 size-full\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/active_dataguard.jpg\" alt=\"\" width=\"670\" height=\"311\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/active_dataguard.jpg 670w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/active_dataguard-300x139.jpg 300w\" sizes=\"auto, (max-width: 670px) 100vw, 670px\" \/><\/p>\n<h3><\/h3>\n<h3>Quelques conditions pour la mise en oeuvre<\/h3>\n<p>Afin de pouvoir mettre en place cette configuration, il faudra respecter les pr\u00e9requis suivants. A peu de chose pr\u00e8s, Amazon a repris dans cette liste ce que Oracle recommande pour sa fonctionnalit\u00e9 Active Dataguard :<\/p>\n<ul>\n<li>Le Read Replicas pour Oracle RDS requiert la licence Active Dataguard<\/li>\n<li>La base primaire doit \u00eatre une version Enterprise Edition<\/li>\n<li>Attention, Amazon ne supporte cette fonctionnalit\u00e9 qu&#8217;\u00e0 partir d&#8217;<strong>Oracle 12.1 (12.1.0.2.v10) <\/strong>alors qu&#8217;Oracle a valid\u00e9 cette option d\u00e8s sa version 11g.<\/li>\n<li>Il sera n\u00e9cessaire de cr\u00e9er des instance sur un VPC\u00a0 nomm\u00e9 (pas de &#8220;Default VPC&#8221;), avec au moins 2 vCPU, pour effectuer cette configuration (soit une classe &#8216;db.m5.large&#8217; minimum).<\/li>\n<li>La base primaire et sa standby doivent \u00eatre configur\u00e9es avec le m\u00eame DB parameter group et option group.<\/li>\n<li>Il sera primordial d&#8217;activer les backup sur la base primaire, ce qui active le mode &#8220;archivelog&#8221; sur celle ci.<\/li>\n<\/ul>\n<h3>Cr\u00e9er le read replicas<\/h3>\n<p>Nous partirons d&#8217;un base de donn\u00e9es Oracle RDS 12.1 EE existante nomm\u00e9e &#8220;capdata&#8221; dans laquelle nous avons cr\u00e9\u00e9 un sch\u00e9ma &#8220;manu&#8221; comportant une table &#8220;employes&#8221;.<\/p>\n<p><span style=\"color: #3366ff;\">Used TNSNAMES adapter to resolve the alias<\/span><br \/>\n<span style=\"color: #3366ff;\">Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = capdata.cctwibgpckff.eu-west-3.rds.amazonaws.com)(PORT = 1532))) (CONNEC<\/span><br \/>\n<span style=\"color: #3366ff;\">T_DATA = (SERVICE_NAME = ORCL)))<\/span><br \/>\n<span style=\"color: #3366ff;\">OK (20 msec)<\/span><\/p>\n<p><span style=\"color: #3366ff;\">C:\\Users\\manu&gt;sqlplus manu@CAPDATADB<\/span><\/p>\n<p><span style=\"color: #3366ff;\">SQL*Plus: Release 11.2.0.3.0 Production on Mon May 13 10:01:49 2019<\/span><\/p>\n<p><span style=\"color: #3366ff;\">Copyright (c) 1982, 2011, Oracle. All rights reserved.<\/span><\/p>\n<p><span style=\"color: #3366ff;\">Enter password:<\/span><\/p>\n<p><span style=\"color: #3366ff;\">Connected to:<\/span><br \/>\n<span style=\"color: #3366ff;\">Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 &#8211; 64bit Production<\/span><br \/>\n<span style=\"color: #3366ff;\">With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options<\/span><\/p>\n<p><span style=\"color: #3366ff;\">SQL&gt;<br \/>\n<\/span><\/p>\n<p><span style=\"color: #3366ff;\">SQL&gt; select * from employes;<\/span><\/p>\n<p><span style=\"color: #3366ff;\">NOM\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 POSTE<\/span><br \/>\n<span style=\"color: #3366ff;\">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/span><br \/>\n<span style=\"color: #3366ff;\">manu\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0DBA<\/span><br \/>\n<span style=\"color: #3366ff;\">john\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0admin systeme<\/span><br \/>\n<span style=\"color: #3366ff;\">Fred\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0admin reseaux<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>Nous pourrons cr\u00e9er le read replicas, soit via l&#8217;interface graphique de la console, soit via AWS CLI.<\/p>\n<h5>&#8211; Interface console<\/h5>\n<p>Comme pour la cr\u00e9ation classique d&#8217;un Dataguard sous Oracle, il sera n\u00e9cessaire de passer la base en mode &#8220;Force Logging&#8221; afin de valider l&#8217;enregistrement complet de toute transaction effective en base.<\/p>\n<pre><span style=\"color: #0000ff;\">SQL&gt; exec rdsadmin.rdsadmin_util.force_logging(p_enable =&gt; true);<\/span><\/pre>\n<p>On suppose que ceci sera fait par le processus de cr\u00e9ation du read replicas, mais afin de s&#8217;assurer de cela, nous pourrons le faire en avance de phase.<\/p>\n<p>Sur le menu RDS, dans la partie Databases, ou nous voyons notre instance nomm\u00e9e &#8220;Capdata&#8221;, nous s\u00e9lectionnerons celle ci puis &#8220;Actions&#8221;.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-7516 size-full\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/read_replicas.jpg\" alt=\"\" width=\"970\" height=\"339\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/read_replicas.jpg 970w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/read_replicas-300x105.jpg 300w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/read_replicas-768x268.jpg 768w\" sizes=\"auto, (max-width: 970px) 100vw, 970px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>une fois arriv\u00e9 sur la page des propri\u00e9t\u00e9s li\u00e9es au nouveau replicas, nous pourrons choisir certaines options dont ; une nouvelle zone de disponibilit\u00e9 (nous prendrons la zone &#8216;eu-west-3c&#8217; car la base principale est sur &#8216;eu-west-3b&#8217;) :<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-7517 size-full\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/read_repli_zonec.jpg\" alt=\"\" width=\"817\" height=\"269\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/read_repli_zonec.jpg 817w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/read_repli_zonec-300x99.jpg 300w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/read_repli_zonec-768x253.jpg 768w\" sizes=\"auto, (max-width: 817px) 100vw, 817px\" \/><\/p>\n<p>mais aussi les informations sur notre replication, la source qui est la base &#8220;capdata&#8221; et la base replicas qui sera &#8220;capdatarep&#8221; :<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-7518 size-full\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/base_capdatarep.jpg\" alt=\"\" width=\"678\" height=\"237\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/base_capdatarep.jpg 678w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/base_capdatarep-300x105.jpg 300w\" sizes=\"auto, (max-width: 678px) 100vw, 678px\" \/><\/p>\n<p>On laissera les autres options par d\u00e9faut, comme nous l&#8217;avions effectu\u00e9 pour la base source.<br \/>\nUne fois termin\u00e9, nous pourrons cliquer sur la cr\u00e9ation du replicas :<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7519\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/crearte_rr.jpg\" alt=\"\" width=\"187\" height=\"39\" \/><\/p>\n<p>Les op\u00e9rations de duplication sont alors en cours. Ceci peut \u00eatre assez long en fonction de la taille de votre base source. Si tout se passe bien, vous pourrez alors, acc\u00e9der au r\u00e9capitulatif suivant :<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-7520 size-full\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/synchro.jpg\" alt=\"\" width=\"1242\" height=\"263\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/synchro.jpg 1242w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/synchro-300x64.jpg 300w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/synchro-768x163.jpg 768w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/synchro-1024x217.jpg 1024w\" sizes=\"auto, (max-width: 1242px) 100vw, 1242px\" \/><\/p>\n<p>Nous irons voir si cette base r\u00e9pliqu\u00e9e comporte bien nos donn\u00e9es de la table &#8220;employes&#8221;. Pour cela nous irons enregistrer dans le tnsnames.ora l&#8217;entr\u00e9e de cette base avec le &#8216;endpoint&#8217; que Amazon nous aura donn\u00e9, ou bien envoyer le chemin complet via la m\u00e9thode Ezconnect.<\/p>\n<pre><span style=\"color: #0000ff;\">Used TNSNAMES adapter to resolve the alias<\/span>\r\n<span style=\"color: #0000ff;\">Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = capdatarep.cctwibgpckff.eu-west-3.rds.amazonaws.com)(PORT = 1532))) (CON<\/span>\r\n<span style=\"color: #0000ff;\">NECT_DATA = (SERVICE_NAME = ORCL)))<\/span>\r\n<span style=\"color: #0000ff;\">OK (10 msec)\r\n\r\n<\/span><\/pre>\n<p>Notre repliacas comportera le nom de host suivant :<\/p>\n<pre><span style=\"color: #0000ff;\">SQL&gt; select INSTANCE_NAME,HOST_NAME from v$instance;<\/span>\r\n\r\n<span style=\"color: #0000ff;\">INSTANCE_NAME    HOST_NAME<\/span>\r\n<span style=\"color: #0000ff;\">---------------- ----------------------------------------------------------------<\/span>\r\n<span style=\"color: #0000ff;\">ORCL             ip-172-16-2-203<\/span><\/pre>\n<pre><span style=\"color: #0000ff;\">\u00a0<\/span><\/pre>\n<p>Nous retrouvons bien notre table &#8220;employes&#8221;<\/p>\n<p><span style=\"color: #3366ff;\">SQL&gt; select * from employes;<\/span><\/p>\n<p><span style=\"color: #3366ff;\">NOM\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 POSTE<\/span><br \/>\n<span style=\"color: #3366ff;\">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/span><br \/>\n<span style=\"color: #3366ff;\">manu\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0DBA<\/span><br \/>\n<span style=\"color: #3366ff;\">john\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0admin systeme<\/span><br \/>\n<span style=\"color: #3366ff;\">Fred\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0admin reseaux<\/span><\/p>\n<p>Bien entendu, nous sommes en mode lecture seule uniquement !!<\/p>\n<pre><span style=\"color: #0000ff;\">SQL&gt; insert into employes values ('toto','pirate');<\/span>\r\n<span style=\"color: #0000ff;\">insert into employes values ('toto','pirate')<\/span>\r\n<span style=\"color: #0000ff;\">*<\/span>\r\n<span style=\"color: #0000ff;\">ERROR at line 1:<\/span>\r\n<span style=\"color: #0000ff;\">ORA-16000: database or pluggable database open for read-only access<\/span>\r\n\r\n -- &gt; A noter que la base se nomme ORCL\r\n\r\n<span style=\"color: #0000ff;\">SQL&gt; select name, open_mode from v$database;<\/span>\r\n\r\n<span style=\"color: #0000ff;\">NAME      OPEN_MODE<\/span>\r\n<span style=\"color: #0000ff;\">--------- --------------------<\/span>\r\n<span style=\"color: #0000ff;\">ORCL      READ ONLY WITH APPLY<\/span><\/pre>\n<p>&nbsp;<\/p>\n<h5>&#8211; interface AWS CLI<\/h5>\n<p>Nous utiliserons l&#8217;utilitaire aws cli afin de pouvoir scripter cette proc\u00e9dure de cr\u00e9ation. Pour cela c&#8217;est l&#8217;option &#8220;create-db-instance-read-replica&#8221; qui sera choisi, avec les nombreuses options potentielles (voir <a href=\"https:\/\/docs.aws.amazon.com\/cli\/latest\/reference\/rds\/create-db-instance-read-replica.html\">https:\/\/docs.aws.amazon.com\/cli\/latest\/reference\/rds\/create-db-instance-read-replica.html<\/a>)<\/p>\n<p>Nous pourrons cr\u00e9er un nouveau r\u00e9plicas avec les m\u00eames caract\u00e9ristiques que &#8220;capdatarep&#8221; que nous nommerons &#8220;capdatarep2&#8221; :<\/p>\n<pre><strong><span style=\"color: #993366;\">$ aws rds create-db-instance-read-replica --db-instance-identifier capdatarep2 --source-db-instance-identifier capdata \\\r\n  --availability-zone eu-west-3c --no-publicly-accessible --region eu-west-3<\/span><\/strong><\/pre>\n<p>La r\u00e9ponse sera alors en mode JSON et nous indiquera la prise en compte de notre op\u00e9ration :<\/p>\n<pre><span style=\"color: #993366;\">{<\/span>\r\n<span style=\"color: #993366;\">    \"DBInstance\": {<\/span>\r\n<span style=\"color: #993366;\">        \"PubliclyAccessible\": false,<\/span>\r\n<span style=\"color: #993366;\">        \"MasterUsername\": \"manu\",<\/span>\r\n<span style=\"color: #993366;\">        \"MonitoringInterval\": 0,<\/span>\r\n<span style=\"color: #993366;\">        \"LicenseModel\": \"bring-your-own-license\",<\/span>\r\n<span style=\"color: #993366;\">        \"VpcSecurityGroups\": [<\/span>\r\n<span style=\"color: #993366;\">            {<\/span>\r\n<span style=\"color: #993366;\">                \"Status\": \"active\",<\/span>\r\n<span style=\"color: #993366;\">                \"VpcSecurityGroupId\": \"sg-03b37eb21e178db5d\"<\/span>\r\n<span style=\"color: #993366;\">            },<\/span>\r\n<span style=\"color: #993366;\">            {<\/span>\r\n<span style=\"color: #993366;\">                \"Status\": \"active\",<\/span>\r\n<span style=\"color: #993366;\">                \"VpcSecurityGroupId\": \"sg-020a6713a54e7921e\"<\/span>\r\n<span style=\"color: #993366;\">            }<\/span>\r\n<span style=\"color: #993366;\">        ],<\/span>\r\n<span style=\"color: #993366;\">        \"CopyTagsToSnapshot\": false,<\/span>\r\n<span style=\"color: #993366;\">        \"OptionGroupMemberships\": [<\/span>\r\n<span style=\"color: #993366;\">            {<\/span>\r\n<span style=\"color: #993366;\">                \"Status\": \"pending-apply\",<\/span>\r\n<span style=\"color: #993366;\">                \"OptionGroupName\": \"default:oracle-ee-12-1\"<\/span>\r\n<span style=\"color: #993366;\">            }<\/span>\r\n<span style=\"color: #993366;\">        ],<\/span>\r\n<span style=\"color: #993366;\">        \"PendingModifiedValues\": {},<\/span>\r\n<span style=\"color: #993366;\">        \"Engine\": \"oracle-ee\",<\/span>\r\n<span style=\"color: #993366;\">        \"MultiAZ\": false,<\/span>\r\n<span style=\"color: #993366;\">        \"DBSecurityGroups\": [],<\/span>\r\n<span style=\"color: #993366;\">        \"DBParameterGroups\": [<\/span>\r\n<span style=\"color: #993366;\">            {<\/span>\r\n<span style=\"color: #993366;\">                \"DBParameterGroupName\": \"default.oracle-ee-12.1\",<\/span>\r\n<span style=\"color: #993366;\">                \"ParameterApplyStatus\": \"in-sync\"<\/span>\r\n<span style=\"color: #993366;\">            }<\/span>\r\n<span style=\"color: #993366;\">        ],<\/span>\r\n<span style=\"color: #993366;\">        \"PerformanceInsightsEnabled\": false,<\/span>\r\n<span style=\"color: #993366;\">        \"ReadReplicaSourceDBInstanceIdentifier\": \"capdata\",<\/span>\r\n<span style=\"color: #993366;\">        \"AutoMinorVersionUpgrade\": false,<\/span>\r\n<span style=\"color: #993366;\">        \"PreferredBackupWindow\": \"13:13-13:43\",<\/span>\r\n<span style=\"color: #993366;\">        \"DBSubnetGroup\": {<\/span>\r\n<span style=\"color: #993366;\">            \"Subnets\": [<\/span>\r\n<span style=\"color: #993366;\">                {<\/span>\r\n<span style=\"color: #993366;\">                    \"SubnetStatus\": \"Active\",<\/span>\r\n<span style=\"color: #993366;\">                    \"SubnetIdentifier\": \"subnet-0b3c36203a277331f\",<\/span>\r\n<span style=\"color: #993366;\">                    \"SubnetAvailabilityZone\": {<\/span>\r\n<span style=\"color: #993366;\">                        \"Name\": \"eu-west-3c\"<\/span>\r\n<span style=\"color: #993366;\">                    }<\/span>\r\n<span style=\"color: #993366;\">                },<\/span>\r\n<span style=\"color: #993366;\">                {<\/span>\r\n<span style=\"color: #993366;\">                    \"SubnetStatus\": \"Active\",<\/span>\r\n<span style=\"color: #993366;\">                    \"SubnetIdentifier\": \"subnet-0b56834a874187f7d\",<\/span>\r\n<span style=\"color: #993366;\">                    \"SubnetAvailabilityZone\": {<\/span>\r\n<span style=\"color: #993366;\">                        \"Name\": \"eu-west-3b\"<\/span>\r\n<span style=\"color: #993366;\">                    }<\/span>\r\n<span style=\"color: #993366;\">                }<\/span>\r\n<span style=\"color: #993366;\">            ],<\/span>\r\n<span style=\"color: #993366;\">            \"DBSubnetGroupName\": \"default-vpc-09c93b8bac48a99ff\",<\/span>\r\n<span style=\"color: #993366;\">            \"VpcId\": \"vpc-09c93b8bac48a99ff\",<\/span>\r\n<span style=\"color: #993366;\">            \"DBSubnetGroupDescription\": \"Created from the RDS Management Console\",<\/span>\r\n<span style=\"color: #993366;\">            \"SubnetGroupStatus\": \"Complete\"<\/span>\r\n<span style=\"color: #993366;\">        },<\/span>\r\n<span style=\"color: #993366;\">        \"ReadReplicaDBInstanceIdentifiers\": [],<\/span>\r\n<span style=\"color: #993366;\">        \"AllocatedStorage\": 20,<\/span>\r\n<span style=\"color: #993366;\">        \"DBInstanceArn\": \"arn:aws:rds:eu-west-3:018033502850:db:capdatarep2\",<\/span>\r\n<span style=\"color: #993366;\">        \"BackupRetentionPeriod\": 0,<\/span>\r\n<span style=\"color: #993366;\">        \"DBName\": \"ORCL\",<\/span>\r\n<span style=\"color: #993366;\">        \"PreferredMaintenanceWindow\": \"sun:04:57-sun:05:27\",<\/span>\r\n<span style=\"color: #993366;\">        \"DBInstanceStatus\": \"creating\",<\/span>\r\n<span style=\"color: #993366;\">        \"IAMDatabaseAuthenticationEnabled\": false,<\/span>\r\n<span style=\"color: #993366;\">        \"EngineVersion\": \"12.1.0.2.v15\",<\/span>\r\n<span style=\"color: #993366;\">        \"DeletionProtection\": false,<\/span>\r\n<span style=\"color: #993366;\">        \"CharacterSetName\": \"AL32UTF8\",<\/span>\r\n<span style=\"color: #993366;\">        \"AvailabilityZone\": \"eu-west-3c\",<\/span>\r\n<span style=\"color: #993366;\">        \"DomainMemberships\": [],<\/span>\r\n<span style=\"color: #993366;\">        \"StorageType\": \"gp2\",<\/span>\r\n<span style=\"color: #993366;\">        \"DbiResourceId\": \"db-DQ7BCOFD5ULPI3SQTRLUTMY34A\",<\/span>\r\n<span style=\"color: #993366;\">        \"CACertificateIdentifier\": \"rds-ca-2015\",<\/span>\r\n<span style=\"color: #993366;\">        \"StorageEncrypted\": false,<\/span>\r\n<span style=\"color: #993366;\">        \"DBInstanceClass\": \"db.m5.large\",<\/span>\r\n<span style=\"color: #993366;\">        \"DbInstancePort\": 0,<\/span>\r\n<span style=\"color: #993366;\">        \"DBInstanceIdentifier\": \"capdatarep2\"<\/span>\r\n<span style=\"color: #993366;\">    }<\/span>\r\n<span style=\"color: #993366;\">}<\/span><\/pre>\n<p>Nous avons donc un read replicas, nomm\u00e9 &#8220;capdatarep2&#8221; version Oracle 12.1.0.2.v15 sur l&#8217;AZ &#8220;eu-west-3c&#8221;, en cours de cr\u00e9ation sur notre compte RDS. On peut \u00e9diter au format text les informations li\u00e9es \u00e0 notre nouvelle instance :<\/p>\n<pre><strong><span style=\"color: #993366;\">$ aws rds describe-db-instances --db-instance-identifier capdatarep2 --region=eu-west-3 --output=text<\/span><\/strong>\r\n<span style=\"color: #993366;\">DBINSTANCES     20      False   eu-west-3c      0       rds-ca-2015     AL32UTF8        False   <\/span>\r\n<span style=\"color: #993366;\">\tarn:aws:rds:eu-west-3:018033502850:db:capdatarep2       db.m5.large     <\/span>\r\n<span style=\"color: #993366;\">\tcapdatarep2     modifying       ORCL    0       db-DQ7BCOFD5ULPI3SQTRLUTMY34A   False   oracle-ee       12.1.0.2.v15    False   2019-05-13T13:26:31.991Z<\/span>\r\n<span style=\"color: #993366;\">        bring-your-own-license  manu    0       False   False   13:13-13:43     sun:04:57-sun:05:27 False       capdata False   gp2<\/span>\r\n<span style=\"color: #993366;\">DBPARAMETERGROUPS       \t\tdefault.oracle-ee-12.1  in-sync<\/span>\r\n<span style=\"color: #993366;\">DBSUBNETGROUP   \t\t\tCreated from the RDS Management Console default-vpc-09c93b8bac48a99ff   Complete     vpc-09c93b8bac48a99ff<\/span>\r\n<span style=\"color: #993366;\">SUBNETS \t\t\t\tsubnet-0b3c36203a277331f        Active<\/span>\r\n<span style=\"color: #993366;\">SUBNETAVAILABILITYZONE  \t\teu-west-3c<\/span>\r\n<span style=\"color: #993366;\">SUBNETS \t\t\t\tsubnet-0b56834a874187f7d        Active<\/span>\r\n<span style=\"color: #993366;\">SUBNETAVAILABILITYZONE  \t\teu-west-3b<\/span>\r\n<span style=\"color: #993366;\">ENDPOINT        \t\t\tcapdatarep2.cctwibgpckff.eu-west-3.rds.amazonaws.com    <\/span>\r\n<span style=\"color: #993366;\">ZMESEXB7ZGGQ3   \t\t\t1532<\/span>\r\n<span style=\"color: #993366;\">OPTIONGROUPMEMBERSHIPS  \t\tdefault:oracle-ee-12-1  applying<\/span>\r\n<span style=\"color: #993366;\">STATUSINFOS     \t\t\tTrue    replicating     read replication<\/span>\r\n<span style=\"color: #993366;\">VPCSECURITYGROUPS       \t\tactive  sg-03b37eb21e178db5d<\/span>\r\n<span style=\"color: #993366;\">VPCSECURITYGROUPS       \t\tactive  sg-020a6713a54e7921e<\/span>\r\n\r\n\r\n<\/pre>\n<p>Celle ci sera \u00e9galement visible sur la console<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-7521 size-full\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/new_replicas.jpg\" alt=\"\" width=\"1228\" height=\"306\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/new_replicas.jpg 1228w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/new_replicas-300x75.jpg 300w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/new_replicas-768x191.jpg 768w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/new_replicas-1024x255.jpg 1024w\" sizes=\"auto, (max-width: 1228px) 100vw, 1228px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Notons le &#8216;endpoint&#8217; attribu\u00e9 \u00e0 notre instance (ici <span style=\"color: #993366;\">capdatarep2.cctwibgpckff.eu-west-3.rds.amazonaws.com<\/span>) et le port qui est le m\u00eame , 1532. Nous pouvons alors nous connecter et tester notre nouveau replicas :<\/p>\n<p><span style=\"color: #0000ff;\">SQL&gt; select INSTANCE_NAME,HOST_NAME from v$instance;<\/span><\/p>\n<pre><span style=\"color: #0000ff;\">INSTANCE_NAME    HOST_NAME<\/span>\r\n<span style=\"color: #0000ff;\">---------------- ----------------------------------------------------------------<\/span>\r\n<span style=\"color: #0000ff;\">ORCL             ip-172-16-2-218<\/span><\/pre>\n<p>La nouvelle IP pour notre nouvelle base sera renseign\u00e9 dans le champ host. Puis on teste les donn\u00e9es :<\/p>\n<pre><span style=\"color: #0000ff;\">SQL&gt; select * from employes;<\/span>\r\n\r\n<span style=\"color: #0000ff;\">NOM                       POSTE<\/span>\r\n<span style=\"color: #0000ff;\">------------------------- --------------------<\/span>\r\n<span style=\"color: #0000ff;\">manu                      DBA<\/span>\r\n<span style=\"color: #0000ff;\">john                      admin systeme<\/span>\r\n<span style=\"color: #0000ff;\">Fred                      admin reseaux<\/span><\/pre>\n<pre><span style=\"color: #0000ff;\">SQL&gt; insert into employes values ('nouveau','test');<\/span>\r\n<span style=\"color: #0000ff;\">insert into employes values ('nouveau','test')<\/span>\r\n<span style=\"color: #0000ff;\">*<\/span>\r\n<span style=\"color: #0000ff;\">ERROR at line 1:<\/span>\r\n<span style=\"color: #0000ff;\">ORA-16000: database or pluggable database open for read-only access<\/span><\/pre>\n<p>&nbsp;<\/p>\n<p>L&#8217;avantage d&#8217;un read replicas, outre les op\u00e9rations de reporting en lecture seule,\u00a0 est le fait de pouvoir effectuer des &#8220;snapshots&#8221; sur celle-ci, ceci permet donc de lib\u00e9rer des IO pour la base master primaire qui n&#8217;aura pas \u00e0 g\u00e9rer ces t\u00e2ches de maintenance.<\/p>\n<h3>Promouvoir un read replicas<\/h3>\n<p>dans le cadre d&#8217;un disaster recovery, il sera possible de promouvoir un des reads replicas que nous aurons cr\u00e9\u00e9. Attention, cela veut bien dire que nous allons ouvrir en lecture mais aussi en<span style=\"color: #ff0000;\"> \u00e9criture<\/span> la base replicas qui, \u00e0 partir de ce moment, vivra sa vie ind\u00e9pendamment de la base master.<\/p>\n<p>Il est donc bien important de consid\u00e9rer que ceci n&#8217;est aucunement un &#8220;switchover&#8221; comme Oracle peut le consid\u00e9rer dans le cadre d&#8217;un Dataguard, mais bien un &#8220;Failover&#8221; dans le sens ou l&#8217;on <span style=\"color: #ff0000;\">casse<\/span> la replication entre le master et son r\u00e9plicas.<\/p>\n<p>Nous pouvons, \u00e9galement pour cette op\u00e9ration, effectuer ceci via la console, ou bien via AWS CLI.<\/p>\n<h5>&#8211; interface console<\/h5>\n<p>Sur la page des bases RDS choisir le replicas \u00e0 promouvoir et cliquer &#8220;Actions&#8221; et &#8220;promote&#8221;.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-7524 size-full\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/promote_rep.jpg\" alt=\"\" width=\"979\" height=\"367\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/promote_rep.jpg 979w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/promote_rep-300x112.jpg 300w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/promote_rep-768x288.jpg 768w\" sizes=\"auto, (max-width: 979px) 100vw, 979px\" \/><\/p>\n<p>Nous laisserons par d\u00e9faut la strat\u00e9gie de backup mis en place pour le replicas &#8220;capdatarep&#8221;.<\/p>\n<p>Un message d&#8217;avertissement nous indique les cons\u00e9quences de cette op\u00e9ration et son c\u00f4t\u00e9 irr\u00e9versible. La base &#8220;capdatarep&#8221; est donc pr\u00eate \u00e0 devenir ind\u00e9pendante !<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-7526 size-full\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/capdatarep_indep.jpg\" alt=\"\" width=\"1223\" height=\"278\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/capdatarep_indep.jpg 1223w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/capdatarep_indep-300x68.jpg 300w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/capdatarep_indep-768x175.jpg 768w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/capdatarep_indep-1024x233.jpg 1024w\" sizes=\"auto, (max-width: 1223px) 100vw, 1223px\" \/><\/p>\n<p>On pourra se connecter \u00e0 &#8220;capdatarep&#8221; pour voir si celle ci accepte les mises \u00e0 jour :<\/p>\n<pre><span style=\"color: #0000ff;\">SQL&gt;<\/span>\r\n\r\n<span style=\"color: #0000ff;\">INSTANCE_NAME    HOST_NAME            STARTUP_TIME        STATUS       DATABASE_STATUS   INSTANCE_ROLE      ACTIVE_ST<\/span>\r\n<span style=\"color: #0000ff;\">---------------- -------------------- ------------------- ------------ ----------------- ------------------ ---------<\/span>\r\n<span style=\"color: #0000ff;\">ORCL             ip-172-16-2-203      2019\/05\/13 14:09:05 OPEN         ACTIVE            PRIMARY_INSTANCE   NORMAL<\/span>\r\n\r\n<span style=\"color: #0000ff;\">SQL&gt;  select name, open_mode from v$database;<\/span>\r\n\r\n<span style=\"color: #0000ff;\">NAME      OPEN_MODE<\/span>\r\n<span style=\"color: #0000ff;\">--------- --------------------<\/span>\r\n<span style=\"color: #0000ff;\">ORCL      READ WRITE<\/span>\r\n\r\n<\/pre>\n<p>On voit que la base est ouverte depuis 14h avec le mode &#8220;READ WRITE&#8221;, allons le v\u00e9rifier :<\/p>\n<pre><span style=\"color: #0000ff;\">SQL&gt; select * from employes;<\/span>\r\n\r\n<span style=\"color: #0000ff;\">NOM                       POSTE<\/span>\r\n<span style=\"color: #0000ff;\">------------------------- --------------------<\/span>\r\n<span style=\"color: #0000ff;\">manu                      DBA<\/span>\r\n<span style=\"color: #0000ff;\">john                      admin systeme<\/span>\r\n<span style=\"color: #0000ff;\">Fred                      admin reseaux<\/span>\r\n\r\n<span style=\"color: #0000ff;\">SQL&gt; insert into employes values ('toto','pirate');<\/span>\r\n\r\n<span style=\"color: #0000ff;\">1 row created.<\/span>\r\n\r\n<span style=\"color: #0000ff;\">SQL&gt; commit;<\/span>\r\n\r\n<span style=\"color: #0000ff;\">Commit complete.<\/span>\r\n\r\n<span style=\"color: #0000ff;\">SQL&gt; select * from employes;<\/span>\r\n\r\n<span style=\"color: #0000ff;\">NOM                       POSTE<\/span>\r\n<span style=\"color: #0000ff;\">------------------------- --------------------<\/span>\r\n<span style=\"color: #0000ff;\">toto                      pirate<\/span>\r\n<span style=\"color: #0000ff;\">manu                      DBA<\/span>\r\n<span style=\"color: #0000ff;\">john                      admin systeme<\/span>\r\n<span style=\"color: #0000ff;\">Fred                      admin reseaux<\/span>\r\n\r\n<\/pre>\n<p>Nous pouvons en d\u00e9duire que notre base &#8220;capdatarep&#8221; est maintenant une base ind\u00e9pendante ouverte en lecture\/\u00e9criture.<\/p>\n<h5>&#8211; interface AWS CLI<\/h5>\n<p>Avec aws cli, la promotion d&#8217;un read replicas se fera via la commande (exemple avec &#8220;capdatarep2&#8221;):<\/p>\n<pre><strong><span style=\"color: #993366;\">$ aws rds promote-read-replica --db-instance-identifier capdatarep2 --region eu-west-3<\/span><\/strong><\/pre>\n<p>Une r\u00e9ponse en JSON sera envoy\u00e9 apr\u00e8s cette commande<\/p>\n<pre>{\r\n<span style=\"color: #993366;\">    \"DBInstance\": {<\/span>\r\n<span style=\"color: #993366;\">        \"PubliclyAccessible\": false,<\/span>\r\n<span style=\"color: #993366;\">        \"MasterUsername\": \"manu\",<\/span>\r\n<span style=\"color: #993366;\">        \"MonitoringInterval\": 0,<\/span>\r\n<span style=\"color: #993366;\">        \"LicenseModel\": \"bring-your-own-license\",<\/span>\r\n<span style=\"color: #993366;\">        \"VpcSecurityGroups\": [<\/span>\r\n<span style=\"color: #993366;\">            {<\/span>\r\n<span style=\"color: #993366;\">                \"Status\": \"active\",<\/span>\r\n<span style=\"color: #993366;\">                \"VpcSecurityGroupId\": \"sg-03b37eb21e178db5d\"<\/span>\r\n<span style=\"color: #993366;\">            },<\/span>\r\n<span style=\"color: #993366;\">            {<\/span>\r\n<span style=\"color: #993366;\">                \"Status\": \"active\",<\/span>\r\n<span style=\"color: #993366;\">                \"VpcSecurityGroupId\": \"sg-020a6713a54e7921e\"<\/span>\r\n<span style=\"color: #993366;\">            }<\/span>\r\n<span style=\"color: #993366;\">        ],<\/span>\r\n<span style=\"color: #993366;\">        \"InstanceCreateTime\": \"2019-05-13T13:26:31.991Z\",<\/span>\r\n<span style=\"color: #993366;\">        \"CopyTagsToSnapshot\": false,<\/span>\r\n<span style=\"color: #993366;\">        \"OptionGroupMemberships\": [<\/span>\r\n<span style=\"color: #993366;\">            {<\/span>\r\n<span style=\"color: #993366;\">                \"Status\": \"in-sync\",<\/span>\r\n<span style=\"color: #993366;\">                \"OptionGroupName\": \"default:oracle-ee-12-1\"<\/span>\r\n<span style=\"color: #993366;\">            }<\/span>\r\n<span style=\"color: #993366;\">        ],<\/span>\r\n<span style=\"color: #993366;\">        \"PendingModifiedValues\": {<\/span>\r\n<span style=\"color: #993366;\">            \"BackupRetentionPeriod\": 1<\/span>\r\n<span style=\"color: #993366;\">        },<\/span>\r\n<span style=\"color: #993366;\">        \"Engine\": \"oracle-ee\",<\/span>\r\n<span style=\"color: #993366;\">        \"MultiAZ\": false,<\/span>\r\n<span style=\"color: #993366;\">        \"DBSecurityGroups\": [],<\/span>\r\n<span style=\"color: #993366;\">        \"DBParameterGroups\": [<\/span>\r\n<span style=\"color: #993366;\">            {<\/span>\r\n<span style=\"color: #993366;\">                \"DBParameterGroupName\": \"default.oracle-ee-12.1\",<\/span>\r\n<span style=\"color: #993366;\">                \"ParameterApplyStatus\": \"in-sync\"<\/span>\r\n<span style=\"color: #993366;\">            }<\/span>\r\n<span style=\"color: #993366;\">        ],<\/span>\r\n<span style=\"color: #993366;\">        \"PerformanceInsightsEnabled\": false,<\/span>\r\n<span style=\"color: #993366;\">        \"ReadReplicaSourceDBInstanceIdentifier\": \"capdata\",<\/span>\r\n<span style=\"color: #993366;\">        \"AutoMinorVersionUpgrade\": false,<\/span>\r\n<span style=\"color: #993366;\">        \"PreferredBackupWindow\": \"10:22-10:52\",<\/span>\r\n<span style=\"color: #993366;\">        \"DBSubnetGroup\": {<\/span>\r\n<span style=\"color: #993366;\">            \"Subnets\": [<\/span>\r\n<span style=\"color: #993366;\">                {<\/span>\r\n<span style=\"color: #993366;\">                    \"SubnetStatus\": \"Active\",<\/span>\r\n<span style=\"color: #993366;\">                    \"SubnetIdentifier\": \"subnet-0b3c36203a277331f\",<\/span>\r\n<span style=\"color: #993366;\">                    \"SubnetAvailabilityZone\": {<\/span>\r\n<span style=\"color: #993366;\">                        \"Name\": \"eu-west-3c\"<\/span>\r\n<span style=\"color: #993366;\">                    }<\/span>\r\n<span style=\"color: #993366;\">                },<\/span>\r\n<span style=\"color: #993366;\">                {<\/span>\r\n<span style=\"color: #993366;\">                    \"SubnetStatus\": \"Active\",<\/span>\r\n<span style=\"color: #993366;\">                    \"SubnetIdentifier\": \"subnet-0b56834a874187f7d\",<\/span>\r\n<span style=\"color: #993366;\">                    \"SubnetAvailabilityZone\": {<\/span>\r\n<span style=\"color: #993366;\">                        \"Name\": \"eu-west-3b\"<\/span>\r\n<span style=\"color: #993366;\">                    }<\/span>\r\n<span style=\"color: #993366;\">                }<\/span>\r\n<span style=\"color: #993366;\">            ],<\/span>\r\n<span style=\"color: #993366;\">            \"DBSubnetGroupName\": \"default-vpc-09c93b8bac48a99ff\",<\/span>\r\n<span style=\"color: #993366;\">            \"VpcId\": \"vpc-09c93b8bac48a99ff\",<\/span>\r\n<span style=\"color: #993366;\">            \"DBSubnetGroupDescription\": \"Created from the RDS Management Console\",<\/span>\r\n<span style=\"color: #993366;\">            \"SubnetGroupStatus\": \"Complete\"<\/span>\r\n<span style=\"color: #993366;\">        },<\/span>\r\n<span style=\"color: #993366;\">        \"ReadReplicaDBInstanceIdentifiers\": [],<\/span>\r\n<span style=\"color: #993366;\">        \"AllocatedStorage\": 20,<\/span>\r\n<span style=\"color: #993366;\">        \"DBInstanceArn\": \"arn:aws:rds:eu-west-3:018033502850:db:capdatarep2\",<\/span>\r\n<span style=\"color: #993366;\">        \"BackupRetentionPeriod\": 0,<\/span>\r\n<span style=\"color: #993366;\">        \"DBName\": \"ORCL\",<\/span>\r\n<span style=\"color: #993366;\">        \"PreferredMaintenanceWindow\": \"sun:04:57-sun:05:27\",<\/span>\r\n<span style=\"color: #993366;\">        \"Endpoint\": {<\/span>\r\n<span style=\"color: #993366;\">            \"HostedZoneId\": \"ZMESEXB7ZGGQ3\",<\/span>\r\n<span style=\"color: #993366;\">            \"Port\": 1532,<\/span>\r\n<span style=\"color: #993366;\">            \"Address\": \"capdatarep2.cctwibgpckff.eu-west-3.rds.amazonaws.com\"<\/span>\r\n<span style=\"color: #993366;\">        },<\/span>\r\n<span style=\"color: #993366;\">        \"DBInstanceStatus\": \"modifying\",<\/span>\r\n<span style=\"color: #993366;\">        \"StatusInfos\": [<\/span>\r\n<span style=\"color: #993366;\">            {<\/span>\r\n<span style=\"color: #993366;\">                \"Status\": \"replicating\",<\/span>\r\n<span style=\"color: #993366;\">                \"StatusType\": \"read replication\",<\/span>\r\n<span style=\"color: #993366;\">                \"Normal\": true<\/span>\r\n<span style=\"color: #993366;\">            }<\/span>\r\n<span style=\"color: #993366;\">        ],<\/span>\r\n<span style=\"color: #993366;\">        \"IAMDatabaseAuthenticationEnabled\": false,<\/span>\r\n<span style=\"color: #993366;\">        \"EngineVersion\": \"12.1.0.2.v15\",<\/span>\r\n<span style=\"color: #993366;\">        \"DeletionProtection\": false,<\/span>\r\n<span style=\"color: #993366;\">        \"CharacterSetName\": \"AL32UTF8\",<\/span>\r\n<span style=\"color: #993366;\">        \"AvailabilityZone\": \"eu-west-3c\",<\/span>\r\n<span style=\"color: #993366;\">        \"DomainMemberships\": [],<\/span>\r\n<span style=\"color: #993366;\">        \"StorageType\": \"gp2\",<\/span>\r\n<span style=\"color: #993366;\">        \"DbiResourceId\": \"db-DQ7BCOFD5ULPI3SQTRLUTMY34A\",<\/span>\r\n<span style=\"color: #993366;\">        \"CACertificateIdentifier\": \"rds-ca-2015\",<\/span>\r\n<span style=\"color: #993366;\">        \"StorageEncrypted\": false,<\/span>\r\n<span style=\"color: #993366;\">        \"DBInstanceClass\": \"db.m5.large\",<\/span>\r\n<span style=\"color: #993366;\">        \"DbInstancePort\": 0,<\/span>\r\n<span style=\"color: #993366;\">        \"DBInstanceIdentifier\": \"capdatarep2\"<\/span>\r\n<span style=\"color: #993366;\">    }<\/span>\r\n<span style=\"color: #993366;\">}\r\n\r\n\r\n<\/span><\/pre>\n<p>le &#8220;promote&#8221; de la base &#8220;capdatarep2&#8221; est en cours, le processus red\u00e9marrera la base et celle ci sera vu comme &#8220;instance&#8221; et non plus &#8220;replica&#8221; sur la console :<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-7527 size-full\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/instances_sans_repli.jpg\" alt=\"\" width=\"1214\" height=\"297\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/instances_sans_repli.jpg 1214w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/instances_sans_repli-300x73.jpg 300w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/instances_sans_repli-768x188.jpg 768w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/instances_sans_repli-1024x251.jpg 1024w\" sizes=\"auto, (max-width: 1214px) 100vw, 1214px\" \/><\/p>\n<p>On pourra \u00e9galement se connecter sur &#8220;capdatarep2&#8221; et tester l&#8217;ajout de donn\u00e9es dans notre table &#8220;employes&#8221; pour valider le fait que cette base est pass\u00e9 en mode &#8220;READ WRITE&#8221;. Proc\u00e9der \u00e0 ce qui a \u00e9t\u00e9 fait \u00e0 l&#8217;\u00e9tape du &#8220;promote&#8221; de la base &#8220;capdatarep&#8221; pour verifier cela.<\/p>\n<p>&nbsp;<\/p>\n<h3>Conclusion<\/h3>\n<p>L&#8217;option Oracle for RDS Read Replicas fait-elle office d&#8217;option Active Datagaurd ?<\/p>\n<h4>Oui car<\/h4>\n<p>comme nous l&#8217;avons vu, dans le cadre d&#8217;une base de donn\u00e9es Oracle RDS ouverte en lecture \/ \u00e9criture , nous pourrons y attacher une base de donn\u00e9es Oracle de m\u00eame version qui pourra accueillir le flux de donn\u00e9es en lecture afin de &#8220;r\u00e9duire&#8221; les acc\u00e8s sur la base primaire.<br \/>\nIl sera n\u00e9cessaire de disposer de licences Enterprise Edition, dans la cadre de license BYOL (Bring your own license) pour cette mise en place dans Amazon.<\/p>\n<p>La r\u00e9plication en mode &#8220;Redo Apply&#8221; est effectu\u00e9e au fil de l&#8217;eau comme ceci peut se faire sur une installation en mode IaaS ou sur un syst\u00e8me On-Premise.<br \/>\nIl sera d&#8217;ailleurs possible de suivre notre processus de media recovery via les vues dataguard classiques:<\/p>\n<p><span style=\"color: #339966;\">v$managed_standby<\/span> pour suivre l&#8217;etat des processus rfs et arc.<\/p>\n<p><span style=\"color: #339966;\">v$dataguard_status<\/span> pour suivre les logs Oracle li\u00e9s \u00e0 la replication.<\/p>\n<p><span style=\"color: #339966;\">v$dataguard_stats<\/span> pour suivre les composants de replication ; transport_lag et apply_lag.<\/p>\n<p><span style=\"color: #339966;\">v$archived_log<\/span> pour savoir quels sont les archivelogs sauvegard\u00e9s, appliqu\u00e9s et supprim\u00e9s.<\/p>\n<p>&nbsp;<\/p>\n<h4>Mais en fait<\/h4>\n<p>nous sommes dans un environnement PaaS, donc certaines fonctionnalit\u00e9s li\u00e9es au dataguard ne seront pas accessibles. On pense notamment au DG Broker, car celui ci se g\u00e8re via l&#8217;outil &#8220;dgmgrl&#8221;, outil qui ne nous sera pas mis \u00e0 disposition par Amazon.<br \/>\nLes vues syst\u00e8mes ci dessus nous permettent de suivre notre processus de recover, mais pas de broker pour la replication.<\/p>\n<p>Enfin, chose importante \u00e0 bien se mettre en t\u00eate, AWS nous propose ici un mode &#8220;Read Replicas&#8221; mais ne nous assure pas un v\u00e9ritable &#8220;Disaster Recovery&#8221; comme peut le faire le mode &#8220;Multi-AZ&#8221;. Il ne nous sera pas possible d&#8217;effectuer un v\u00e9ritable &#8220;Switchover&#8221; de base, ainsi la primaire ne changera <span style=\"color: #ff0000;\">jamais<\/span> de r\u00f4le avec l&#8217;option Read Replicas.<\/p>\n<p>Avec le Read Replicas, Amazon n&#8217;a certainement pas voulu mettre en concurrence son option &#8220;Multi-AZ&#8221; mais juste mettre en oeuvre une fonctionnalit\u00e9 qui permet de maximiser les performances en lectures sans p\u00e9naliser les \u00e9critures de la base primaire. Le multi-AZ est l\u00e0 pour s&#8217;assurer de la haute disponibilit\u00e9. Amazon a clairement identifier les r\u00f4les propres \u00e0 chacune de ces solutions dans un tableau d\u00e9fini comme ceci :<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-7528 size-full\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/multiAZ-vs-RR.jpg\" alt=\"\" width=\"880\" height=\"374\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/multiAZ-vs-RR.jpg 880w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/multiAZ-vs-RR-300x128.jpg 300w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/multiAZ-vs-RR-768x326.jpg 768w\" sizes=\"auto, (max-width: 880px) 100vw, 880px\" \/><\/p>\n<p>Cordialement<\/p>\n<p>&nbsp;<\/p>\n<p>Emmanuel RAMI<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-twitter nolightbox\" data-provider=\"twitter\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Twitter\" href=\"https:\/\/twitter.com\/intent\/tweet?url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F7495&#038;text=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"twitter\" title=\"Share on Twitter\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/twitter.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-linkedin nolightbox\" data-provider=\"linkedin\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Linkedin\" href=\"https:\/\/www.linkedin.com\/shareArticle?mini=true&#038;url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F7495&#038;title=AWS%20Oracle%20RDS%20Read%20Replicas%20%20%3A%20%20un%20Active%20Dataguard%20en%20mode%20PaaS%20%3F\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"linkedin\" title=\"Share on Linkedin\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/linkedin.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-mail nolightbox\" data-provider=\"mail\" rel=\"nofollow\" title=\"Share by email\" href=\"mailto:?subject=AWS%20Oracle%20RDS%20Read%20Replicas%20%20%3A%20%20un%20Active%20Dataguard%20en%20mode%20PaaS%20%3F&#038;body=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20:%20https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F7495\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"mail\" title=\"Share by email\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/mail.png\" \/><\/a>","protected":false},"excerpt":{"rendered":"<p>Comme nous le savons d\u00e9j\u00e0, AWS dans son offre RDS, propose la fonctionnalit\u00e9 &#8220;Read Replicas&#8221; pour l&#8217;ensemble des bases MySQL, PostGreSQL, Aurora et MariaDb. Or depuis mars 2019, AWS a d\u00e9cid\u00e9 d&#8217;\u00e9tendre cette fonctionnalit\u00e9 \u00e0 Oracle. On attend toujours cette&hellip; <a href=\"https:\/\/blog.capdata.fr\/index.php\/aws-oracle-rds-read-replicas-active-dataguard-en-mode-paas\/\" class=\"more-link\">Continuer la lecture <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":32,"featured_media":7799,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[295,1,3],"tags":[297,315],"class_list":["post-7495","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-aws","category-non-classe","category-oracle","tag-cloud","tag-paas"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>AWS Oracle RDS Read Replicas : un Active Dataguard en mode PaaS ? - Capdata TECH BLOG<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.capdata.fr\/index.php\/aws-oracle-rds-read-replicas-active-dataguard-en-mode-paas\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"AWS Oracle RDS Read Replicas : un Active Dataguard en mode PaaS ? - Capdata TECH BLOG\" \/>\n<meta property=\"og:description\" content=\"Comme nous le savons d\u00e9j\u00e0, AWS dans son offre RDS, propose la fonctionnalit\u00e9 &#8220;Read Replicas&#8221; pour l&#8217;ensemble des bases MySQL, PostGreSQL, Aurora et MariaDb. Or depuis mars 2019, AWS a d\u00e9cid\u00e9 d&#8217;\u00e9tendre cette fonctionnalit\u00e9 \u00e0 Oracle. On attend toujours cette&hellip; Continuer la lecture &rarr;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.capdata.fr\/index.php\/aws-oracle-rds-read-replicas-active-dataguard-en-mode-paas\/\" \/>\n<meta property=\"og:site_name\" content=\"Capdata TECH BLOG\" \/>\n<meta property=\"article:published_time\" content=\"2019-05-22T09:44:29+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-11-21T15:49:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/oracle_12c_AWS-300x161-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"300\" \/>\n\t<meta property=\"og:image:height\" content=\"161\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Emmanuel RAMI\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Emmanuel RAMI\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/aws-oracle-rds-read-replicas-active-dataguard-en-mode-paas\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/aws-oracle-rds-read-replicas-active-dataguard-en-mode-paas\/\"},\"author\":{\"name\":\"Emmanuel RAMI\",\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/person\/797b9b6698fa35f7ce3e9a70a8b102ae\"},\"headline\":\"AWS Oracle RDS Read Replicas : un Active Dataguard en mode PaaS ?\",\"datePublished\":\"2019-05-22T09:44:29+00:00\",\"dateModified\":\"2022-11-21T15:49:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/aws-oracle-rds-read-replicas-active-dataguard-en-mode-paas\/\"},\"wordCount\":1766,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/blog.capdata.fr\/#organization\"},\"keywords\":[\"cloud\",\"PaaS\"],\"articleSection\":{\"0\":\"AWS\",\"2\":\"Oracle\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/blog.capdata.fr\/index.php\/aws-oracle-rds-read-replicas-active-dataguard-en-mode-paas\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/aws-oracle-rds-read-replicas-active-dataguard-en-mode-paas\/\",\"url\":\"https:\/\/blog.capdata.fr\/index.php\/aws-oracle-rds-read-replicas-active-dataguard-en-mode-paas\/\",\"name\":\"AWS Oracle RDS Read Replicas : un Active Dataguard en mode PaaS ? - Capdata TECH BLOG\",\"isPartOf\":{\"@id\":\"https:\/\/blog.capdata.fr\/#website\"},\"datePublished\":\"2019-05-22T09:44:29+00:00\",\"dateModified\":\"2022-11-21T15:49:04+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/aws-oracle-rds-read-replicas-active-dataguard-en-mode-paas\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.capdata.fr\/index.php\/aws-oracle-rds-read-replicas-active-dataguard-en-mode-paas\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/aws-oracle-rds-read-replicas-active-dataguard-en-mode-paas\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/blog.capdata.fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AWS Oracle RDS Read Replicas : un Active Dataguard en mode PaaS ?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.capdata.fr\/#website\",\"url\":\"https:\/\/blog.capdata.fr\/\",\"name\":\"Capdata TECH BLOG\",\"description\":\"Le blog technique sur les bases de donn\u00e9es de CAP DATA Consulting\",\"publisher\":{\"@id\":\"https:\/\/blog.capdata.fr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.capdata.fr\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/blog.capdata.fr\/#organization\",\"name\":\"Capdata TECH BLOG\",\"url\":\"https:\/\/blog.capdata.fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp\",\"contentUrl\":\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp\",\"width\":800,\"height\":254,\"caption\":\"Capdata TECH BLOG\"},\"image\":{\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.linkedin.com\/company\/cap-data-consulting\/mycompany\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/person\/797b9b6698fa35f7ce3e9a70a8b102ae\",\"name\":\"Emmanuel RAMI\",\"sameAs\":[\"https:\/\/blog.capdata.fr\"],\"url\":\"https:\/\/blog.capdata.fr\/index.php\/author\/erami\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"AWS Oracle RDS Read Replicas : un Active Dataguard en mode PaaS ? - Capdata TECH BLOG","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.capdata.fr\/index.php\/aws-oracle-rds-read-replicas-active-dataguard-en-mode-paas\/","og_locale":"fr_FR","og_type":"article","og_title":"AWS Oracle RDS Read Replicas : un Active Dataguard en mode PaaS ? - Capdata TECH BLOG","og_description":"Comme nous le savons d\u00e9j\u00e0, AWS dans son offre RDS, propose la fonctionnalit\u00e9 &#8220;Read Replicas&#8221; pour l&#8217;ensemble des bases MySQL, PostGreSQL, Aurora et MariaDb. Or depuis mars 2019, AWS a d\u00e9cid\u00e9 d&#8217;\u00e9tendre cette fonctionnalit\u00e9 \u00e0 Oracle. On attend toujours cette&hellip; Continuer la lecture &rarr;","og_url":"https:\/\/blog.capdata.fr\/index.php\/aws-oracle-rds-read-replicas-active-dataguard-en-mode-paas\/","og_site_name":"Capdata TECH BLOG","article_published_time":"2019-05-22T09:44:29+00:00","article_modified_time":"2022-11-21T15:49:04+00:00","og_image":[{"width":300,"height":161,"url":"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/oracle_12c_AWS-300x161-1.png","type":"image\/png"}],"author":"Emmanuel RAMI","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"Emmanuel RAMI","Dur\u00e9e de lecture estim\u00e9e":"13 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.capdata.fr\/index.php\/aws-oracle-rds-read-replicas-active-dataguard-en-mode-paas\/#article","isPartOf":{"@id":"https:\/\/blog.capdata.fr\/index.php\/aws-oracle-rds-read-replicas-active-dataguard-en-mode-paas\/"},"author":{"name":"Emmanuel RAMI","@id":"https:\/\/blog.capdata.fr\/#\/schema\/person\/797b9b6698fa35f7ce3e9a70a8b102ae"},"headline":"AWS Oracle RDS Read Replicas : un Active Dataguard en mode PaaS ?","datePublished":"2019-05-22T09:44:29+00:00","dateModified":"2022-11-21T15:49:04+00:00","mainEntityOfPage":{"@id":"https:\/\/blog.capdata.fr\/index.php\/aws-oracle-rds-read-replicas-active-dataguard-en-mode-paas\/"},"wordCount":1766,"commentCount":0,"publisher":{"@id":"https:\/\/blog.capdata.fr\/#organization"},"keywords":["cloud","PaaS"],"articleSection":{"0":"AWS","2":"Oracle"},"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blog.capdata.fr\/index.php\/aws-oracle-rds-read-replicas-active-dataguard-en-mode-paas\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blog.capdata.fr\/index.php\/aws-oracle-rds-read-replicas-active-dataguard-en-mode-paas\/","url":"https:\/\/blog.capdata.fr\/index.php\/aws-oracle-rds-read-replicas-active-dataguard-en-mode-paas\/","name":"AWS Oracle RDS Read Replicas : un Active Dataguard en mode PaaS ? - Capdata TECH BLOG","isPartOf":{"@id":"https:\/\/blog.capdata.fr\/#website"},"datePublished":"2019-05-22T09:44:29+00:00","dateModified":"2022-11-21T15:49:04+00:00","breadcrumb":{"@id":"https:\/\/blog.capdata.fr\/index.php\/aws-oracle-rds-read-replicas-active-dataguard-en-mode-paas\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.capdata.fr\/index.php\/aws-oracle-rds-read-replicas-active-dataguard-en-mode-paas\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/blog.capdata.fr\/index.php\/aws-oracle-rds-read-replicas-active-dataguard-en-mode-paas\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/blog.capdata.fr\/"},{"@type":"ListItem","position":2,"name":"AWS Oracle RDS Read Replicas : un Active Dataguard en mode PaaS ?"}]},{"@type":"WebSite","@id":"https:\/\/blog.capdata.fr\/#website","url":"https:\/\/blog.capdata.fr\/","name":"Capdata TECH BLOG","description":"Le blog technique sur les bases de donn\u00e9es de CAP DATA Consulting","publisher":{"@id":"https:\/\/blog.capdata.fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.capdata.fr\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/blog.capdata.fr\/#organization","name":"Capdata TECH BLOG","url":"https:\/\/blog.capdata.fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/","url":"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp","contentUrl":"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp","width":800,"height":254,"caption":"Capdata TECH BLOG"},"image":{"@id":"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/cap-data-consulting\/mycompany\/"]},{"@type":"Person","@id":"https:\/\/blog.capdata.fr\/#\/schema\/person\/797b9b6698fa35f7ce3e9a70a8b102ae","name":"Emmanuel RAMI","sameAs":["https:\/\/blog.capdata.fr"],"url":"https:\/\/blog.capdata.fr\/index.php\/author\/erami\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts\/7495","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/users\/32"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/comments?post=7495"}],"version-history":[{"count":20,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts\/7495\/revisions"}],"predecessor-version":[{"id":9505,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts\/7495\/revisions\/9505"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/media\/7799"}],"wp:attachment":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/media?parent=7495"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/categories?post=7495"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/tags?post=7495"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}