{"id":7615,"date":"2019-06-25T10:11:08","date_gmt":"2019-06-25T09:11:08","guid":{"rendered":"https:\/\/blog.capdata.fr\/?p=7615"},"modified":"2019-09-13T10:38:00","modified_gmt":"2019-09-13T09:38:01","slug":"oracle-rds-effectuer-des-backup-rman-en-mode-paas","status":"publish","type":"post","link":"https:\/\/blog.capdata.fr\/index.php\/oracle-rds-effectuer-des-backup-rman-en-mode-paas\/","title":{"rendered":"Oracle RDS : effectuer des backup RMAN 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%2F7615&#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%2F7615&#038;title=Oracle%20RDS%20%3A%20effectuer%20des%20backup%20RMAN%20en%20mode%20PaaS.\" 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=Oracle%20RDS%20%3A%20effectuer%20des%20backup%20RMAN%20en%20mode%20PaaS.&#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%2F7615\" 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 size-full wp-image-6905\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2018\/12\/aws-database.png\" alt=\"\" width=\"259\" height=\"191\" \/> AWS, dans son offre RDS, emp\u00eache l&#8217;utilisateur d\u2019acc\u00e9der au serveur ou est h\u00e9berg\u00e9e la base de donn\u00e9es. Ce qui fait que l&#8217;utilisation de binaires type &#8220;expdp&#8221;, &#8220;dgmgrl&#8221; ou encore &#8220;rman&#8221; ne sera pas possible sur le serveur. Par contre, AWS autorisera l&#8217;utilisateur \u00e0 effectuer des backup RMAN directement en base.<\/p>\n<p>Pour cela, l&#8217;utilisateur s&#8217;appuiera sur la proc\u00e9dure &#8220;<span style=\"color: #000000;\"><strong><span style=\"color: #0000ff;\">rdsadmin.rdsadmin_rman_uti<\/span>l<\/strong><\/span>&#8221; du package, bien connu sous AWS RDS, qui est &#8220;<span style=\"color: #0000ff;\"><strong>rdsadmin<\/strong><\/span>&#8220;.<\/p>\n<p>Une proc\u00e9dure assez similaire avait \u00e9t\u00e9 trait\u00e9e pour les instances de bases SQL Server pour RDS : <a href=\"http:\/\/Lien vers l'article\">https:\/\/blog.capdata.fr\/index.php\/aws-backup-restore-sql-server-rds-iaas-ec2-et-vice-versa\/<\/a><\/p>\n<p>&nbsp;<\/p>\n<h3>Quelques recommandations<\/h3>\n<p>AWS RDS offre la possibilit\u00e9 de faire des backup RMAN, en revanche, il ne sera pas possible de faire directement une restauration RMAN sur une base Oracle RDS.<br \/>\nIl faudra passer par le processus d\u00e9di\u00e9 qu&#8217;Amazon met en place via des backup automatiques : par exemple, l&#8217;outil AWS CLI utilisera pour cela la commande :<\/p>\n<p><span style=\"color: #0000ff;\"><strong><em>aws rds restore-db-instance-to-point-in-time &#8230;..<\/em><\/strong><\/span><\/p>\n<p>Mais alors pourquoi effectuer une sauvegarde RMAN alors que AWS ne sait la restaurer sur une autre instance Oracle RDS ?<br \/>\nPlusieurs scenarii \u00e0 cela peuvent \u00eatre envisag\u00e9s :<br \/>\n&#8211; ma\u00eetriser sa propre strat\u00e9gie de backup\u00a0 (full, incremental, archivelog) et pouvoir externaliser les fichiers (sur S3 ou autres cibles externes)<br \/>\n&#8211; Utiliser les fichiers RMAN pour faire une restauration de base sur un serveur EC2 ou on-premise.<br \/>\n&#8211; Isoler un jeu de backup RMAN pour des besoins d&#8217;exercices comptables dans le cadre d&#8217;une compliance demand\u00e9 par un cabinet d&#8217;audit<br \/>\n&#8230;..<\/p>\n<p>&nbsp;<\/p>\n<h2>Sauvegardes RMAN sous Oracle RDS<\/h2>\n<h4><span style=\"color: #993300;\">Pre requis<\/span><\/h4>\n<ul>\n<li>Les param\u00e8tres<\/li>\n<\/ul>\n<p>De nombreux param\u00e8tres utilis\u00e9s par la proc\u00e9dure <span style=\"color: #000000;\"><strong><span style=\"color: #0000ff;\">rdsadmin.rdsadmin_rman_util\u00a0 <\/span><\/strong><\/span>seront communs \u00e0 chaque appel. La liste des param\u00e8tres sera la suivante :<\/p>\n<p>\u2022 <span style=\"color: #339966;\"><strong>p_owner<\/strong> <\/span>: Propri\u00e9taire du r\u00e9pertoire sp\u00e9cifi\u00e9 dans p_directory_name.<br \/>\n\u2022 <span style=\"color: #339966;\"><strong>p_directory_name<\/strong> <\/span>: Nom de r\u00e9pertoire de la base de donn\u00e9es.<br \/>\n\u2022 <span style=\"color: #339966;\"><strong>p_label\u00a0<\/strong> <\/span>: nom donn\u00e9 pour le backup<br \/>\n\u2022 <span style=\"color: #339966;\"><strong>p_compress\u00a0<\/strong> <\/span>: Active ou non la compression (TRUE\/FALSE)<br \/>\n\u2022 <span style=\"color: #339966;\"><strong>p_include_archive_logs\u00a0<\/strong> <\/span>: sauvegarde avec archivelogs (TUE\/FALSE)<br \/>\n\u2022 <span style=\"color: #339966;\"><strong>p_include_controlfile<\/strong> <\/span>: sauvegarde avec controlfile (TRUE\/FALSE)<br \/>\n\u2022 <span style=\"color: #339966;\"><strong>p_parallel<\/strong> <\/span>: sauvegarde sur plusieurs canaux (nombre \u00e0 sp\u00e9cifier)<br \/>\n\u2022 <span style=\"color: #339966;\"><strong>p_rman_to_dbms_output<\/strong> <\/span>: affiche les instructions RMAN \u00e0 l\u2019\u00e9cran via DBMS_OUTPUT (TRUE\/FALSE). Sp\u00e9cifier \u00e9galement &#8220;set serverouput on&#8221;<br \/>\n\u2022 <span style=\"color: #339966;\"><strong>p_section_size_mb<\/strong> <\/span>: taille de chaque fichier de backup (correspond au MAXPIECESIZE dans RMAN)<br \/>\n\u2022 <span style=\"color: #339966;\"><strong>p_validation_type<\/strong> <\/span>: recherche de corruption de blocs bases de donn\u00e9es. Specifier &#8220;PHYSICAL&#8221; (par d\u00e9faut) ou &#8220;PHYSICAL+LOGICAL&#8221;<\/p>\n<p>&nbsp;<\/p>\n<ul>\n<li>Le DIRECTORY<\/li>\n<\/ul>\n<p>Avant de commencer \u00e0 effectuer une sauvegarde RMAN, il faudra s&#8217;assurer de disposer d&#8217;un DIRECTORY base de donn\u00e9es dans lequel stock\u00e9 les fichiers RMAN.<br \/>\nCelui ci pourra se cr\u00e9er via la commande :<\/p>\n<pre><span style=\"color: #3366ff;\">SQL&gt; exec rdsadmin.rdsadmin_util.create_directory(p_directory_name =&gt; 'BACKUP_RMAN');<\/span>\r\n\r\n<span style=\"color: #3366ff;\">PL\/SQL procedure successfully completed.<\/span>\r\n\r\n<span style=\"color: #3366ff;\">SQL&gt; select OWNER, DIRECTORY_NAME,DIRECTORY_PATH from dba_directories where DIRECTORY_NAME='BACKUP_RMAN';<\/span>\r\n\r\n<span style=\"color: #3366ff;\">OWNER      DIRECTORY_NAME            DIRECTORY_PATH<\/span>\r\n<span style=\"color: #3366ff;\">---------- ------------------------- ---------------------------------------------<\/span>\r\n<span style=\"color: #3366ff;\">SYS        BACKUP_RMAN               \/rdsdbdata\/userdirs\/01<\/span><\/pre>\n<p>&nbsp;<\/p>\n<ul>\n<li>G\u00e9rer le mode ARCHIVELOG de la base<\/li>\n<\/ul>\n<p>V\u00e9rifier que la base est bien en mode ARCHIVELOG et que la destination des archivelogs ne comporte pas d&#8217;erreurs :<\/p>\n<pre><span style=\"color: #3366ff;\">SQL&gt;\u00a0 select NAME,CREATED,LOG_MODE,OPEN_MODE,DATABASE_ROLE from v$database;<\/span>\r\n\r\n<span style=\"color: #3366ff;\">NAME\u00a0\u00a0\u00a0\u00a0\u00a0 CREATED\u00a0\u00a0 LOG_MODE\u00a0\u00a0\u00a0\u00a0 OPEN_MODE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 DATABASE_ROLE<\/span>\r\n<span style=\"color: #3366ff;\">--------- --------- ------------ -------------------- ----------------<\/span>\r\n<span style=\"color: #3366ff;\">CAPDATA\u00a0\u00a0 20-JUN-19 ARCHIVELOG\u00a0 \u00a0READ WRITE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 PRIMARY<\/span>\r\n\r\n\r\n<span style=\"color: #3366ff;\">SQL&gt; select DEST_ID,DEST_NAME,STATUS,TARGET,NAME_SPACE,DESTINATION,PROCESS,ERROR from v$archive_dest where status='VALID';<\/span>\r\n\r\n<span style=\"color: #3366ff;\"> \u00a0 DEST_ID DEST_NAME\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 STATUS\u00a0\u00a0\u00a0 TARGET\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 NAME_SP DESTINATION\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0   \u00a0PROCESS\u00a0\u00a0\u00a0 ERROR<\/span>\r\n<span style=\"color: #3366ff;\">---------- -------------------- --------- ---------------- ------- ---------------------------------------- ---------- ----------<\/span>\r\n<span style=\"color: #3366ff;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1 LOG_ARCHIVE_DEST_1\u00a0\u00a0 VALID\u00a0\u00a0\u00a0\u00a0 PRIMARY\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 SYSTEM\u00a0 \/rdsdbdata\/db\/CAPDATA_A\/arch\/redolog\u00a0 \u00a0\u00a0\u00a0ARCH<\/span><\/pre>\n<p>&nbsp;<\/p>\n<p>D\u00e9finir la r\u00e9tention des archivelogs avant de lancer une sauvegarde. Par exemple, nous pourrons conserver 12 heures d&#8217;archivelogs sur disque afin de pouvoir les exploiter par un autre processus (LogMinner par exemple).<\/p>\n<pre><span style=\"color: #3366ff;\">SQL&gt; exec rdsadmin.rdsadmin_util.set_configuration( name =&gt; 'archivelog retention hours', value =&gt; '12');<\/span>\r\n\r\n<span style=\"color: #3366ff;\">PL\/SQL procedure successfully completed.<\/span>\r\n\r\n<span style=\"color: #3366ff;\">SQL&gt; commit;<\/span>\r\n\r\n<span style=\"color: #3366ff;\">Commit complete.<\/span>\r\n\r\n<span style=\"color: #3366ff;\">SQL&gt; exec rdsadmin.rdsadmin_util.show_configuration;<\/span>\r\n<span style=\"color: #3366ff;\">NAME:archivelog retention hours<\/span>\r\n<span style=\"color: #3366ff;\">VALUE:12<\/span>\r\n<span style=\"color: #3366ff;\">DESCRIPTION:ArchiveLog expiration specifies the duration in hours before archive\/redo log files are automatically deleted.<\/span>\r\n<span style=\"color: #3366ff;\">NAME:tracefile retention<\/span>\r\n<span style=\"color: #3366ff;\">VALUE:10080<\/span>\r\n<span style=\"color: #3366ff;\">DESCRIPTION:tracefile expiration specifies the duration in minutes before tracefiles in bdump are automatically deleted.<\/span>\r\n\r\n<span style=\"color: #3366ff;\">PL\/SQL procedure successfully completed.<\/span><\/pre>\n<ul>\n<li>Les versions compatibles<\/li>\n<\/ul>\n<p>Noter que pour effectuer des backup RMAN sur une base de donn\u00e9es Oracle RDS, vous devez disposer d&#8217;une base ayant une des versions AWS suivantes :<\/p>\n<pre>- 11.2.0.4.v19 ou versions 11.2 sup\u00e9rieures\r\n\r\n- 12.1.0.2.v15 ou versions 12.1 sup\u00e9rieures\r\n\r\n- 12.2.0.1.ru-2019-01.rur-2019-01.r1 ou versions 12.2 sup\u00e9rieures\r\n\r\n<\/pre>\n<h4><span style=\"color: #993300;\">Sauvegarde compl\u00e8te<\/span><\/h4>\n<p>Pour effectuer une sauvegarde de type FULL DATABASE, nous utiliserons la proc\u00e9dure &#8220;<span style=\"color: #3366ff;\">rdsadmin.rdsadmin_rman_util.backup_database_full<\/span>&#8220;.<br \/>\nLa commande ci dessous est un exemple de backup Full de notre base CAPDATA sur le nouveau repertoire &#8216;BACKUP_RMAN&#8217; cr\u00e9\u00e9 auparavant.<\/p>\n<pre><span style=\"color: #008000;\">set serveroutput on\r\nBEGIN\r\n rdsadmin.rdsadmin_rman_util.backup_database_full(\r\n   p_owner                 =&gt; 'SYS', \r\n   p_directory_name        =&gt; 'BACKUP_RMAN',\r\n   p_parallel              =&gt; 2, \r\n   p_section_size_mb       =&gt; 50,\r\n   p_rman_to_dbms_output   =&gt; TRUE);\r\nEND;\r\n\/<\/span><\/pre>\n<p>le mode &#8220;serveroutpt on&#8221; combin\u00e9 \u00e0 l&#8217;option &#8220;p_rman_to_dbms_output&#8221; nous permet d&#8217;obtenir le mode verbeux du processus, notamment la commande exacte lanc\u00e9e par RMAN qui est :<\/p>\n<pre><span style=\"color: #3366ff;\">RUN_RMAN_CMD: \/rdsdbbin\/oracle\/bin\/rman TARGET \/ LOG \/rdsdbdata\/log\/trace\/rds-rman-backup-database-2019-06-21.08-59-25.417855000.txt<\/span>\r\n<span style=\"color: #3366ff;\">@\/rdsdbdata\/tmp\/rds-rman-backup-database-2019-06-21.08-59-25.417855000.input<\/span>\r\n<span style=\"color: #3366ff;\">Recovery Manager: Release 12.1.0.2.0 - Production on Fri Jun 21 08:59:29 2019<\/span>\r\n<span style=\"color: #3366ff;\">Copyright (c) 1982, 2014, Oracle and\/or its affiliates. All rights reserved.<\/span>\r\n<span style=\"color: #3366ff;\">connected to target database: CAPDATA (DBID=703110999)<\/span>\r\n<span style=\"color: #3366ff;\">RMAN&gt; CONFIGURE CONTROLFILE AUTOBACKUP ON;<\/span>\r\n<span style=\"color: #3366ff;\">2&gt; CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '\/rdsdbdata\/userdirs\/01\/BACKUP-2019-06-21-08-59-25-%F';<\/span>\r\n<span style=\"color: #3366ff;\">3&gt; CONFIGURE BACKUP OPTIMIZATION ON;<\/span>\r\n<span style=\"color: #3366ff;\">4&gt; RUN {<\/span>\r\n<span style=\"color: #3366ff;\">5&gt; ALLOCATE CHANNEL d1 DEVICE TYPE DISK FORMAT '\/rdsdbdata\/userdirs\/01\/BACKUP-2019-06-21-08-59-25-backup-%T-%U';<\/span>\r\n<span style=\"color: #3366ff;\">6&gt; ALLOCATE CHANNEL d2 DEVICE TYPE DISK FORMAT '\/rdsdbdata\/userdirs\/01\/BACKUP-2019-06-21-08-59-25-backup-%T-%U';<\/span>\r\n<span style=\"color: #3366ff;\">7&gt; crosscheck archivelog all;<\/span>\r\n<span style=\"color: #3366ff;\">8&gt; BACKUP DATABASE SECTION SIZE 50M;<\/span>\r\n<span style=\"color: #3366ff;\">9&gt; RELEASE CHANNEL d1;<\/span>\r\n<span style=\"color: #3366ff;\">10&gt; RELEASE CHANNEL d2;<\/span>\r\n<span style=\"color: #3366ff;\">11&gt; }<\/span>\r\n<span style=\"color: #3366ff;\">12&gt;<\/span><\/pre>\n<p>Nous pourrons lire dans le Directory pour voir si les fichiers sont bien pr\u00e9sents :<\/p>\n<p><span style=\"color: #3366ff;\">SQL&gt; select * from table (rdsadmin.rds_file_util.listdir(p_directory =&gt; &#8216;BACKUP_RMAN&#8217;));<\/span><\/p>\n<pre><span style=\"color: #3366ff;\">FILENAME                                                     TYPE         FILESIZE MTIME<\/span>\r\n<span style=\"color: #3366ff;\">------------------------------------------------------------ ---------- ---------- -------------------<\/span>\r\n<span style=\"color: #3366ff;\">01\/                                                          directory        4096 2019\/06\/21 09:09:33<\/span>\r\n<span style=\"color: #3366ff;\">BACKUP-2019-06-21-08-59-25-backup-20190621-0gu4l1nu_4_1      file            49152 2019\/06\/21 08:59:42<\/span>\r\n<span style=\"color: #3366ff;\">BACKUP-2019-06-21-08-59-25-backup-20190621-01u4l1nk_4_1      file         45965312 2019\/06\/21 08:59:35<\/span>\r\n<span style=\"color: #3366ff;\">BACKUP-2019-06-21-08-59-25-backup-20190621-0gu4l1nu_6_1      file            57344 2019\/06\/21 08:59:42<\/span>\r\n<span style=\"color: #3366ff;\">BACKUP-2019-06-21-08-59-25-backup-20190621-02u4l1nk_1_1      file         35233792 2019\/06\/21 08:59:33<\/span>\r\n<span style=\"color: #3366ff;\">BACKUP-2019-06-21-08-59-25-backup-20190621-02u4l1nk_6_1      file         45842432 2019\/06\/21 08:59:41<\/span>\r\n<span style=\"color: #3366ff;\">BACKUP-2019-06-21-08-59-25-backup-20190621-01u4l1nk_6_1      file         49684480 2019\/06\/21 08:59:36<\/span>\r\n<span style=\"color: #3366ff;\">BACKUP-2019-06-21-08-59-25-backup-20190621-0mu4l1nu_2_1      file            49152 2019\/06\/21 08:59:42<\/span>\r\n<span style=\"color: #3366ff;\">BACKUP-2019-06-21-08-59-25-backup-20190621-0gu4l1nu_5_1      file            90112 2019\/06\/21 08:59:42<\/span>\r\n<span style=\"color: #3366ff;\">BACKUP-2019-06-21-08-59-25-backup-20190621-01u4l1nk_7_1      file         38756352 2019\/06\/21 08:59:37<\/span>\r\n<span style=\"color: #3366ff;\">BACKUP-2019-06-21-08-59-25-backup-20190621-0ou4l1nu_1_1      file          6463488 2019\/06\/21 08:59:42<\/span>\r\n<span style=\"color: #3366ff;\">BACKUP-2019-06-21-08-59-25-backup-20190621-0gu4l1nu_1_1      file          2351104 2019\/06\/21 08:59:42<\/span>\r\n<span style=\"color: #3366ff;\">BACKUP-2019-06-21-08-59-25-backup-20190621-02u4l1nk_3_1      file         42885120 2019\/06\/21 08:59:39<\/span>\r\n<span style=\"color: #3366ff;\">BACKUP-2019-06-21-08-59-25-backup-20190621-01u4l1nk_8_1      file         22667264 2019\/06\/21 08:59:38<\/span>\r\n<span style=\"color: #3366ff;\">BACKUP-2019-06-21-08-59-25-backup-20190621-0gu4l1nu_3_1      file            49152 2019\/06\/21 08:59:42<\/span>\r\n<span style=\"color: #3366ff;\">BACKUP-2019-06-21-08-59-25-backup-20190621-02u4l1nk_2_1      file         35938304 2019\/06\/21 08:59:38<\/span>\r\n<span style=\"color: #3366ff;\">BACKUP-2019-06-21-08-59-25-backup-20190621-01u4l1nk_2_1      file         33734656 2019\/06\/21 08:59:34<\/span>\r\n<span style=\"color: #3366ff;\">BACKUP-2019-06-21-08-59-25-backup-20190621-02u4l1nk_7_1      file         19382272 2019\/06\/21 08:59:42<\/span>\r\n<span style=\"color: #3366ff;\">BACKUP-2019-06-21-08-59-25-backup-20190621-01u4l1nk_5_1      file         48603136 2019\/06\/21 08:59:36<\/span>\r\n<span style=\"color: #3366ff;\">BACKUP-2019-06-21-08-59-25-backup-20190621-0mu4l1nu_1_1      file          6356992 2019\/06\/21 08:59:42<\/span>\r\n<span style=\"color: #3366ff;\">BACKUP-2019-06-21-08-59-25-backup-20190621-02u4l1nk_4_1      file         37306368 2019\/06\/21 08:59:40<\/span>\r\n<span style=\"color: #3366ff;\">BACKUP-2019-06-21-08-59-25-backup-20190621-0gu4l1nu_2_1      file           573440 2019\/06\/21 08:59:42<\/span>\r\n<span style=\"color: #3366ff;\">BACKUP-2019-06-21-08-59-25-c-703110999-20190621-00           file          8421376 2019\/06\/21 08:59:43<\/span>\r\n<span style=\"color: #3366ff;\">BACKUP-2019-06-21-08-59-25-backup-20190621-02u4l1nk_5_1      file         52469760 2019\/06\/21 08:59:40<\/span>\r\n<span style=\"color: #3366ff;\">BACKUP-2019-06-21-08-59-25-backup-20190621-01u4l1nk_3_1      file         28262400 2019\/06\/21 08:59:34<\/span>\r\n<span style=\"color: #3366ff;\">BACKUP-2019-06-21-08-59-25-backup-20190621-01u4l1nk_1_1      file         25346048 2019\/06\/21 08:59:33<\/span><\/pre>\n<p>On pourra \u00e9galement interroger la vue &#8220;v$rman_backup_job_details&#8221; habituelle pour v\u00e9rifier la prise en compte de notre sauvegarde dans le controlfile :<\/p>\n<p><span style=\"color: #3366ff;\">SQL&gt; select START_TIME,END_TIME,INPUT_BYTES\/1024\/1024,OUTPUT_BYTES\/1024\/1024,STATUS,INPUT_TYPE,ELAPSED_SECONDS\/60 &#8220;Minutes&#8221;<br \/>\n<\/span><span style=\"color: #3366ff;\">from v$rman_backup_job_details <\/span><span style=\"color: #3366ff;\">where START_TIME &gt; sysdate &#8211; 1 order by START_TIME;<\/span><\/p>\n<pre><span style=\"color: #3366ff;\">START_TIME          END_TIME            INPUT_BYTES\/1024\/1024 OUTPUT_BYTES\/1024\/1024 STATUS                  INPUT_TYPE    Minutes<\/span>\r\n<span style=\"color: #3366ff;\">------------------- ------------------- --------------------- ---------------------- ----------------------- ------------- ----------<\/span>\r\n<span style=\"color: #3366ff;\">2019\/06\/21 08:59:32 2019\/06\/21 08:59:44              741.0625             559.164063 COMPLETED               DB FULL       .2<\/span><\/pre>\n<p>&nbsp;<\/p>\n<h4><span style=\"color: #993300;\">Sauvegarde incr\u00e9mentale<\/span><\/h4>\n<p>Il sera possible d&#8217;effectuer un backup de type INCREMENTAL. Pour cela nous utiliserons la proc\u00e9dure &#8220;<span style=\"color: #3366ff;\">rdsadmin.rdsadmin_rman_util.backup_database_incremental<\/span>&#8220;.<\/p>\n<ul>\n<li>Le block change tracking<\/li>\n<\/ul>\n<p>Le block change tracking pourra \u00eatre activer afin d&#8217;optimiser les backup incr\u00e9mentaux, nous utiliserons la proc\u00e9dure <span style=\"color: #3366ff;\">&#8220;rdsadmin.rdsadmin_rman_util.enable_block_change_tracking&#8221;<\/span><\/p>\n<pre><span style=\"color: #3366ff;\">SQL&gt; exec rdsadmin.rdsadmin_rman_util.enable_block_change_tracking;<\/span>\r\n\r\n<span style=\"color: #3366ff;\">PL\/SQL procedure successfully completed.<\/span>\r\n\r\n<span style=\"color: #3366ff;\">SQL&gt; select * from v$block_change_tracking;<\/span>\r\n\r\n<span style=\"color: #3366ff;\">STATUS     FILENAME                                                          BYTES     CON_ID<\/span>\r\n<span style=\"color: #3366ff;\">---------- ------------------------------------------------------------ ---------- ----------<\/span>\r\n<span style=\"color: #3366ff;\">ENABLED    \/rdsdbdata\/db\/CAPDATA_A\/changetracking\/o1_mf_gjs99w4p_.chg     11599872          0<\/span><\/pre>\n<p>par la suite, un backup incr\u00e9mental pourra \u00eatre lanc\u00e9.<br \/>\nOn oubliera pas de d\u00e9finir le param\u00e8tre &#8220;p_level&#8221; , d&#8217;abord avec un &#8220;p_level&#8221; \u00e0 0, puis un &#8220;p_level&#8221; \u00e0 1 :<\/p>\n<pre><span style=\"color: #008000;\">BEGIN<\/span>\r\n<span style=\"color: #008000;\">    rdsadmin.rdsadmin_rman_util.backup_database_incremental(<\/span>\r\n<span style=\"color: #008000;\">        p_owner               =&gt; 'SYS', <\/span>\r\n<span style=\"color: #008000;\">        p_directory_name      =&gt; 'BACKUP_RMAN',<\/span>\r\n<span style=\"color: #008000;\">\tp_level\t\t      =&gt; 1,<\/span>\r\n<span style=\"color: #008000;\">        p_parallel            =&gt; 2,  <\/span>\r\n<span style=\"color: #008000;\">        p_section_size_mb     =&gt; 50,<\/span>\r\n<span style=\"color: #008000;\">        p_rman_to_dbms_output =&gt; TRUE);<\/span>\r\n<span style=\"color: #008000;\">END;<\/span>\r\n<span style=\"color: #008000;\">\/\r\n<\/span><\/pre>\n<p>Comme pour la sauvegarde FULL, il sera possible d&#8217;aller voir dans le directory BACKUP_RMAN les fichiers g\u00e9n\u00e9r\u00e9s, ainsi qu&#8217;interroger la vue v$rman_backup_job_details pour voir si notre sauvegarde incr\u00e9mentale est bien pass\u00e9e. A noter que le param\u00e8tre &#8220;p_rman_to_dbms_output&#8221; \u00e0 TRUE permet de voir directement \u00e0 l&#8217;\u00e9cran la sortie de la commande RMAN.<br \/>\nGr\u00e2ce au block change tracking activ\u00e9, on voit que, lors du passage du &#8220;p_level&#8221; 1, RMAN ne traite plus que 300Mo de blocks de donn\u00e9es en entr\u00e9e au lieu des 740Mo lors du backup full.<\/p>\n<pre><span style=\"color: #3366ff;\">SQL&gt; select START_TIME,END_TIME,INPUT_BYTES\/1024\/1024,OUTPUT_BYTES\/1024\/1024,STATUS,INPUT_TYPE,ELAPSED_SECONDS\/60 \"Minutes\" from v$rman_backup_job_details<\/span>\r\n<span style=\"color: #3366ff;\">  2  where START_TIME &gt; sysdate - 1 and INPUT_TYPE like '%INCR%' order by START_TIME;<\/span>\r\n\r\n<span style=\"color: #3366ff;\">START_TIME          END_TIME            INPUT_BYTES\/1024\/1024 OUTPUT_BYTES\/1024\/1024 STATUS               INPUT_TYPE       Minutes<\/span>\r\n<span style=\"color: #3366ff;\">------------------- ------------------- --------------------- ---------------------- ----------------------- ------------- ----------<\/span>\r\n<span style=\"color: #3366ff;\">2019\/06\/21 09:49:41 2019\/06\/21 09:50:06             744.40625              561.40625 COMPLETED            DB INCR          .416666667<\/span>\r\n<span style=\"color: #3366ff;\">2019\/06\/21 09:50:32 2019\/06\/21 09:50:55            300.820313               9.984375 COMPLETED            DB INCR          .383333333<\/span><\/pre>\n<p>&nbsp;<\/p>\n<h4><span style=\"color: #993300;\">Sauvegarde archivelogs\u00a0<\/span><\/h4>\n<p>Pour la sauvegarde des archivelogs, nous pourrons utiliser 4 m\u00e9thodes distinctes \u00e0 savoir<\/p>\n<ul>\n<li>sauvegardes des archivelogs complet<\/li>\n<li>sauvegardes des archivelogs \u00e0 partir d&#8217;une plage de dates<\/li>\n<li>sauvegardes des archivelogs \u00e0 partir d&#8217;une plage de SCN<\/li>\n<li>sauvegardes des archivelogs \u00e0 partir d&#8217;une plage de s\u00e9quences<\/li>\n<\/ul>\n<h5>La sauvegarde archivelogs compl\u00e8te<\/h5>\n<p>On lancera la proc\u00e9dure &#8220;<span style=\"color: #0000ff;\">backup_archivelog_all<\/span>&#8221; pour cette op\u00e9ration :<\/p>\n<pre><span style=\"color: #008000;\">BEGIN<\/span>\r\n<span style=\"color: #008000;\">    rdsadmin.rdsadmin_rman_util.backup_archivelog_all(<\/span>\r\n<span style=\"color: #008000;\">        p_owner               =&gt; 'SYS', <\/span>\r\n<span style=\"color: #008000;\">        p_directory_name      =&gt; 'BACKUP_RMAN',<\/span>\r\n<span style=\"color: #008000;\">        p_parallel            =&gt; 2,  <\/span>\r\n<span style=\"color: #008000;\">        p_rman_to_dbms_output =&gt; TRUE);<\/span>\r\n<span style=\"color: #008000;\">END;<\/span>\r\n<span style=\"color: #008000;\">\/<\/span><\/pre>\n<p>Pour v\u00e9rifier, soit on regarde la liste des fichiers dans &#8216;BACKUP_RMAN&#8217;, soit on interroge la vue v$rman_backup_job_details.<\/p>\n<pre><span style=\"color: #0000ff;\">SQL&gt; select START_TIME,END_TIME,INPUT_BYTES\/1024\/1024,OUTPUT_BYTES\/1024\/1024,STATUS,INPUT_TYPE,ELAPSED_SECONDS\/60 \"Minutes\" from v$rman_backup_job_details<\/span>\r\n<span style=\"color: #0000ff;\">  2  where START_TIME &gt; sysdate - 1 and INPUT_TYPE like '%ARC%' order by START_TIME;<\/span>\r\n\r\n<span style=\"color: #0000ff;\">START_TIME          END_TIME            INPUT_BYTES\/1024\/1024 OUTPUT_BYTES\/1024\/1024 STATUS               INPUT_TYPE       Minutes<\/span>\r\n<span style=\"color: #0000ff;\">------------------- ------------------- --------------------- ---------------------- ----------------------- ------------- ----------<\/span>\r\n<span style=\"color: #0000ff;\">2019\/06\/21 10:07:55 2019\/06\/21 10:07:57            6.93212891             6.93701172 COMPLETED            ARCHIVELOG    .033333333<\/span><\/pre>\n<h5>la sauvegarde archivelogs avec plage de dates<\/h5>\n<p>On utilisera pour cela la proc\u00e9dure &#8220;<span style=\"color: #0000ff;\">backup_archivelog_date<\/span>&#8221; avec les param\u00e8tres &#8216;p_from_date&#8217; et &#8216;p_to_date&#8217; :<\/p>\n<pre><span style=\"color: #008000;\">BEGIN<\/span>\r\n<span style=\"color: #008000;\">    rdsadmin.rdsadmin_rman_util.backup_archivelog_date(<\/span>\r\n<span style=\"color: #008000;\">        p_owner               =&gt; 'SYS', <\/span>\r\n<span style=\"color: #008000;\">        p_directory_name      =&gt; 'BACKUP_RMAN',<\/span>\r\n<span style=\"color: #008000;\">        p_from_date           =&gt; '21\/06\/2019 09:00:00',<\/span>\r\n<span style=\"color: #008000;\">        p_to_date             =&gt; '21\/06\/2019 10:00:00',<\/span>\r\n<span style=\"color: #008000;\">        p_parallel            =&gt; 2,  <\/span>\r\n<span style=\"color: #008000;\">        p_rman_to_dbms_output =&gt; FALSE);<\/span>\r\n<span style=\"color: #008000;\">END;<\/span>\r\n<span style=\"color: #008000;\">\/<\/span><\/pre>\n<p>On v\u00e9rifie :<\/p>\n<pre><span style=\"color: #0000ff;\">SQL&gt; select START_TIME,END_TIME,INPUT_BYTES\/1024\/1024,OUTPUT_BYTES\/1024\/1024,STATUS,INPUT_TYPE,ELAPSED_SECONDS\/60 \"Minutes\" from v$rman_backup_job_details<\/span>\r\n<span style=\"color: #0000ff;\">  2  where START_TIME &gt; sysdate - 1 and INPUT_TYPE like '%ARC%' order by START_TIME;<\/span>\r\n\r\n<span style=\"color: #0000ff;\">START_TIME          END_TIME            INPUT_BYTES\/1024\/1024 OUTPUT_BYTES\/1024\/1024 STATUS               INPUT_TYPE       Minutes<\/span>\r\n<span style=\"color: #0000ff;\">------------------- ------------------- --------------------- ---------------------- ----------------------- ------------- ----------<\/span>\r\n<span style=\"color: #0000ff;\">21\/06\/2019 10:07:55 21\/06\/2019 10:07:57            6.93212891             6.93701172 COMPLETED            ARCHIVELOG    .033333333<\/span>\r\n<span style=\"color: #0000ff;\">21\/06\/2019 10:20:03 21\/06\/2019 10:20:05            6.77636719             6.78076172 COMPLETED            ARCHIVELOG    .033333333<\/span><\/pre>\n<h5>la sauvegarde archivelogs avec plage SCN<\/h5>\n<p>Nous utiliserons la proc\u00e9dure &#8220;<span style=\"color: #0000ff;\">backup_archivelog_scn<\/span>&#8221; avec les param\u00e8tres principaux &#8216;p_from_scn&#8217; et &#8216;p_to_scn&#8217; .<br \/>\nOn recherchera, par exemple les derniers archivelogs g\u00e9n\u00e9r\u00e9s avec les SCN associ\u00e9s (avec 1 h d&#8217;historique) :<\/p>\n<pre><span style=\"color: #0000ff;\">SQL&gt; select NAME,FIRST_TIME,FIRST_CHANGE# from v$archived_log where FIRST_TIME &gt; sysdate - (1\/24) order by 3;<\/span>\r\n\r\n<span style=\"color: #0000ff;\">NAME                                                         FIRST_TIME          FIRST_CHANGE#<\/span>\r\n<span style=\"color: #0000ff;\">------------------------------------------------------------ ------------------- -------------<\/span>\r\n<span style=\"color: #0000ff;\">\/rdsdbdata\/db\/CAPDATA_A\/arch\/redolog-258-1-1011452844.arc    21\/06\/2019 11:14:42        612259<\/span>\r\n<span style=\"color: #0000ff;\">\/rdsdbdata\/db\/CAPDATA_A\/arch\/redolog-259-1-1011452844.arc    21\/06\/2019 11:19:42        612396<\/span>\r\n<span style=\"color: #0000ff;\">\/rdsdbdata\/db\/CAPDATA_A\/arch\/redolog-260-1-1011452844.arc    21\/06\/2019 11:24:42        612566<\/span>\r\n<span style=\"color: #0000ff;\">\/rdsdbdata\/db\/CAPDATA_A\/arch\/redolog-261-1-1011452844.arc    21\/06\/2019 11:29:42        612706<\/span>\r\n<span style=\"color: #0000ff;\">\/rdsdbdata\/db\/CAPDATA_A\/arch\/redolog-262-1-1011452844.arc    21\/06\/2019 11:34:40        612840<\/span>\r\n<span style=\"color: #0000ff;\">\/rdsdbdata\/db\/CAPDATA_A\/arch\/redolog-263-1-1011452844.arc    21\/06\/2019 11:39:40        612993<\/span>\r\n<span style=\"color: #0000ff;\">\/rdsdbdata\/db\/CAPDATA_A\/arch\/redolog-264-1-1011452844.arc    21\/06\/2019 11:44:40        613124<\/span>\r\n<span style=\"color: #0000ff;\">\/rdsdbdata\/db\/CAPDATA_A\/arch\/redolog-265-1-1011452844.arc    21\/06\/2019 11:49:40        613257<\/span>\r\n<span style=\"color: #0000ff;\">\/rdsdbdata\/db\/CAPDATA_A\/arch\/redolog-266-1-1011452844.arc    21\/06\/2019 11:54:40        613420<\/span>\r\n<span style=\"color: #0000ff;\">\/rdsdbdata\/db\/CAPDATA_A\/arch\/redolog-267-1-1011452844.arc    21\/06\/2019 11:59:41        613550<\/span>\r\n<span style=\"color: #0000ff;\">\/rdsdbdata\/db\/CAPDATA_A\/arch\/redolog-268-1-1011452844.arc    21\/06\/2019 12:04:41        613838\r\n\r\n<\/span><\/pre>\n<p>A partir de la, on sera libre de prendre une plage de SCN :<\/p>\n<pre><span style=\"color: #008000;\">BEGIN<\/span>\r\n<span style=\"color: #008000;\">    rdsadmin.rdsadmin_rman_util.backup_archivelog_scn(<\/span>\r\n<span style=\"color: #008000;\">        p_owner               =&gt; 'SYS', <\/span>\r\n<span style=\"color: #008000;\">        p_directory_name      =&gt; 'BACKUP_RMAN',<\/span>\r\n<span style=\"color: #008000;\">        p_from_scn            =&gt; 612396,<\/span>\r\n<span style=\"color: #008000;\">        p_to_scn              =&gt; 613550,<\/span>\r\n<span style=\"color: #008000;\">        p_parallel            =&gt; 2,  <\/span>\r\n<span style=\"color: #008000;\">        p_rman_to_dbms_output =&gt; TRUE);<\/span>\r\n<span style=\"color: #008000;\">END;<\/span>\r\n<span style=\"color: #008000;\">\/<\/span><\/pre>\n<p>On v\u00e9rifie<\/p>\n<pre><span style=\"color: #0000ff;\">SQL&gt; select START_TIME,END_TIME,INPUT_BYTES\/1024\/1024,OUTPUT_BYTES\/1024\/1024,STATUS,INPUT_TYPE,ELAPSED_SECONDS\/60 \"Minutes\" from v$rman_backup_job_details<\/span>\r\n<span style=\"color: #0000ff;\">  2  where START_TIME &gt; sysdate - 1 and INPUT_TYPE like '%ARC%' order by START_TIME;<\/span>\r\n\r\n<span style=\"color: #0000ff;\">START_TIME          END_TIME            INPUT_BYTES\/1024\/1024 OUTPUT_BYTES\/1024\/1024 STATUS               INPUT_TYPE       Minutes<\/span>\r\n<span style=\"color: #0000ff;\">------------------- ------------------- --------------------- ---------------------- ----------------------- ------------- ----------<\/span>\r\n<span style=\"color: #0000ff;\">21\/06\/2019 10:07:55 21\/06\/2019 10:07:57            6.93212891             6.93701172 COMPLETED            ARCHIVELOG    .033333333<\/span>\r\n<span style=\"color: #0000ff;\">21\/06\/2019 10:20:03 21\/06\/2019 10:20:05            6.77636719             6.78076172 COMPLETED            ARCHIVELOG    .033333333<\/span>\r\n<span style=\"color: #0000ff;\">21\/06\/2019 12:16:56 21\/06\/2019 12:16:58            2.36523438             2.36816406 COMPLETED            ARCHIVELOG    .033333333<\/span><\/pre>\n<p>&nbsp;<\/p>\n<h5>la sauvegarde archivelogs avec plage de sequences<\/h5>\n<p>Comme pour la date ou le SCN, le backup RMAN avec plage de sequences s&#8217;appuiera sur un num\u00e9ro de s\u00e9quence d&#8217;archivelog g\u00e9n\u00e9r\u00e9. La proc\u00e9dure &#8220;<span style=\"color: #0000ff;\">backup_archivelog_sequence<\/span>&#8221; utilisera les param\u00e8tres &#8216;p_from_sequence&#8217; et &#8216;p_to_sequence&#8217;.<\/p>\n<p><span style=\"color: #0000ff;\">SQL&gt; select NAME,FIRST_TIME,SEQUENCE# from v$archived_log where FIRST_TIME &gt; sysdate &#8211; (2\/24) ;<\/span><\/p>\n<pre><span style=\"color: #0000ff;\">NAME                                                         FIRST_TIME           SEQUENCE#<\/span>\r\n<span style=\"color: #0000ff;\">------------------------------------------------------------ ------------------- ----------<\/span>\r\n<span style=\"color: #0000ff;\">\/rdsdbdata\/db\/CAPDATA_A\/arch\/redolog-248-1-1011452844.arc    21\/06\/2019 10:24:40        248<\/span>\r\n<span style=\"color: #0000ff;\">\/rdsdbdata\/db\/CAPDATA_A\/arch\/redolog-249-1-1011452844.arc    21\/06\/2019 10:29:40        249<\/span>\r\n<span style=\"color: #0000ff;\">\/rdsdbdata\/db\/CAPDATA_A\/arch\/redolog-250-1-1011452844.arc    21\/06\/2019 10:34:40        250<\/span>\r\n<span style=\"color: #0000ff;\">\/rdsdbdata\/db\/CAPDATA_A\/arch\/redolog-251-1-1011452844.arc    21\/06\/2019 10:39:40        251<\/span>\r\n<span style=\"color: #0000ff;\">\/rdsdbdata\/db\/CAPDATA_A\/arch\/redolog-252-1-1011452844.arc    21\/06\/2019 10:44:40        252<\/span>\r\n<span style=\"color: #0000ff;\">\/rdsdbdata\/db\/CAPDATA_A\/arch\/redolog-253-1-1011452844.arc    21\/06\/2019 10:49:41        253<\/span>\r\n<span style=\"color: #0000ff;\">\/rdsdbdata\/db\/CAPDATA_A\/arch\/redolog-254-1-1011452844.arc    21\/06\/2019 10:54:41        254<\/span>\r\n<span style=\"color: #0000ff;\">\/rdsdbdata\/db\/CAPDATA_A\/arch\/redolog-255-1-1011452844.arc    21\/06\/2019 10:59:41        255<\/span>\r\n<span style=\"color: #0000ff;\">\/rdsdbdata\/db\/CAPDATA_A\/arch\/redolog-256-1-1011452844.arc    21\/06\/2019 11:04:41        256<\/span>\r\n<span style=\"color: #0000ff;\">\/rdsdbdata\/db\/CAPDATA_A\/arch\/redolog-257-1-1011452844.arc    21\/06\/2019 11:09:41        257<\/span>\r\n<span style=\"color: #0000ff;\">\/rdsdbdata\/db\/CAPDATA_A\/arch\/redolog-258-1-1011452844.arc    21\/06\/2019 11:14:42        258<\/span>\r\n<span style=\"color: #0000ff;\">\/rdsdbdata\/db\/CAPDATA_A\/arch\/redolog-259-1-1011452844.arc    21\/06\/2019 11:19:42        259<\/span>\r\n<span style=\"color: #0000ff;\">\/rdsdbdata\/db\/CAPDATA_A\/arch\/redolog-260-1-1011452844.arc    21\/06\/2019 11:24:42        260<\/span>\r\n<span style=\"color: #0000ff;\">\/rdsdbdata\/db\/CAPDATA_A\/arch\/redolog-261-1-1011452844.arc    21\/06\/2019 11:29:42        261<\/span>\r\n<span style=\"color: #0000ff;\">\/rdsdbdata\/db\/CAPDATA_A\/arch\/redolog-262-1-1011452844.arc    21\/06\/2019 11:34:40        262<\/span>\r\n<span style=\"color: #0000ff;\">\/rdsdbdata\/db\/CAPDATA_A\/arch\/redolog-263-1-1011452844.arc    21\/06\/2019 11:39:40        263<\/span>\r\n<span style=\"color: #0000ff;\">\/rdsdbdata\/db\/CAPDATA_A\/arch\/redolog-264-1-1011452844.arc    21\/06\/2019 11:44:40        264<\/span>\r\n<span style=\"color: #0000ff;\">\/rdsdbdata\/db\/CAPDATA_A\/arch\/redolog-265-1-1011452844.arc    21\/06\/2019 11:49:40        265<\/span>\r\n<span style=\"color: #0000ff;\">\/rdsdbdata\/db\/CAPDATA_A\/arch\/redolog-266-1-1011452844.arc    21\/06\/2019 11:54:40        266<\/span>\r\n<span style=\"color: #0000ff;\">\/rdsdbdata\/db\/CAPDATA_A\/arch\/redolog-267-1-1011452844.arc    21\/06\/2019 11:59:41        267<\/span>\r\n<span style=\"color: #0000ff;\">\/rdsdbdata\/db\/CAPDATA_A\/arch\/redolog-268-1-1011452844.arc    21\/06\/2019 12:04:41        268<\/span>\r\n<span style=\"color: #0000ff;\">\/rdsdbdata\/db\/CAPDATA_A\/arch\/redolog-269-1-1011452844.arc    21\/06\/2019 12:09:41        269<\/span>\r\n<span style=\"color: #0000ff;\">\/rdsdbdata\/db\/CAPDATA_A\/arch\/redolog-270-1-1011452844.arc    21\/06\/2019 12:14:41        270<\/span><\/pre>\n<p>L&#8217;appel \u00e0 la proc\u00e9dure :<\/p>\n<pre><span style=\"color: #008000;\">BEGIN<\/span>\r\n<span style=\"color: #008000;\">    rdsadmin.rdsadmin_rman_util.backup_archivelog_sequence(<\/span>\r\n<span style=\"color: #008000;\">        p_owner               =&gt; 'SYS', <\/span>\r\n<span style=\"color: #008000;\">        p_directory_name      =&gt; 'BACKUP_RMAN',<\/span>\r\n<span style=\"color: #008000;\">        p_from_sequence       =&gt; 250,<\/span>\r\n<span style=\"color: #008000;\">        p_to_sequence         =&gt; 268,<\/span>\r\n<span style=\"color: #008000;\">        p_parallel            =&gt; 2,  <\/span>\r\n<span style=\"color: #008000;\">        p_rman_to_dbms_output =&gt; FALSE);<\/span>\r\n<span style=\"color: #008000;\">END;<\/span>\r\n<span style=\"color: #008000;\">\/<\/span><\/pre>\n<p>Et le r\u00e9sultat :<\/p>\n<pre><span style=\"color: #0000ff;\">SQL&gt; select START_TIME,END_TIME,INPUT_BYTES\/1024\/1024,OUTPUT_BYTES\/1024\/1024,STATUS,INPUT_TYPE,ELAPSED_SECONDS\/60 \"Minutes\" from v$rman_backup_job_details<\/span>\r\n<span style=\"color: #0000ff;\">  2  where START_TIME &gt; sysdate - 1 and INPUT_TYPE like '%ARC%' order by START_TIME;<\/span>\r\n\r\n<span style=\"color: #0000ff;\">START_TIME          END_TIME            INPUT_BYTES\/1024\/1024 OUTPUT_BYTES\/1024\/1024 STATUS               INPUT_TYPE       Minutes<\/span>\r\n<span style=\"color: #0000ff;\">------------------- ------------------- --------------------- ---------------------- ----------------------- ------------- ----------<\/span>\r\n<span style=\"color: #0000ff;\">21\/06\/2019 10:07:55 21\/06\/2019 10:07:57            6.93212891             6.93701172 COMPLETED            ARCHIVELOG    .033333333<\/span>\r\n<span style=\"color: #0000ff;\">21\/06\/2019 10:20:03 21\/06\/2019 10:20:05            6.77636719             6.78076172 COMPLETED            ARCHIVELOG    .033333333<\/span>\r\n<span style=\"color: #0000ff;\">21\/06\/2019 12:16:56 21\/06\/2019 12:16:58            2.36523438             2.36816406 COMPLETED            ARCHIVELOG    .033333333<\/span>\r\n<span style=\"color: #0000ff;\">21\/06\/2019 12:25:18 21\/06\/2019 12:25:21            5.14501953             5.15039063 COMPLETED            ARCHIVELOG      .05<\/span><\/pre>\n<h4><\/h4>\n<h4><span style=\"color: #993300;\">La validation<\/span><\/h4>\n<p>La validation des fichiers d&#8217;une base de donn\u00e9es se fera via l&#8217;appel \u00e0 la proc\u00e9dure &#8220;<span style=\"color: #0000ff;\">rdsadmin.rdsadmin_rman_util.validate_database<\/span>&#8221;\u00a0 dans laquelle nous pourrons d\u00e9finir des param\u00e8tres.<br \/>\nSoit l&#8217;on souhaite effectuer une validation par d\u00e9faut, auquel cas, un simple appel \u00e0 &#8216;<span style=\"color: #0000ff;\">exec rdsadmin.rdsadmin_rman_util.validate_database&#8217; <\/span>suffira, sinon des param\u00e8tres pourront \u00eatre appel\u00e9s :<\/p>\n<pre><span style=\"color: #008000;\">BEGIN<\/span>\r\n<span style=\"color: #008000;\">    rdsadmin.rdsadmin_rman_util.validate_database(<\/span>\r\n<span style=\"color: #008000;\">        p_validation_type     =&gt; 'PHYSICAL+LOGICAL', <\/span>\r\n<span style=\"color: #008000;\">        p_parallel            =&gt; 4,  <\/span>\r\n<span style=\"color: #008000;\">        p_section_size_mb     =&gt; 50,<\/span>\r\n<span style=\"color: #008000;\">        p_rman_to_dbms_output =&gt; TRUE);<\/span>\r\n<span style=\"color: #008000;\">END;<\/span>\r\n<span style=\"color: #008000;\">\/<\/span><\/pre>\n<p>Le param\u00e8tre &#8216;p_rman_to_dbms_output&#8217; est \u00e0 TRUE, nous aurons donc \u00e0 l\u2019\u00e9cran le rapport sur les datafiles.<br \/>\nExemple\u00a0 :<\/p>\n<pre><span style=\"color: #0000ff;\">List of Datafiles<\/span>\r\n<span style=\"color: #0000ff;\">=================<\/span>\r\n<span style=\"color: #0000ff;\">File Status Marked Corrupt Empty Blocks Blocks Examined High SCN<\/span>\r\n<span style=\"color: #0000ff;\">---- ------ -------------- ------------ --------------- ----------<\/span>\r\n<span style=\"color: #0000ff;\">4    OK     0              12030        12799           3792<\/span>\r\n<span style=\"color: #0000ff;\">File Name: \/rdsdbdata\/db\/CAPDATA_A\/datafile\/o1_mf_users_gf76fbhb_.dbf<\/span>\r\n<span style=\"color: #0000ff;\">Block Type Blocks Failing Blocks Processed<\/span>\r\n<span style=\"color: #0000ff;\">---------- -------------- ----------------<\/span>\r\n<span style=\"color: #0000ff;\">Data       0              0<\/span>\r\n<span style=\"color: #0000ff;\">Index      0              0<\/span>\r\n<span style=\"color: #0000ff;\">Other      0              769<\/span>\r\n<span style=\"color: #0000ff;\">channel d1: validation complete, elapsed time: 00:00:01<\/span>\r\n<span style=\"color: #0000ff;\">List of Control File and SPFILE<\/span>\r\n<span style=\"color: #0000ff;\">===============================<\/span>\r\n<span style=\"color: #0000ff;\">File Type    Status Blocks Failing Blocks Examined<\/span>\r\n<span style=\"color: #0000ff;\">------------ ------ -------------- ---------------<\/span>\r\n<span style=\"color: #0000ff;\">SPFILE       OK     0              2<\/span>\r\n<span style=\"color: #0000ff;\">channel d2: validation complete, elapsed time: 00:00:01<\/span>\r\n<span style=\"color: #0000ff;\">List of Control File and SPFILE<\/span>\r\n<span style=\"color: #0000ff;\">===============================<\/span>\r\n<span style=\"color: #0000ff;\">File Type    Status Blocks Failing Blocks Examined<\/span>\r\n<span style=\"color: #0000ff;\">------------ ------ -------------- ---------------<\/span>\r\n<span style=\"color: #0000ff;\">Control File OK     0              562<\/span><\/pre>\n<p>&nbsp;<\/p>\n<h2>Le rapatriement dans Amazon S3<\/h2>\n<p>Une fois que l&#8217;on a termin\u00e9 nos sauvegardes RMAN de notre base, s&#8217;il l&#8217;on souhaite les exploiter vers une instance externe (on-prem ou EC2), nous devons les copier vers un stockage S3 par exemple. Ainsi, l&#8217;objectif sera de les envoyer de notre directory nomm\u00e9 &#8216;BACKUP_RMAN&#8217; vers un bucket S3 que l&#8217;on appelera &#8216;backuprman2019&#8217;.<br \/>\nOn peut lister les derniers backup pr\u00e9sents sur notre directory Oracle :<\/p>\n<pre><span style=\"color: #0000ff;\">SQL&gt; select * from table(rdsadmin.rds_file_util.listdir(p_directory =&gt; 'BACKUP_RMAN')) order by 4 desc ;<\/span>\r\n\r\n<span style=\"color: #0000ff;\">FILENAME                                                     TYPE         FILESIZE MTIME<\/span>\r\n<span style=\"color: #0000ff;\">------------------------------------------------------------ ---------- ---------- -------------------<\/span>\r\n<span style=\"color: #0000ff;\">01\/                                                          directory       12288 21\/06\/2019 12:25:20<\/span>\r\n<span style=\"color: #0000ff;\">BACKUP-2019-06-21-12-25-13-backup-20190621-3fu4ldpg_1_1      file           196096 21\/06\/2019 12:25:20<\/span>\r\n<span style=\"color: #0000ff;\">BACKUP-2019-06-21-12-25-13-backup-20190621-3eu4ldpe_1_1      file          2499072 21\/06\/2019 12:25:19<\/span>\r\n<span style=\"color: #0000ff;\">BACKUP-2019-06-21-12-25-13-backup-20190621-3du4ldpe_1_1      file          2706944 21\/06\/2019 12:25:19<\/span>\r\n<span style=\"color: #0000ff;\">BACKUP-2019-06-21-12-16-51-backup-20190621-3cu4ld9p_1_1      file           132608 21\/06\/2019 12:16:57<\/span>\r\n<span style=\"color: #0000ff;\">BACKUP-2019-06-21-12-16-51-backup-20190621-3bu4ld9p_1_1      file          2351616 21\/06\/2019 12:16:57<\/span>\r\n<span style=\"color: #0000ff;\">BACKUP-2019-06-21-10-19-57-backup-20190621-3au4l6ek_1_1      file           382976 21\/06\/2019 10:20:04<\/span>\r\n<span style=\"color: #0000ff;\">BACKUP-2019-06-21-10-19-57-backup-20190621-38u4l6ej_1_1      file          3680256 21\/06\/2019 10:20:03<\/span>\r\n<span style=\"color: #0000ff;\">BACKUP-2019-06-21-10-19-57-backup-20190621-39u4l6ej_1_1      file          3048448 21\/06\/2019 10:20:03<\/span>\r\n<span style=\"color: #0000ff;\">BACKUP-2019-06-21-10-07-50-backup-20190621-36u4l5ns_1_1      file          3429888 21\/06\/2019 10:07:56<\/span>\r\n<span style=\"color: #0000ff;\">BACKUP-2019-06-21-10-07-50-backup-20190621-35u4l5ns_1_1      file          3731456 21\/06\/2019 10:07:56<\/span>\r\n<span style=\"color: #0000ff;\">BACKUP-2019-06-21-10-07-50-backup-20190621-37u4l5ns_1_1      file           114176 21\/06\/2019 10:07:56<\/span>\r\n<span style=\"color: #0000ff;\">BACKUP-2019-06-21-09-50-27-c-703110999-20190621-03           file          9306112 21\/06\/2019 09:50:55<\/span>\r\n<span style=\"color: #0000ff;\">BACKUP-2019-06-21-09-50-27-backup-20190621-33u4l4nr_1_1      file            40960 21\/06\/2019 09:50:53<\/span>\r\n<span style=\"color: #0000ff;\">BACKUP-2019-06-21-09-50-27-backup-20190621-31u4l4nq_2_1      file            40960 21\/06\/2019 09:50:52<\/span>\r\n<span style=\"color: #0000ff;\">BACKUP-2019-06-21-09-50-27-backup-20190621-31u4l4nq_1_1      file            40960 21\/06\/2019 09:50:51<\/span>\r\n<span style=\"color: #0000ff;\">BACKUP-2019-06-21-09-50-27-backup-20190621-2ru4l4nl_6_1      file            40960 21\/06\/2019 09:50:51<\/span>\r\n<span style=\"color: #0000ff;\">.........<\/span><\/pre>\n<p>Ce seront ces fichiers qui devront \u00eatre transf\u00e9r\u00e9s vers notre nouveau bucket S3 backuprman2019.<\/p>\n<h4>La partie configuration AWS<\/h4>\n<p>Cette partie devra \u00eatre r\u00e9alis\u00e9e une seule fois afin de prendre en charge les \u00e9changes entre les services bases de donn\u00e9es RDS et Amazon S3.<br \/>\nOn suppose que l&#8217;utilisateur aura le r\u00f4le ad\u00e9quat afin de manipuler les services IAM, RDS et S3, ou que la machine EC2 aura ce r\u00f4le.<br \/>\nPour plus d&#8217;informations, il faudra configurer aws cli via &#8220;aws configure&#8221;. La configuration des \u00e9tapes ci dessous passera par l&#8217;outil aws cli.<\/p>\n<ul>\n<li>Le bucket<\/li>\n<\/ul>\n<p>Tout d&#8217;abord, nous allons cr\u00e9er ce nouveau bucket. ATTENTION, il faudra bien ajouter l&#8217;option &#8220;&#8211;create-backup-configuration LocationContraint&#8221; avec la r\u00e9gion souhait\u00e9e (Ici Paris) car sinon, par d\u00e9faut, le bucket est cr\u00e9\u00e9 sur la r\u00e9gion &#8216;eu-east-1&#8217;.<\/p>\n<p><span style=\"color: #800080;\">C:\\ aws s3api create-bucket &#8211;bucket backuprman2019 &#8211;region eu-west-3 &#8211;create-bucket-configuration LocationConstraint=eu-west-3<\/span><br \/>\n<span style=\"color: #800080;\">{<\/span><br \/>\n<span style=\"color: #800080;\"> &#8220;Location&#8221;: &#8220;http:\/\/backuprman2019.s3.amazonaws.com\/&#8221;<\/span><br \/>\n<span style=\"color: #800080;\">}<\/span><\/p>\n<ul>\n<li>La policy pour le bucket S3<\/li>\n<\/ul>\n<p>Il s&#8217;agira maintenant d&#8217;autoriser la base RDS \u00e0 acc\u00e9der au bucket S3 nouvellement cr\u00e9\u00e9. Pour cela, il faudra d\u00e9finir une nouvelle strat\u00e9gie, puis un nouveau r\u00f4le.<br \/>\nOn utilisera le nom ARN de notre bucket on nommera notre policy &#8216;<span style=\"color: #0000ff;\">rds-s3-backup-policy<\/span>&#8216;.<\/p>\n<p>Pour d\u00e9finir la nouvelle policy, le mieux sera de la cr\u00e9er dans un fichier &#8216;<span style=\"color: #0000ff;\">policy-rds.json<\/span>&#8216; et l&#8217;appeler par la suite avec aws cli.<br \/>\nLe fichier json comportera l&#8217;entr\u00e9e suivante :<\/p>\n<pre><span style=\"color: #800080;\">{<\/span>\r\n<span style=\"color: #800080;\">     \"Version\": \"2012-10-17\",<\/span>\r\n<span style=\"color: #800080;\">     \"Statement\": [<\/span>\r\n<span style=\"color: #800080;\">       {<\/span>\r\n<span style=\"color: #800080;\">         \"Sid\": \"s3integration\",<\/span>\r\n<span style=\"color: #800080;\">         \"Action\": [<\/span>\r\n<span style=\"color: #800080;\">           \"s3:GetObject\",<\/span>\r\n<span style=\"color: #800080;\">           \"s3:ListBucket\",<\/span>\r\n<span style=\"color: #800080;\">           \"s3:PutObject\"<\/span>\r\n<span style=\"color: #800080;\">         ],<\/span>\r\n<span style=\"color: #800080;\">         \"Effect\": \"Allow\",<\/span>\r\n<span style=\"color: #800080;\">         \"Resource\": [<\/span>\r\n<span style=\"color: #800080;\">           \"arn:aws:s3:::backuprman2019\", <\/span>\r\n<span style=\"color: #800080;\">           \"arn:aws:s3:::backuprman2019\/*\"<\/span>\r\n<span style=\"color: #800080;\">         ]<\/span>\r\n<span style=\"color: #800080;\">       }<\/span>\r\n<span style=\"color: #800080;\">     ]<\/span>\r\n<span style=\"color: #800080;\">   }<\/span><\/pre>\n<p>Puis avec l&#8217;aws cli<\/p>\n<pre><span style=\"color: #800080;\">C:\\ aws iam create-policy --policy-name <span style=\"color: #3366ff;\">rds-s3-backup-policy<\/span> --policy-document <span style=\"color: #3366ff;\">file:\/\/policy-rds.json<\/span><\/span>\r\n<span style=\"color: #800080;\">{<\/span>\r\n<span style=\"color: #800080;\">    \"Policy\": {<\/span>\r\n<span style=\"color: #800080;\">        \"PolicyName\": \"rds-s3-backup-policy\",<\/span>\r\n<span style=\"color: #800080;\">        \"PermissionsBoundaryUsageCount\": 0,<\/span>\r\n<span style=\"color: #800080;\">        \"CreateDate\": \"2019-06-21T13:35:33Z\",<\/span>\r\n<span style=\"color: #800080;\">        \"AttachmentCount\": 0,<\/span>\r\n<span style=\"color: #800080;\">        \"IsAttachable\": true,<\/span>\r\n<span style=\"color: #800080;\">        \"PolicyId\": \"ANPAQIMXBNKBLEYWLTCIH\",<\/span>\r\n<span style=\"color: #800080;\">        \"DefaultVersionId\": \"v1\",<\/span>\r\n<span style=\"color: #800080;\">        \"Path\": \"\/\",<\/span>\r\n<span style=\"color: #800080;\">        \"Arn\": \"arn:aws:iam::018033502850:policy\/rds-s3-backup-policy\",<\/span>\r\n<span style=\"color: #800080;\">        \"UpdateDate\": \"2019-06-21T13:35:33Z\"<\/span>\r\n<span style=\"color: #800080;\">    }<\/span>\r\n<span style=\"color: #800080;\">}<\/span><\/pre>\n<p>Notons le nom ARN de notre policy : <span style=\"color: #800080;\">arn:aws:iam::018033502850:policy\/rds-s3-backup-policy<\/span><\/p>\n<ul>\n<li>Le r\u00f4le IAM pour approbation<\/li>\n<\/ul>\n<p>Ensuite, il faudra cr\u00e9er un r\u00f4le qui aurait pour but d&#8217;effectuer une relation d&#8217;approbation entre Amazon RDS et le bucket S3.<br \/>\nNous passerons \u00e9galement par un fichier json nomm\u00e9 &#8216;<span style=\"color: #3366ff;\">rds-s3-approb.json<\/span>&#8216; sous la forme suivante :<\/p>\n<pre><span style=\"color: #800080;\">{<\/span>\r\n<span style=\"color: #800080;\">     \"Version\": \"2012-10-17\",<\/span>\r\n<span style=\"color: #800080;\">     \"Statement\": [<\/span>\r\n<span style=\"color: #800080;\">       {<\/span>\r\n<span style=\"color: #800080;\">         \"Effect\": \"Allow\",<\/span>\r\n<span style=\"color: #800080;\">         \"Principal\": {<\/span>\r\n<span style=\"color: #800080;\">            \"Service\": \"rds.amazonaws.com\"<\/span>\r\n<span style=\"color: #800080;\">          },<\/span>\r\n<span style=\"color: #800080;\">         \"Action\": \"sts:AssumeRole\"<\/span>\r\n<span style=\"color: #800080;\">       }<\/span>\r\n<span style=\"color: #800080;\">     ]<\/span>\r\n<span style=\"color: #800080;\">   }  <\/span><\/pre>\n<p>L&#8217;appel de aws cli :<\/p>\n<pre><span style=\"color: #800080;\">C:\\ aws iam create-role --role-name <span style=\"color: #3366ff;\">rds-s3-approb-role<\/span> --assume-role-policy-document<span style=\"color: #3366ff;\"> file:\/\/rds-s3-approb.json<\/span><\/span>\r\n<span style=\"color: #800080;\">{<\/span>\r\n<span style=\"color: #800080;\">    \"Role\": {<\/span>\r\n<span style=\"color: #800080;\">        \"AssumeRolePolicyDocument\": {<\/span>\r\n<span style=\"color: #800080;\">            \"Version\": \"2012-10-17\",<\/span>\r\n<span style=\"color: #800080;\">            \"Statement\": [<\/span>\r\n<span style=\"color: #800080;\">                {<\/span>\r\n<span style=\"color: #800080;\">                    \"Action\": \"sts:AssumeRole\",<\/span>\r\n<span style=\"color: #800080;\">                    \"Effect\": \"Allow\",<\/span>\r\n<span style=\"color: #800080;\">                    \"Principal\": {<\/span>\r\n<span style=\"color: #800080;\">                        \"Service\": \"rds.amazonaws.com\"<\/span>\r\n<span style=\"color: #800080;\">                    }<\/span>\r\n<span style=\"color: #800080;\">                }<\/span>\r\n<span style=\"color: #800080;\">            ]<\/span>\r\n<span style=\"color: #800080;\">        },<\/span>\r\n<span style=\"color: #800080;\">        \"RoleId\": \"AROAQIMXBNKBLRYFQ3BT7\",<\/span>\r\n<span style=\"color: #800080;\">        \"CreateDate\": \"2019-06-21T13:50:24Z\",<\/span>\r\n<span style=\"color: #800080;\">        \"RoleName\": \"rds-s3-approb-role\",<\/span>\r\n<span style=\"color: #800080;\">        \"Path\": \"\/\",<\/span>\r\n<span style=\"color: #800080;\">        \"Arn\": \"arn:aws:iam::018033502850:role\/rds-s3-approb-role\"<\/span>\r\n<span style=\"color: #800080;\">    }<\/span>\r\n<span style=\"color: #800080;\">}<\/span><\/pre>\n<p>On note \u00e9galement l&#8217;ARN de ce r\u00f4le : <span style=\"color: #800080;\">arn:aws:iam::018033502850:role\/rds-s3-approb-role<\/span><\/p>\n<p>La strat\u00e9gie cr\u00e9\u00e9e devra \u00eatre attach\u00e9 au r\u00f4le :<\/p>\n<pre><span style=\"color: #800080;\">C:\\ aws iam attach-role-policy --policy-arn <span style=\"color: #3366ff;\">arn:aws:iam::018033502850:policy\/rds-s3-backup-policy<\/span> --role-name <span style=\"color: #3366ff;\">rds-s3-approb-role<\/span>\r\n\r\n<\/span><\/pre>\n<ul>\n<li>Le r\u00f4le pour l&#8217;instance RDS<\/li>\n<\/ul>\n<p>Nous allons enregistrer l&#8217;instance capdata avec le r\u00f4le &#8216;rds-s3-approb-role&#8217; que nous avons cr\u00e9\u00e9 juste avant. Utiliser l&#8217;ARN du r\u00f4le pour cela.<\/p>\n<pre><span style=\"color: #800080;\">C:\\ aws rds add-role-to-db-instance --db-instance-identifier <span style=\"color: #3366ff;\">capdata <\/span>--feature-name <span style=\"color: #ff0000;\">S3_INTEGRATION<\/span> --role-arn arn:aws:iam::018033502850:role\/rds-s3-approb-role<\/span><\/pre>\n<p>La feature_name S3_INTEGRATION est le nom g\u00e9n\u00e9rique pour l&#8217;option propre \u00e0 ce r\u00f4le. Celui ci ne devra pas \u00eatre chang\u00e9.<\/p>\n<p>&nbsp;<\/p>\n<ul>\n<li>le groupe d&#8217;options RDS<\/li>\n<\/ul>\n<p>La prochaine \u00e9tape consiste \u00e0 modifier le groupe d&#8217;options enregistr\u00e9 pour l&#8217;instance Oracle RDS que nous avons cr\u00e9\u00e9.<br \/>\nComme nous ne pourrons changer le groupe d&#8217;option par d\u00e9faut, il faudra en cr\u00e9er un nouveau et l&#8217;affecter \u00e0 notre instance capdata.<br \/>\nOn cr\u00e9e le groupe d&#8217;options nomm\u00e9 &#8216;capdata-121-optionsgroup&#8217; pour la version Enterprise Edition du moteur 12.1.<\/p>\n<pre><span style=\"color: #800080;\">C:\\ aws rds create-option-group --option-group-name <span style=\"color: #3366ff;\">capdata-121-optiongroup<\/span> --engine-name oracle-ee --major-engine-version 12.1 --option-group-description \"Option groupe pour capdata\"<\/span>\r\n<span style=\"color: #800080;\">{<\/span>\r\n<span style=\"color: #800080;\">    \"OptionGroup\": {<\/span>\r\n<span style=\"color: #800080;\">        \"OptionGroupName\": \"capdata-121-optiongroup\",<\/span>\r\n<span style=\"color: #800080;\">        \"OptionGroupDescription\": \"Option groupe pour capdata\",<\/span>\r\n<span style=\"color: #800080;\">        \"EngineName\": \"oracle-ee\",<\/span>\r\n<span style=\"color: #800080;\">        \"MajorEngineVersion\": \"12.1\",<\/span>\r\n<span style=\"color: #800080;\">        \"Options\": [],<\/span>\r\n<span style=\"color: #800080;\">        \"AllowsVpcAndNonVpcInstanceMemberships\": true,<\/span>\r\n<span style=\"color: #800080;\">        \"OptionGroupArn\": \"arn:aws:rds:eu-west-3:018033502850:og:capdata-121-optiongroup\"<\/span>\r\n<span style=\"color: #800080;\">    }<\/span>\r\n<span style=\"color: #800080;\">}<\/span>\r\n\r\n\r\n<\/pre>\n<p>L&#8217;instance devra prendre en compte ce nouveau groupe d&#8217;options :<\/p>\n<pre><span style=\"color: #800080;\">C:\\ aws rds modify-db-instance --db-instance-identifier capdata --option-group-name <span style=\"color: #3366ff;\">\"capdata-121-optiongroup\"<\/span>  --apply-immediately<\/span>\r\n\r\n<\/pre>\n<p>Cette caract\u00e9ristique sera n\u00e9cessaire parmi les informations retourn\u00e9es par la commande :<\/p>\n<pre><span style=\"color: #800080;\">       \"OptionGroupMemberships\": [<\/span>\r\n<span style=\"color: #800080;\">           {<\/span>\r\n<span style=\"color: #800080;\">               \"OptionGroupName\": \"capdata-121-optiongroup\",<\/span>\r\n<span style=\"color: #800080;\">               \"Status\": \"pending-apply\"<\/span>\r\n<span style=\"color: #800080;\">           },<\/span>\r\n<span style=\"color: #800080;\">           {<\/span>\r\n<span style=\"color: #800080;\">               \"OptionGroupName\": \"default:oracle-ee-12-1\",<\/span>\r\n<span style=\"color: #800080;\">               \"Status\": \"pending-removal\"<\/span>\r\n<span style=\"color: #800080;\">           }<\/span>\r\n<span style=\"color: #800080;\">       ],<\/span>\r\n\r\n<\/pre>\n<p>On valider la prise en compte avec l&#8217;instruction &#8220;<span style=\"color: #0000ff;\">describe-db-instances<\/span>&#8220;<\/p>\n<pre><span style=\"color: #800080;\">C:\\ aws rds describe-db-instances --db-instance-identifier capdata --query \"DBInstances[*].[OptionGroupMemberships]\"<\/span>\r\n<span style=\"color: #800080;\">[<\/span>\r\n<span style=\"color: #800080;\">    [<\/span>\r\n<span style=\"color: #800080;\">        [<\/span>\r\n<span style=\"color: #800080;\">            {<\/span>\r\n<span style=\"color: #800080;\">                \"OptionGroupName\": \"capdata-121-optiongroup\",<\/span>\r\n<span style=\"color: #800080;\">                \"Status\": \"in-sync\"<\/span>\r\n<span style=\"color: #800080;\">            }<\/span>\r\n<span style=\"color: #800080;\">        ]<\/span>\r\n<span style=\"color: #800080;\">    ]<\/span>\r\n<span style=\"color: #800080;\">]<\/span><\/pre>\n<p>A partir de la, on peut affecter \u00e0 notre groupe d&#8217;options l&#8217;option propre<\/p>\n<pre><span style=\"color: #800080;\">C:\\ aws rds add-option-to-option-group --option-group-name \"capdata-121-optiongroup\" --options OptionName=S3_INTEGRATION,OptionVersion=1.0<\/span>\r\n<span style=\"color: #800080;\">{<\/span>\r\n<span style=\"color: #800080;\">    \"OptionGroup\": {<\/span>\r\n<span style=\"color: #800080;\">        \"OptionGroupName\": \"capdata-121-optiongroup\",<\/span>\r\n<span style=\"color: #800080;\">        \"OptionGroupDescription\": \"Option groupe pour capdata\",<\/span>\r\n<span style=\"color: #800080;\">        \"EngineName\": \"oracle-ee\",<\/span>\r\n<span style=\"color: #800080;\">        \"MajorEngineVersion\": \"12.1\",<\/span>\r\n<span style=\"color: #800080;\">        \"Options\": [<\/span>\r\n<span style=\"color: #800080;\">            {<\/span>\r\n<span style=\"color: #800080;\">                \"OptionName\": \"S3_INTEGRATION\",<\/span>\r\n<span style=\"color: #800080;\">                \"OptionDescription\": \"Enables S3_INTEGRATION for data ingestion\",<\/span>\r\n<span style=\"color: #800080;\">                \"Persistent\": false,<\/span>\r\n<span style=\"color: #800080;\">                \"Permanent\": false,<\/span>\r\n<span style=\"color: #800080;\">                \"OptionVersion\": \"1.0\",<\/span>\r\n<span style=\"color: #800080;\">                \"OptionSettings\": [],<\/span>\r\n<span style=\"color: #800080;\">                \"DBSecurityGroupMemberships\": [],<\/span>\r\n<span style=\"color: #800080;\">                \"VpcSecurityGroupMemberships\": []<\/span>\r\n<span style=\"color: #800080;\">            }<\/span>\r\n<span style=\"color: #800080;\">        ],<\/span>\r\n<span style=\"color: #800080;\">        \"AllowsVpcAndNonVpcInstanceMemberships\": false,<\/span>\r\n<span style=\"color: #800080;\">        \"VpcId\": \"vpc-09c93b8bac48a99ff\",<\/span>\r\n<span style=\"color: #800080;\">        \"OptionGroupArn\": \"arn:aws:rds:eu-west-3:018033502850:og:capdata-121-optiongroup\"<\/span>\r\n<span style=\"color: #800080;\">    }<\/span>\r\n<span style=\"color: #800080;\">}<\/span><\/pre>\n<h4><\/h4>\n<h4>Copie des backup RMAN vers S3<\/h4>\n<p>Une fois ces pre requis valid\u00e9s, nous pourrons effectuer les copies de fichiers backup RMAN vers le bucket S3 &#8216;capdatarman2019&#8217;.<br \/>\nC&#8217;est la fonction &#8220;<span style=\"color: #3366ff;\">rdsadmin.rdsadmin_s3_tasks.upload_to_s3<\/span>&#8221; qui permettra de faire cette op\u00e9ration avec, en param\u00e8tres, les valeurs suivantes :<\/p>\n<ul>\n<li><span style=\"color: #008080;\">p_bucket_name <\/span>: le nom du bucket S3<\/li>\n<li><span style=\"color: #008080;\">p_directory_name<\/span> : le nom du directory Oracle<\/li>\n<li><span style=\"color: #008080;\">p_s3_prefix<\/span> : le pr\u00e9fixe des noms de fichiers pr\u00e9sents dans S3<\/li>\n<li><span style=\"color: #008080;\">p_prefix<\/span> : le pr\u00e9fixe des noms de fichiers pr\u00e9sents dans le directory<\/li>\n<\/ul>\n<p>Exemple, nous voulons rapatrier tous les fichiers prefix\u00e9s par &#8216;BACKUP-2019-06-21%&#8217; depuis le directory BACKUP_RMAN vers le bucket S3 &#8216;backuprman2019&#8217; :<\/p>\n<pre><span style=\"color: #0000ff;\">SQL &gt; SELECT rdsadmin.rdsadmin_s3_tasks.upload_to_s3(p_bucket_name =&gt; 'backuprman2019', p_prefix =&gt; 'BACKUP', p_s3_prefix  =&gt; '', <\/span>\r\n<span style=\"color: #0000ff;\">  p_directory_name =&gt;  'BACKUP_RMAN') AS TASK_ID <\/span>\r\n<span style=\"color: #0000ff;\">  FROM DUAL;<\/span><\/pre>\n<p>Ce qui donne un task id, de la forme :<\/p>\n<p><span style=\"color: #0000ff;\">TASK_ID<\/span><br \/>\n<span style=\"color: #0000ff;\">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/span><br \/>\n<span style=\"color: #800000;\">1561389117542-1872<\/span><\/p>\n<p>Nous pourrons suivre l&#8217;\u00e9volution de la t\u00e2che en interrogeant directement le bucket s3 :<\/p>\n<pre><span style=\"color: #800080;\">C:\\ aws s3 ls s3:\/\/backuprman2019<\/span>\r\n<span style=\"color: #800080;\">2019-06-24 15:12:04   25673728 BACKUP-2019-06-24-15-06-15-backup-20190624-01u4tkbd_1_1<\/span>\r\n<span style=\"color: #800080;\">2019-06-24 15:12:14   33734656 BACKUP-2019-06-24-15-06-15-backup-20190624-01u4tkbd_2_1<\/span>\r\n<span style=\"color: #800080;\">2019-06-24 15:12:12   28262400 BACKUP-2019-06-24-15-06-15-backup-20190624-01u4tkbd_3_1<\/span>\r\n<span style=\"color: #800080;\">2019-06-24 15:12:09   45981696 BACKUP-2019-06-24-15-06-15-backup-20190624-01u4tkbd_4_1<\/span>\r\n<span style=\"color: #800080;\">2019-06-24 15:12:16   48603136 BACKUP-2019-06-24-15-06-15-backup-20190624-01u4tkbd_5_1<\/span>\r\n<span style=\"color: #800080;\">2019-06-24 15:12:08   49684480 BACKUP-2019-06-24-15-06-15-backup-20190624-01u4tkbd_6_1<\/span>\r\n<span style=\"color: #800080;\">2019-06-24 15:12:15   38723584 BACKUP-2019-06-24-15-06-15-backup-20190624-01u4tkbd_7_1<\/span>\r\n<span style=\"color: #800080;\">2019-06-24 15:12:07   13762560 BACKUP-2019-06-24-15-06-15-backup-20190624-01u4tkbd_8_1<\/span>\r\n<span style=\"color: #800080;\">2019-06-24 15:12:02   34521088 BACKUP-2019-06-24-15-06-15-backup-20190624-02u4tkbd_1_1<\/span>\r\n<span style=\"color: #800080;\">2019-06-24 15:12:14   35414016 BACKUP-2019-06-24-15-06-15-backup-20190624-02u4tkbd_2_1<\/span>\r\n<span style=\"color: #800080;\">2019-06-24 15:12:13   42885120 BACKUP-2019-06-24-15-06-15-backup-20190624-02u4tkbd_3_1<\/span>\r\n<span style=\"color: #800080;\">2019-06-24 15:12:10   37306368 BACKUP-2019-06-24-15-06-15-backup-20190624-02u4tkbd_4_1<\/span>\r\n<span style=\"color: #800080;\">2019-06-24 15:11:58   52469760 BACKUP-2019-06-24-15-06-15-backup-20190624-02u4tkbd_5_1<\/span>\r\n<span style=\"color: #800080;\">2019-06-24 15:12:07   42541056 BACKUP-2019-06-24-15-06-15-backup-20190624-02u4tkbd_6_1<\/span>\r\n<span style=\"color: #800080;\">2019-06-24 15:12:14      49152 BACKUP-2019-06-24-15-06-15-backup-20190624-02u4tkbd_7_1<\/span>\r\n<span style=\"color: #800080;\">2019-06-24 15:12:08   52461568 BACKUP-2019-06-24-15-06-15-backup-20190624-0gu4tkbm_1_1<\/span>\r\n<span style=\"color: #800080;\">......<\/span><\/pre>\n<p>ou via la proc\u00e9dure &#8220;<span style=\"color: #0000ff;\">rdsadmin.rds_file_util.read_text_file<\/span>&#8221;\u00a0 avec le log dans le r\u00e9pertoire BDUMP :<\/p>\n<pre><span style=\"color: #0000ff;\">SQL&gt; select text from table(rdsadmin.rds_file_util.read_text_file('BDUMP','dbtask-<span style=\"color: #800000;\">1561389117542-1872<\/span>.log'));<\/span>\r\n\r\n<span style=\"color: #0000ff;\">TEXT<\/span>\r\n<span style=\"color: #0000ff;\">----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #0000ff;\">2019-06-24 15:11:57.621 UTC [INFO ] File #1: Uploading the file \/rdsdbdata\/userdirs\/01\/BACKUP-2019-06-24-15-06-15-backup-20190624-02u4tkbd_5_1 to Amazon S3 with bucket name backuprman2019 an<\/span>\r\n<span style=\"color: #0000ff;\">d key BACKUP-2019-06-24-15-06-15-backup-20190624-02u4tkbd_5_1.<\/span>\r\n\r\n<span style=\"color: #0000ff;\">2019-06-24 15:11:58.384 UTC [INFO ] The file \/rdsdbdata\/userdirs\/01\/BACKUP-2019-06-24-15-06-15-backup-20190624-02u4tkbd_5_1 was uploaded to Amazon S3 with bucket name backuprman2019 and key<\/span>\r\n<span style=\"color: #0000ff;\">BACKUP-2019-06-24-15-06-15-backup-20190624-02u4tkbd_5_1.<\/span>\r\n\r\n<span style=\"color: #0000ff;\">2019-06-24 15:11:58.384 UTC [INFO ] File #2: Uploading the file \/rdsdbdata\/userdirs\/01\/BACKUP-2019-06-24-15-09-19-backup-20190624-0ru4tkh4_1_1 to Amazon S3 with bucket name backuprman2019 an<\/span>\r\n<span style=\"color: #0000ff;\">d key BACKUP-2019-06-24-15-09-19-backup-20190624-0ru4tkh4_1_1.<\/span>\r\n\r\n<span style=\"color: #0000ff;\">2019-06-24 15:11:58.779 UTC [INFO ] The file \/rdsdbdata\/userdirs\/01\/BACKUP-2019-06-24-15-09-19-backup-20190624-0ru4tkh4_1_1 was uploaded to Amazon S3 with bucket name backuprman2019 and key<\/span>\r\n<span style=\"color: #0000ff;\">BACKUP-2019-06-24-15-09-19-backup-20190624-0ru4tkh4_1_1.<\/span>\r\n\r\n<span style=\"color: #0000ff;\">2019-06-24 15:11:58.780 UTC [INFO ] File #3: Uploading the file \/rdsdbdata\/userdirs\/01\/BACKUP-2019-06-24-15-09-19-backup-20190624-19u4tkhk_1_1 to Amazon S3 with bucket name backuprman2019 an<\/span>\r\n<span style=\"color: #0000ff;\">d key BACKUP-2019-06-24-15-09-19-backup-20190624-19u4tkhk_1_1.<\/span><\/pre>\n<p><span style=\"color: #0000ff;\">&#8230;.\u00a0<\/span><\/p>\n<p>le log de fin se terminant par<\/p>\n<p><span style=\"color: #0000ff;\">2019-06-24 15:12:15.831 UTC [INFO ] The task finished successfully.<\/span><\/p>\n<p><span style=\"color: #0000ff;\">105 rows selected.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>Une fois sur s3, il sera possible de rapatrier sur un EC2, ou un serveur &#8220;on premise&#8221; les fichiers RMAN composant cette base RDS.<\/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%2F7615&#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%2F7615&#038;title=Oracle%20RDS%20%3A%20effectuer%20des%20backup%20RMAN%20en%20mode%20PaaS.\" 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=Oracle%20RDS%20%3A%20effectuer%20des%20backup%20RMAN%20en%20mode%20PaaS.&#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%2F7615\" 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>AWS, dans son offre RDS, emp\u00eache l&#8217;utilisateur d\u2019acc\u00e9der au serveur ou est h\u00e9berg\u00e9e la base de donn\u00e9es. Ce qui fait que l&#8217;utilisation de binaires type &#8220;expdp&#8221;, &#8220;dgmgrl&#8221; ou encore &#8220;rman&#8221; ne sera pas possible sur le serveur. Par contre, AWS&hellip; <a href=\"https:\/\/blog.capdata.fr\/index.php\/oracle-rds-effectuer-des-backup-rman-en-mode-paas\/\" class=\"more-link\">Continuer la lecture <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":32,"featured_media":7795,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[295,1,3],"tags":[],"class_list":["post-7615","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-aws","category-non-classe","category-oracle"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Oracle RDS : effectuer des backup RMAN 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\/oracle-rds-effectuer-des-backup-rman-en-mode-paas\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Oracle RDS : effectuer des backup RMAN en mode PaaS. - Capdata TECH BLOG\" \/>\n<meta property=\"og:description\" content=\"AWS, dans son offre RDS, emp\u00eache l&#8217;utilisateur d\u2019acc\u00e9der au serveur ou est h\u00e9berg\u00e9e la base de donn\u00e9es. Ce qui fait que l&#8217;utilisation de binaires type &#8220;expdp&#8221;, &#8220;dgmgrl&#8221; ou encore &#8220;rman&#8221; ne sera pas possible sur le serveur. Par contre, AWS&hellip; Continuer la lecture &rarr;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.capdata.fr\/index.php\/oracle-rds-effectuer-des-backup-rman-en-mode-paas\/\" \/>\n<meta property=\"og:site_name\" content=\"Capdata TECH BLOG\" \/>\n<meta property=\"article:published_time\" content=\"2019-06-25T09:11:08+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-09-13T09:38:01+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/06\/aws-database.png\" \/>\n\t<meta property=\"og:image:width\" content=\"259\" \/>\n\t<meta property=\"og:image:height\" content=\"191\" \/>\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=\"24 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\/oracle-rds-effectuer-des-backup-rman-en-mode-paas\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/oracle-rds-effectuer-des-backup-rman-en-mode-paas\/\"},\"author\":{\"name\":\"Emmanuel RAMI\",\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/person\/797b9b6698fa35f7ce3e9a70a8b102ae\"},\"headline\":\"Oracle RDS : effectuer des backup RMAN en mode PaaS.\",\"datePublished\":\"2019-06-25T09:11:08+00:00\",\"dateModified\":\"2019-09-13T09:38:01+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/oracle-rds-effectuer-des-backup-rman-en-mode-paas\/\"},\"wordCount\":2018,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/blog.capdata.fr\/#organization\"},\"articleSection\":{\"0\":\"AWS\",\"2\":\"Oracle\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/blog.capdata.fr\/index.php\/oracle-rds-effectuer-des-backup-rman-en-mode-paas\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/oracle-rds-effectuer-des-backup-rman-en-mode-paas\/\",\"url\":\"https:\/\/blog.capdata.fr\/index.php\/oracle-rds-effectuer-des-backup-rman-en-mode-paas\/\",\"name\":\"Oracle RDS : effectuer des backup RMAN en mode PaaS. - Capdata TECH BLOG\",\"isPartOf\":{\"@id\":\"https:\/\/blog.capdata.fr\/#website\"},\"datePublished\":\"2019-06-25T09:11:08+00:00\",\"dateModified\":\"2019-09-13T09:38:01+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/oracle-rds-effectuer-des-backup-rman-en-mode-paas\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.capdata.fr\/index.php\/oracle-rds-effectuer-des-backup-rman-en-mode-paas\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/oracle-rds-effectuer-des-backup-rman-en-mode-paas\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/blog.capdata.fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Oracle RDS : effectuer des backup RMAN 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":"Oracle RDS : effectuer des backup RMAN 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\/oracle-rds-effectuer-des-backup-rman-en-mode-paas\/","og_locale":"fr_FR","og_type":"article","og_title":"Oracle RDS : effectuer des backup RMAN en mode PaaS. - Capdata TECH BLOG","og_description":"AWS, dans son offre RDS, emp\u00eache l&#8217;utilisateur d\u2019acc\u00e9der au serveur ou est h\u00e9berg\u00e9e la base de donn\u00e9es. Ce qui fait que l&#8217;utilisation de binaires type &#8220;expdp&#8221;, &#8220;dgmgrl&#8221; ou encore &#8220;rman&#8221; ne sera pas possible sur le serveur. Par contre, AWS&hellip; Continuer la lecture &rarr;","og_url":"https:\/\/blog.capdata.fr\/index.php\/oracle-rds-effectuer-des-backup-rman-en-mode-paas\/","og_site_name":"Capdata TECH BLOG","article_published_time":"2019-06-25T09:11:08+00:00","article_modified_time":"2019-09-13T09:38:01+00:00","og_image":[{"width":259,"height":191,"url":"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/06\/aws-database.png","type":"image\/png"}],"author":"Emmanuel RAMI","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"Emmanuel RAMI","Dur\u00e9e de lecture estim\u00e9e":"24 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.capdata.fr\/index.php\/oracle-rds-effectuer-des-backup-rman-en-mode-paas\/#article","isPartOf":{"@id":"https:\/\/blog.capdata.fr\/index.php\/oracle-rds-effectuer-des-backup-rman-en-mode-paas\/"},"author":{"name":"Emmanuel RAMI","@id":"https:\/\/blog.capdata.fr\/#\/schema\/person\/797b9b6698fa35f7ce3e9a70a8b102ae"},"headline":"Oracle RDS : effectuer des backup RMAN en mode PaaS.","datePublished":"2019-06-25T09:11:08+00:00","dateModified":"2019-09-13T09:38:01+00:00","mainEntityOfPage":{"@id":"https:\/\/blog.capdata.fr\/index.php\/oracle-rds-effectuer-des-backup-rman-en-mode-paas\/"},"wordCount":2018,"commentCount":0,"publisher":{"@id":"https:\/\/blog.capdata.fr\/#organization"},"articleSection":{"0":"AWS","2":"Oracle"},"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blog.capdata.fr\/index.php\/oracle-rds-effectuer-des-backup-rman-en-mode-paas\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blog.capdata.fr\/index.php\/oracle-rds-effectuer-des-backup-rman-en-mode-paas\/","url":"https:\/\/blog.capdata.fr\/index.php\/oracle-rds-effectuer-des-backup-rman-en-mode-paas\/","name":"Oracle RDS : effectuer des backup RMAN en mode PaaS. - Capdata TECH BLOG","isPartOf":{"@id":"https:\/\/blog.capdata.fr\/#website"},"datePublished":"2019-06-25T09:11:08+00:00","dateModified":"2019-09-13T09:38:01+00:00","breadcrumb":{"@id":"https:\/\/blog.capdata.fr\/index.php\/oracle-rds-effectuer-des-backup-rman-en-mode-paas\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.capdata.fr\/index.php\/oracle-rds-effectuer-des-backup-rman-en-mode-paas\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/blog.capdata.fr\/index.php\/oracle-rds-effectuer-des-backup-rman-en-mode-paas\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/blog.capdata.fr\/"},{"@type":"ListItem","position":2,"name":"Oracle RDS : effectuer des backup RMAN 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\/7615","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=7615"}],"version-history":[{"count":12,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts\/7615\/revisions"}],"predecessor-version":[{"id":7628,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts\/7615\/revisions\/7628"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/media\/7795"}],"wp:attachment":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/media?parent=7615"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/categories?post=7615"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/tags?post=7615"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}