{"id":700,"date":"2019-11-25T23:36:52","date_gmt":"2019-11-25T22:36:52","guid":{"rendered":"https:\/\/corsaire-consulting.fr\/blog\/?p=700"},"modified":"2019-11-26T10:43:32","modified_gmt":"2019-11-26T09:43:32","slug":"installation-rapide-dune-base-de-donnees-oracle-12c","status":"publish","type":"post","link":"https:\/\/corsaire-consulting.fr\/blog\/index.php\/2019\/11\/25\/installation-rapide-dune-base-de-donnees-oracle-12c\/","title":{"rendered":"Installation rapide d&rsquo;une base de donn\u00e9es Oracle 12c"},"content":{"rendered":"<p>Je vous propose dans cet article une recette rapide pour installer une base de donn\u00e9es Oracle 12c dans une machine virtuelle Linux (Oracle Linux 7) pour r\u00e9aliser des tests.<\/p>\n<p>La recette utilise les ingr\u00e9dients suivants :<\/p>\n<ul>\n<li>Une base de donn\u00e9es Oracle 12c (12.2.1.0)<\/li>\n<li>Une VM Linux sous Oracle Linux 7<\/li>\n<li>Vagrant<\/li>\n<li>VirtualBox<\/li>\n<\/ul>\n<p>L&rsquo;environnement cr\u00e9\u00e9 permettra de r\u00e9aliser ensuite facilement des tests n\u00e9cessitant une base de donn\u00e9es Oracle 12c.<\/p>\n<p><!--more--><\/p>\n<h1>Installation de VirtualBox<\/h1>\n<p>Oracle VirtualBox est disponible en t\u00e9l\u00e9chargement libre <a href=\"https:\/\/www.virtualbox.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">ici<\/a>.<\/p>\n<p>Il vous faudra \u00e9galement le <a href=\"https:\/\/download.virtualbox.org\/virtualbox\/6.0.14\/Oracle_VM_VirtualBox_Extension_Pack-6.0.14.vbox-extpack\" target=\"_blank\" rel=\"noopener noreferrer\">pack d&rsquo;extensions<\/a>.<\/p>\n<p>Une fois t\u00e9l\u00e9charg\u00e9s, installez-ces 2 produits.<\/p>\n<h1>Installation de Vagrant<\/h1>\n<p>Vagrant est un projet open source qui facilite la gestion des machines virtuelles en encapsulant les logiciels de virtualisation tel que VirtualBox. La pierre angulaire du produit est le \u00ab\u00a0<em>vagrant file<\/em>\u00a0\u00bb qui est un document \u00e9crit en Ruby qui d\u00e9crit la configuration d&rsquo;une ou de plusieurs machines virtuelles. Plus besoin de manipuler manuellement la console VirtualBox pour cr\u00e9er, d\u00e9marrer, modifier&#8230; les VMs, tout se fait \u00e0 l&rsquo;aide de commandes Vagrant et du <em>Vagrant File<\/em>.<\/p>\n<p>Plus d&rsquo;infos directement chez <a href=\"https:\/\/www.vagrantup.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Vagrant<\/a>.<\/p>\n<p><a href=\"https:\/\/www.vagrantup.com\/downloads.html\" target=\"_blank\" rel=\"noopener noreferrer\">T\u00e9l\u00e9chargez<\/a> et installez Vagrant sur la machine.<\/p>\n<h1>T\u00e9l\u00e9chargement des scripts Vagrant<\/h1>\n<p>Oracle propose depuis quelques temps maintenant des <em>Vagrant files<\/em> pour ses produits, ce qui en simplifie grandement l&rsquo;installation. C&rsquo;est le cas pour notre base de donn\u00e9es 12c.<\/p>\n<p>Les Vagrant files sont disponibles sous <a href=\"https:\/\/github.com\/oracle\/vagrant-boxes\" target=\"_blank\" rel=\"noopener noreferrer\">GitHub<\/a>.<\/p>\n<p>Clonez ou t\u00e9l\u00e9chargez le repository sur votre machine.<\/p>\n<p>[pastacode lang=\u00a0\u00bbbash\u00a0\u00bb manual=\u00a0\u00bbgit%20clone%20https%3A%2F%2Fgithub.com%2Foracle%2Fvagrant-boxes\u00a0\u00bb message=\u00a0\u00bb\u00a0\u00bb highlight=\u00a0\u00bb\u00a0\u00bb provider=\u00a0\u00bbmanual\u00a0\u00bb\/]<\/p>\n<h1>T\u00e9l\u00e9chargement de l&rsquo;installateur Oracle Database 12c pour Linux<\/h1>\n<p>La page GitHub relative \u00e0 l&rsquo;installation de la <a href=\"https:\/\/github.com\/oracle\/vagrant-boxes\/tree\/master\/OracleDatabase\/12.2.0.1\" target=\"_blank\" rel=\"noopener noreferrer\">box Vagrant Oracle DataBase 12.2.1.0<\/a> vous donnera les d\u00e9tails de l&rsquo;installation.<\/p>\n<p>Pour r\u00e9aliser l&rsquo;installation il faut t\u00e9l\u00e9charger un dernier \u00e9l\u00e9ment, <a href=\"http:\/\/www.oracle.com\/technetwork\/database\/enterprise-edition\/downloads\/index.html\" target=\"_blank\" rel=\"noopener noreferrer\">le zip d&rsquo;installation de la base de donn\u00e9es<\/a>.<\/p>\n<p>T\u00e9l\u00e9chargez le fichier correspondant \u00e0 votre syst\u00e8me d&rsquo;exploitation et copiez-le dans le r\u00e9pertoire OracleDatabase\\12.2.0.1 du repository local des vagrant files Oracle.<\/p>\n<h1>Cr\u00e9ation de la VM<\/h1>\n<p>A ce stade, vous \u00eates pr\u00eat pour lancer la cr\u00e9ation de la VM. Le script Vagrant s&rsquo;ocuppera de tout, depuis la cr\u00e9ation de la VM jusqu&rsquo;\u00e0 l&rsquo;initialisation de la base de donn\u00e9es.<\/p>\n<p>Lancer un shell sur la machine.<\/p>\n<p>D\u00e9placez vous dans le r\u00e9pertoire o\u00f9 se trouve le vagrant file : &lt;Oracle Vagrant Repo&gt;\/OracleDatabase\/12.2.0.1<\/p>\n<p>Lancez la commande<\/p>\n<p>[pastacode lang=\u00a0\u00bbbash\u00a0\u00bb manual=\u00a0\u00bbvagrant%20up\u00a0\u00bb message=\u00a0\u00bb\u00a0\u00bb highlight=\u00a0\u00bb\u00a0\u00bb provider=\u00a0\u00bbmanual\u00a0\u00bb\/]<\/p>\n<p>Maintenant, faut laisser mijoter tout seul, \u00e7a peut prendre un peu de temps&#8230;<\/p>\n<p>Ne vous pr\u00e9cipitez par pour fermer le shell une fois l&rsquo;installation termin\u00e9e, il y a des informations importantes \u00e9crites \u00e0 la fin de la proc\u00e9dure d&rsquo;installation de la base de donn\u00e9es. En effet, la proc\u00e9dure g\u00e9n\u00e8re al\u00e9atoirement un mot de passe pour les comptes SYS, SYSTEM et PDBADMIN.<\/p>\n<p>Il faut \u00e9videment le noter !<\/p>\n<p>[pastacode lang=\u00a0\u00bbbash\u00a0\u00bb manual=\u00a0\u00bb%20%20%20%20oracle-12201-vagrant%3A%20SQL%3E%0A%20%20%20%20oracle-12201-vagrant%3A%20Disconnected%20from%20Oracle%20Database%2012c%20Enterprise%20Edition%20Release%2012.2.0.1.0%20-%2064bit%20Production%0A%20%20%20%20oracle-12201-vagrant%3A%20INSTALLER%3A%20Database%20created%0A%20%20%20%20oracle-12201-vagrant%3A%20INSTALLER%3A%20Oratab%20configured%0A%20%20%20%20oracle-12201-vagrant%3A%20Created%20symlink%20from%20%2Fetc%2Fsystemd%2Fsystem%2Fmulti-user.target.wants%2Foracle-rdbms.service%20to%20%2Fetc%2Fsystemd%2Fsystem%2Foracle-rdbms.service.%0A%20%20%20%20oracle-12201-vagrant%3A%20INSTALLER%3A%20Created%20and%20enabled%20oracle-rdbms%20systemd&rsquo;s%20service%0A%20%20%20%20oracle-12201-vagrant%3A%20INSTALLER%3A%20setPassword.sh%20file%20setup%0A%20%20%20%20oracle-12201-vagrant%3A%20INSTALLER%3A%20Running%20user-defined%20post-setup%20scripts%0A%20%20%20%20oracle-12201-vagrant%3A%20INSTALLER%3A%20Done%20running%20user-defined%20post-setup%20scripts%0A%20%20%20%20oracle-12201-vagrant%3A%20ORACLE%20PASSWORD%20FOR%20SYS%2C%20SYSTEM%20AND%20PDBADMIN%3A%20XXXXXXXXXXX%0A%20%20%20%20oracle-12201-vagrant%3A%20INSTALLER%3A%20Installation%20complete%2C%20database%20ready%20to%20use!\u00a0\u00bb message=\u00a0\u00bb\u00a0\u00bb highlight=\u00a0\u00bb10&Prime; provider=\u00a0\u00bbmanual\u00a0\u00bb\/]<\/p>\n<p>Pas de panique si vous le perdez, la VM dispose d&rsquo;un script pour re-g\u00e9n\u00e9rer un nouvea mot de passe :<\/p>\n<p>[pastacode lang=\u00a0\u00bbbash\u00a0\u00bb manual=\u00a0\u00bb%2Fhome%2Foracle%2FsetPassword.sh%20%3CYour%20new%20password%3E\u00a0\u00bb message=\u00a0\u00bb\u00a0\u00bb highlight=\u00a0\u00bb\u00a0\u00bb provider=\u00a0\u00bbmanual\u00a0\u00bb\/]<\/p>\n<p>Vous disposez maintenant d&rsquo;une VM Oracle Linux 7 qui fait tourner une base de donn\u00e9es Oracle 12c.<\/p>\n<p>Pour arr\u00eater la VM :<\/p>\n<p>[pastacode lang=\u00a0\u00bbbash\u00a0\u00bb manual=\u00a0\u00bbvagrant%20halt\u00a0\u00bb message=\u00a0\u00bb\u00a0\u00bb highlight=\u00a0\u00bb\u00a0\u00bb provider=\u00a0\u00bbmanual\u00a0\u00bb\/]<\/p>\n<p>Pour d\u00e9marrer la VM :<\/p>\n<p>[pastacode lang=\u00a0\u00bbbash\u00a0\u00bb manual=\u00a0\u00bbvagrant%20up\u00a0\u00bb message=\u00a0\u00bb\u00a0\u00bb highlight=\u00a0\u00bb\u00a0\u00bb provider=\u00a0\u00bbmanual\u00a0\u00bb\/]<\/p>\n<p>Pour d\u00e9truire la VM :<\/p>\n<p>[pastacode lang=\u00a0\u00bbbash\u00a0\u00bb manual=\u00a0\u00bbvagrant%20destroy\u00a0\u00bb message=\u00a0\u00bb\u00a0\u00bb highlight=\u00a0\u00bb\u00a0\u00bb provider=\u00a0\u00bbmanual\u00a0\u00bb\/]<\/p>\n<p>Pour vous connecter en SSH sur la VM :<\/p>\n<p>[pastacode lang=\u00a0\u00bbbash\u00a0\u00bb manual=\u00a0\u00bbvagrant%20ssh%0A%0A%23changer%20d&rsquo;utilisateur%0Asudo%20su%20oracle\u00a0\u00bb message=\u00a0\u00bb\u00a0\u00bb highlight=\u00a0\u00bb\u00a0\u00bb provider=\u00a0\u00bbmanual\u00a0\u00bb\/]<\/p>\n<h1>Cr\u00e9ation d&rsquo;un utilisateur<\/h1>\n<p>Pour le fun, je vous propose de cr\u00e9er un utilisateur puis de tester la connexion \u00e0 la base de donn\u00e9es.<\/p>\n<p>Se connecter en SSH \u00e0 la VM et passez sur l&rsquo;utilisateur oracle.<\/p>\n<p>[pastacode lang=\u00a0\u00bbbash\u00a0\u00bb manual=\u00a0\u00bbvagrant%20ssh%0A%0Asudo%20su%20oracle\u00a0\u00bb message=\u00a0\u00bb\u00a0\u00bb highlight=\u00a0\u00bb\u00a0\u00bb provider=\u00a0\u00bbmanual\u00a0\u00bb\/]<\/p>\n<p>Lancement de sqlplus, connexion et basculement vers la <em>Plugable Database<\/em> (PDB) pr\u00e9-configur\u00e9e.<\/p>\n<p>[pastacode lang=\u00a0\u00bbbash\u00a0\u00bb manual=\u00a0\u00bb%5Boracle%40oracle-12201-vagrant%20admin%5D%24%20sqlplus%20%2F%20as%20sysdba%0A%0ASQL*Plus%3A%20Release%2012.2.0.1.0%20Production%20on%20Mon%20Nov%2025%2023%3A21%3A29%202019%0A%0ACopyright%20(c)%201982%2C%202016%2C%20Oracle.%20%20All%20rights%20reserved.%0A%0A%0AConnected%20to%3A%0AOracle%20Database%2012c%20Enterprise%20Edition%20Release%2012.2.0.1.0%20-%2064bit%20Production%0A%0ASQL%3E%20CONN%20system%2FXXXXXXXXXX%0AConnected.%0ASQL%3E%20ALTER%20SESSION%20SET%20CONTAINER%3DORCLPDB1%3B%0A%0ASession%20altered.%0A%0ASQL%3E%20CREATE%20USER%20new_user%20identified%20by%20new_password%20CONTAINER%3DCURRENT%3B%0A%0AUser%20created.%0A%0ASQL%3E%20GRANT%20CONNECT%2CCREATE%20TABLE%2C%20CREATE%20VIEW%2C%20CREATE%20TRIGGER%2C%20CREATE%20SEQUENCE%2C%20CREATE%20SESSION%2C%20UNLIMITED%20TABLESPACE%20TO%20vigie%20CONTAINER%3DCURRENT%3B%0A%0AGrant%20succeeded.%0A%0ASQL%3E%20commit%3B%0A%0ACommit%20complete.%0A%0ASQL%3E\u00a0\u00bb message=\u00a0\u00bb\u00a0\u00bb highlight=\u00a0\u00bb\u00a0\u00bb provider=\u00a0\u00bbmanual\u00a0\u00bb\/]<\/p>\n<h1>Test de connexion \u00e0 la base de donn\u00e9es via un client JDBC<\/h1>\n<p>Si vous tentez une connexion JDBC avec ce nouvel utilisateur vous obtiendrez l&rsquo;erreur suivante :<\/p>\n<p>[pastacode lang=\u00a0\u00bbbash\u00a0\u00bb manual=\u00a0\u00bbORA-12505%2C%20TNS%3Alistener%20does%20not%20currently%20know%20of%20SID%20given%20in%20connect%20descriptor\u00a0\u00bb message=\u00a0\u00bb\u00a0\u00bb highlight=\u00a0\u00bb\u00a0\u00bb provider=\u00a0\u00bbmanual\u00a0\u00bb\/]<\/p>\n<p>Pour corriger le probl\u00e8me il y a une petite modification \u00e0 faire sur la configuration du listener de la base de donn\u00e9es :<\/p>\n<p>[pastacode lang=\u00a0\u00bbbash\u00a0\u00bb manual=\u00a0\u00bbvagrant%20ssh%0A%0A%0A%5Boracle%40oracle-12201-vagrant%20admin%5D%24%20sudo%20su%20oracle%0A%0A%5Boracle%40oracle-12201-vagrant%20admin%5D%24%20vi%20%24ORACLE_HOME%2Fnetwork%2Fadmin%2Flistener.ora%0A%0A%23%20Ajouter%20la%20ligne%20suivante%20dans%20le%20fichier%20listener.ora%0AUSE_SID_AS_SERVICE_listener%3Don%0A%0A%23%20red%C3%A9marrage%20du%20listener%0A%5Boracle%40oracle-12201-vagrant%20admin%5D%24%20lsnrctl%20reload%0A%0ALSNRCTL%20for%20Linux%3A%20Version%2012.2.0.1.0%20-%20Production%20on%2025-NOV-2019%2023%3A32%3A54%0A%0ACopyright%20(c)%201991%2C%202016%2C%20Oracle.%20%20All%20rights%20reserved.%0A%0AConnecting%20to%20(DESCRIPTION%3D(ADDRESS%3D(PROTOCOL%3DIPC)(KEY%3DEXTPROC1)))%0AThe%20command%20completed%20successfully%0A%5Boracle%40oracle-12201-vagrant%20admin%5D%24&Prime; message=\u00a0\u00bb\u00a0\u00bb highlight=\u00a0\u00bb\u00a0\u00bb provider=\u00a0\u00bbmanual\u00a0\u00bb\/]<\/p>\n<p>Lancez maintenant votre client JDBC sur l&rsquo;url : jdbc:oracle:thin:@localhost:1521:ORCLPDB1 et authentifiez-vous avec l&rsquo;utilisateur pr\u00e9alablement cr\u00e9\u00e9.<\/p>\n<p>Un grand merci \u00e0 mon ami Yahya pour son aide sur le sujet.<\/p>\n<p>The end.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Je vous propose dans cet article une recette rapide pour installer une base de donn\u00e9es Oracle 12c dans une machine virtuelle Linux (Oracle Linux 7) pour r\u00e9aliser des tests. La recette utilise les ingr\u00e9dients suivants : Une base de donn\u00e9es Oracle 12c (12.2.1.0) Une VM Linux sous Oracle Linux 7 Vagrant VirtualBox L&rsquo;environnement cr\u00e9\u00e9 permettra [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":701,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[107],"tags":[108,74,48,109,110],"class_list":["post-700","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-base-de-donnees","tag-12c","tag-base-de-donnees","tag-oracle","tag-vagrant","tag-virtualbox"],"_links":{"self":[{"href":"https:\/\/corsaire-consulting.fr\/blog\/index.php\/wp-json\/wp\/v2\/posts\/700","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/corsaire-consulting.fr\/blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/corsaire-consulting.fr\/blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/corsaire-consulting.fr\/blog\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/corsaire-consulting.fr\/blog\/index.php\/wp-json\/wp\/v2\/comments?post=700"}],"version-history":[{"count":19,"href":"https:\/\/corsaire-consulting.fr\/blog\/index.php\/wp-json\/wp\/v2\/posts\/700\/revisions"}],"predecessor-version":[{"id":720,"href":"https:\/\/corsaire-consulting.fr\/blog\/index.php\/wp-json\/wp\/v2\/posts\/700\/revisions\/720"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/corsaire-consulting.fr\/blog\/index.php\/wp-json\/wp\/v2\/media\/701"}],"wp:attachment":[{"href":"https:\/\/corsaire-consulting.fr\/blog\/index.php\/wp-json\/wp\/v2\/media?parent=700"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/corsaire-consulting.fr\/blog\/index.php\/wp-json\/wp\/v2\/categories?post=700"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/corsaire-consulting.fr\/blog\/index.php\/wp-json\/wp\/v2\/tags?post=700"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}