{"id":9702,"date":"2017-01-26T14:31:25","date_gmt":"2017-01-26T13:31:25","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/part2-vagrant-up-get-your-oracle-infrastructure-up-an-running\/"},"modified":"2023-07-12T09:17:42","modified_gmt":"2023-07-12T07:17:42","slug":"part2-vagrant-up-get-your-oracle-infrastructure-up-an-running","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/part2-vagrant-up-get-your-oracle-infrastructure-up-an-running\/","title":{"rendered":"Part 2 &#8211; vagrant up &#8211; get your Oracle infrastructure up an running"},"content":{"rendered":"<p>Last week in the <a title=\"vagrant up \u2013  get your Oracle infrastructure up an running\" href=\"http:\/\/dbi-services.com\/blog\/vagrant-up-get-your-oracle-infrastructure-up-and-running\/\" target=\"_blank\" rel=\"noopener\">first part of this blog <\/a> we have seen a short introduction how to setup an Oracle Infrastructure with Vagrant and Ansible. Remember all the files for this example are available here <a title=\"Example Code to install Oracle Infrastructure with Vagrant and Ansible\" href=\"https:\/\/github.com\/nkadbi\/oracle-db-12c-vagrant-ansible\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/nkadbi\/oracle-db-12c-vagrant-ansible<\/a><br \/>\nGet the example code:<br \/>\n<code><br \/>\ngit clone https:\/\/github.com\/nkadbi\/oracle-db-12c-vagrant-ansible<br \/>\n<\/code><\/p>\n<p>If you have prepared your environment with Ansible, Vagrant and Oracle Virtual Box installed &#8211; and provided the Oracle software zip files &#8211;<br \/>\n<strong>than you can just start to build your Test Infrastructure with the simple call<\/strong><code>vagrant up<\/code><br \/>\n<strong> cleanup is also easy- stop the vagrant machines and deletes all traces:<\/strong><br \/>\n<code>vagrant destroy <\/code><br \/>\n<strong>How does this work ? <\/strong><br \/>\n<em>vagrant up<\/em> starts Vagrant which will setup two virtual servers using a sample box with CentOS 7.2.<br \/>\nWhen this has been finished Vagrant calls Ansible for provisioning which configures the linux servers, installs the Oracle software and creates your databases on the target servers in parallel.<\/p>\n<p><strong> Vagrant configuration <\/strong><br \/>\nAll the configuration for Vagrant is in one file called <a title=\"Example Vagrantfile\" target=\"_blank\" href=\"https:\/\/github.com\/nkadbi\/oracle-db-12c-vagrant-ansible\/blob\/master\/Vagrantfile\" rel=\"noopener\">Vagrantfile<\/a><br \/>\nI used a box with CentOS 7.2 which you can find among other vagrant boxes here <a title=\"Discover Vagrant Boxes\" href=\"https:\/\/atlas.hashicorp.com\/search\" target=\"_blank\" rel=\"noopener\">https:\/\/atlas.hashicorp.com\/search<\/a><br \/>\n<code>config.vm.box = \"boxcutter\/centos72\" <\/code> If you start vagrant up the first time it will download the <strong> vagrant box <\/strong><br \/>\n<code>$ vagrant up<br \/>\n\u2026<br \/>\nBringing machine 'dbserver1' up with 'virtualbox' provider...<br \/>\nBringing machine 'dbserver2' up with 'virtualbox' provider...<br \/>\n==&gt; dbserver1: Box 'boxcutter\/centos72' could not be found. Attempting to find and install...<br \/>\ndbserver1: Box Provider: virtualbox<br \/>\ndbserver1: Box Version: &gt;= 0<br \/>\n==&gt; dbserver1: Loading metadata for box 'boxcutter\/centos72'<br \/>\ndbserver1: URL: https:\/\/atlas.hashicorp.com\/boxcutter\/centos72<br \/>\n==&gt; dbserver1: Adding box 'boxcutter\/centos72' (v2.0.21) for provider: virtualbox<br \/>\ndbserver1: Downloading: https:\/\/atlas.hashicorp.com\/boxcutter\/boxes\/centos72\/versions\/2.0.21\/providers\/virtualbox.box<br \/>\n==&gt; dbserver1: Successfully added box 'boxcutter\/centos72' (v2.0.21) for 'virtualbox'!<br \/>\n==&gt; dbserver1: Importing base box 'boxcutter\/centos72'...<br \/>\n<\/code><br \/>\nI have chosen a private network for the virtual servers and use <a title=\"vagrant-hostmanager plugin\" href=\"http:\/\/www.rubydoc.info\/gems\/vagrant-hostmanager\/1.8.5\" target=\"_blank\" rel=\"noopener\">vagrant hostmanager plugin<\/a> to take care of the \/etc\/hosts files on all guest machines (and optionally your localhost)<br \/>\nyou can add this plugin to vagrant with: <code><br \/>\nvagrant plugin install vagrant-hostmanager <\/code> The corresponding part in the Vagrantfile will look like this:<br \/>\n<code>config.hostmanager.enabled = true<br \/>\nconfig.hostmanager.ignore_private_ip = false # include private IPs of your VM's<br \/>\nconfig.vm.hostname = \u201cdbserver1\u201d<br \/>\nconfig.vm.network \"private_network\", ip: \"192.168.56.31\" <\/code><br \/>\n<strong> ssh Configuration <\/strong><br \/>\nThe Vagrant box comes already with ssh key configuration and<strong>&#8211;  if security does not matter in your demo environment &#8211; <\/strong> the easiest way to configure ssh connection to your guest nodes is to use the same ssh key for all created virtual hosts.<br \/>\n<code>config.ssh.insert_key = false # Use the same insecure key provided from box for each machine <\/code> After bringing up the virtual servers you can display the ssh settings:<br \/>\n<code>vagrant ssh-config <\/code> The important lines from the output are: <code><br \/>\nHost dbserver1<br \/>\nHostName 127.0.0.1<br \/>\nUser vagrant<br \/>\nPort 2222<br \/>\nIdentityFile \/home\/user\/.vagrant.d\/insecure_private_key <\/code> You should be able to reach your guest server without password with user vagrant <code><br \/>\nvagrant ssh dbserver1 <\/code>Than you can switch to user oracle ( password = welcome1 ) or root (default password for vagrant boxes vagrant) <code>su - oracle <\/code>or directly connect with ssh <code> ssh vagrant@127.0.0.1 -p 2222 -i \/home\/user\/.vagrant.d\/insecure_private_key <\/code><br \/>\n<strong> Virtual Disks <\/strong><br \/>\nI added additional virtual disks because I wanted to separate data file destination from fast recovery area destination. <code># attach disks only localy<br \/>\nif ! File.exist?(\"dbserver#{i}_disk_a.vdi\") # create disks only once<br \/>\nv.customize ['createhd', '--filename', \"dbserver#{i}_disk_a.vdi\", '--size', 8192 ]<br \/>\nv.customize ['createhd', '--filename', \"dbserver#{i}_disk_b.vdi\", '--size', 8192 ]<br \/>\nv.customize ['storageattach', :id, '--storagectl', 'SATA Controller', '--port', 1, '--device', 0, '--type', 'hdd', '--medium', \"dbserver#{i}_disk_a.vdi\"]<br \/>\nv.customize ['storageattach', :id, '--storagectl', 'SATA Controller', '--port', 2, '--device', 0, '--type', 'hdd', '--medium', \"dbserver#{i}_disk_b.vdi\"]<br \/>\nend #  create disks only once <\/code><br \/>\n<strong> Provisioning with Ansible <\/strong><br \/>\nAt the end of the Vagrantfile provisioning with Ansible is called. <code><br \/>\nN = 2<br \/>\n(1..N).each do |i| # do for each server i<br \/>\n...<br \/>\nif i == N<br \/>\nconfig.vm.provision \"ansible\" do |ansible|  # vm.provisioning<br \/>\n#ansible.verbose = \"v\"<br \/>\nansible.playbook = \"oracle-db.yml\"<br \/>\nansible.groups = { \"dbserver\" =&gt; [\"dbserver1\",\"dbserver2\"] }<br \/>\nansible.limit = 'all'<br \/>\nend # end vm.provisioning<br \/>\nend<br \/>\nend <\/code>To prevent the  Ansible provisioning to start before all servers have been setup by Vagrant, I included the condition  if i == N , where N is the number of desired servers.<\/p>\n<p><strong> Ansible Inventory <\/strong><br \/>\nThe Ansible Inventory is a collection of guest hosts against which Ansible will work.<br \/>\nYou can either put the information in an inventory file or let Vagrant create an Inventory file for you. Vagrant does this if you did not specify any inventory file.<br \/>\nTo enable Ansible to connect to the target hosts without password Ansible has to know the ssh key provided by the vagrant box.<br \/>\nExample Ansible Inventory:<br \/>\n<code># Generated by Vagrant<br \/>\ndbserver2 ansible_ssh_host=127.0.0.1 ansible_ssh_port=2200 ansible_ssh_user='vagrant' ansible_ssh_private_key_file='\/home\/user\/.vagrant.d\/insecure_private_key'<br \/>\ndbserver1 ansible_ssh_host=127.0.0.1 ansible_ssh_port=2222 ansible_ssh_user='vagrant' ansible_ssh_private_key_file='\/home\/user\/.vagrant.d\/insecure_private_key'<br \/>\n[dbserver]<br \/>\ndbserver1<br \/>\ndbserver2 <\/code> You can see that the inventory created by Vagrant presents the necessary information to Ansible to connect to the targets and has also defined the group dbserver which includes the server dbserver1 and dbserver2.<\/p>\n<p><strong> Ansible configuration <\/strong><br \/>\ntell Ansible where to find the inventory in the ansible.cfg. <code><br \/>\nnocows=1<br \/>\nhostfile = .vagrant\/provisioners\/ansible\/inventory\/vagrant_ansible_inventory<br \/>\nhost_key_checking = False<\/code><br \/>\n<strong> Ansible Variables <\/strong><br \/>\nIn this example I have put the general variables for all servers containing an Oracle Database into this file:<br \/>\n<a title=\"group_vars\/dbserver\" target=\"_blank\" href=\"https:\/\/github.com\/nkadbi\/oracle-db-12c-vagrant-ansible\/blob\/master\/group_vars\/dbserver\" rel=\"noopener\"> group_vars\/dbserver<\/a><br \/>\nThe more specific variables including variables used to create the database like the  database name, character set<br \/>\ncan be adapted individual for each server:<br \/>\n<a title=\"host_vars\/dbserver1,host_vars\/dbserver2\" target=\"_blank\" href=\"https:\/\/github.com\/nkadbi\/oracle-db-12c-vagrant-ansible\/blob\/master\/host_vars\" rel=\"noopener\">host_vars\/dbserver1,host_vars\/dbserver2<\/a><\/p>\n<p><strong>Ansible Playbook<\/strong><br \/>\nThe Ansible playbook is a simple textfile written in YAML syntax, which is easy readable.<br \/>\nOur playbook <a title=\"oracle-db.yml\" target=\"_blank\" href=\"https:\/\/github.com\/nkadbi\/oracle-db-12c-vagrant-ansible\/blob\/master\/oracle-db.yml\" rel=\"noopener\">oracle-db.yml<\/a> has only one play called \u201c Configure Oracle Linux 7 with Oracle Database 12c\u201d which will be applied on all servers belonging to the group <em>dbserver<\/em>. In my example Vagrant creates the vagrant inventory and initiates the play of the playbook but you can also start it stand-alone or repeat it if you want.<br \/>\n<code> ansible-playbook oracle-db.yml <\/code><br \/>\nThis is the whole playbook, to configure the servers and install Oracle Databases:<code><br \/>\n$cat oracle-db.yml<br \/>\n---<br \/>\n- name: Configure Oracle Linux 7 with Oracle Database 12c<br \/>\nhosts: dbserver<br \/>\nbecome: True<br \/>\nvars_files:<br \/>\n# User Passwords hashed are stored here:<br \/>\n- secrets.yml<br \/>\nroles:<br \/>\n- role: disk_layout<br \/>\n- role: linux_oracle<br \/>\n- role: oracle_sw_install<br \/>\nbecome_user: '{{ oracle_user }}'<br \/>\n- role: oracle_db_create<br \/>\nbecome_user: '{{ oracle_user }}' <\/code><\/p>\n<p><strong>Ansible roles<\/strong><br \/>\nTo make the playbook oracle-db.yml lean and to be more flexible I have split all the tasks into different <a href=\"https:\/\/github.com\/nkadbi\/oracle-db-12c-vagrant-ansible\/tree\/master\/roles\" title=\"Ansible roles oracle-db-12c-vagrant-ansible\" target=\"_blank\" rel=\"noopener\">roles.<\/a>This makes it easy to reuse parts of the playbook or skip parts. For example if  you only want to install the oracle software on the server, but do not want to create databases you can just delete the role oracle_db_create from the playbook.<br \/>\nYou (and Ansible ) will find the files containing the tasks for a role in the directory <em>roles\/my_role_name\/main.yml<\/em>.<br \/>\nThere can be further directories. The default directory structure looks like below. If you want to create a new role you can even create the directory structure by using ansible-galaxy. Ansible Galaxy is Ansible\u2019s official community hub for sharing Ansible roles.  <a href=\"https:\/\/galaxy.ansible.com\/intro\" title=\"Ansible Galaxy\" target=\"_blank\" rel=\"noopener\">https:\/\/galaxy.ansible.com\/intro<\/a><br \/>\n<code><br \/>\n# example to create the directory structure for the role \"my_role_name\"<br \/>\nansible-galaxy init my_role_name<br \/>\n<\/code><br \/>\n<code><br \/>\n# default Ansible role directory structure<br \/>\nroles\/<br \/>\nmy_role_name\/<br \/>\ndefaults\/<br \/>\nfiles\/<br \/>\nhandlers\/<br \/>\nmeta\/<br \/>\ntasks\/<br \/>\ntemplates\/<br \/>\nvars\/<br \/>\n<\/code><\/p>\n<p><strong>Ansible Modules<\/strong><br \/>\nAnsible will run the tasks described in the playbook on the target servers by invoking Ansible Modules.<br \/>\nThis Ansible Web Page <a href=\"http:\/\/docs.ansible.com\/ansible\/list_of_all_modules.html\" title=\"Ansible Modules\" target=\"_blank\" rel=\"noopener\">  http:\/\/docs.ansible.com\/ansible\/list_of_all_modules.html <\/a> shows information about Modules ordered by categories.<br \/>\nYou can also get information about all the Ansible modules from command line:<br \/>\n<code><br \/>\n# list all modules<br \/>\nansible-doc --list<br \/>\n# example to show documentation about the Ansible module \"copy\"<br \/>\nansible-doc copy   <\/code><\/p>\n<p>One Example:<br \/>\nTo install the oracle software with response file I use the <strong>Ansible module called &#8220;template&#8221;<\/strong>. Ansible uses Jinja2, a templating engine for Python.<br \/>\nThis makes it very easy to design reusable templates. For example Ansible will replace {{ oracle_home }} with the variable, which I have defined in group_vars\/dbserver, and than copies the response file to the target servers:<\/p>\n<p>Snipped from the Jinja2 template  <a href=\"https:\/\/github.com\/nkadbi\/oracle-db-12c-vagrant-ansible\/blob\/master\/roles\/oracle_sw_install\/templates\/db_install.rsp.j2\" title=\"explore db_install.rsp.j2\" target=\"_blank\" rel=\"noopener\">db_install.rsp.j2<\/a><br \/>\n<code><br \/>\n#-------------------------------------------------------------------------------<br \/>\n# Specify the complete path of the Oracle Home.<br \/>\n#-------------------------------------------------------------------------------<br \/>\nORACLE_HOME={{ oracle_home }}<br \/>\n<\/code><br \/>\nSnipped from <a href=\"https:\/\/github.com\/nkadbi\/oracle-db-12c-vagrant-ansible\/blob\/master\/roles\/oracle_sw_install\/tasks\/main.yml\/\" title=\"explore roles\/oracle_sw_install\/tasks\/main.yml\" target=\"_blank\" rel=\"noopener\">roles\/oracle_sw_install\/tasks\/main.yml<\/a><br \/>\n<code><br \/>\n- name: Gerenerate the response file for software only installation<br \/>\ntemplate: src=db_install.rsp.j2 dest={{ installation_folder }}\/db_install.rsp<br \/>\n<\/code><\/p>\n<p><strong> Ansible Adhoc Commands &#8211; Some Use Cases <\/strong><br \/>\nImmediately after installing Ansible you already can use Ansible to <strong> gather facts <\/strong> from your localhost which will give you a lot of information:<br \/>\n<code>ansible localhost -m setup <\/code><br \/>\nUse Ansible adhoc command with <strong> module ping <\/strong> to check if you can reach all target servers listed in your inventory file:<br \/>\n<code><br \/>\n$ ansible all -m ping<br \/>\ndbserver2 | SUCCESS =&gt; {<br \/>\n\"changed\": false,<br \/>\n\"ping\": \"pong\"<br \/>\n}<br \/>\ndbserver1 | SUCCESS =&gt; {<br \/>\n\"changed\": false,<br \/>\n\"ping\": \"pong\"<br \/>\n} <\/code><\/p>\n<p><strong>File transfer <\/strong> &#8211; spread a file to all servers in the group dbserver<br \/>\n<code>ansible dbserver -m copy -b -a \"src=\/etc\/hosts dest=\/etc\/hosts\" <\/code><\/p>\n<p><strong>Conclusion<\/strong><br \/>\nWith the open source tools Vagrant and Ansible you can easily automate the setup of your infrastructure.<br \/>\nEven if you do not want to automate everything, Ansible still can help you with your daily work if you want to check or apply something on several servers.<br \/>\nJust group your servers in an inventory and run an Ansible Adhoc Command or write a small playbook.<\/p>\n<p>Please keep in mind that this is a simplified example for an automated Oracle Database Installation.<br \/>\nDo not use this example for productive environments.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Last week in the first part of this blog we have seen a short introduction how to setup an Oracle Infrastructure with Vagrant and Ansible. Remember all the files for this example are available here https:\/\/github.com\/nkadbi\/oracle-db-12c-vagrant-ansible Get the example code: git clone https:\/\/github.com\/nkadbi\/oracle-db-12c-vagrant-ansible If you have prepared your environment with Ansible, Vagrant and Oracle Virtual [&hellip;]<\/p>\n","protected":false},"author":27,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[229],"tags":[150,708,101,46,209,770,970],"type_dbi":[],"class_list":["post-9702","post","type-post","status-publish","format-standard","hentry","category-database-administration-monitoring","tag-ansible","tag-automation","tag-installation","tag-linux-unix","tag-oracle-12c","tag-provisioning","tag-vagrant"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Part 2 - vagrant up - get your Oracle infrastructure up an running - dbi Blog<\/title>\n<meta name=\"description\" content=\"Blog Part 2 - automated setup of Oracle Infrastructure with Vagrant and Ansible. Oracle Database 12.1.0.2 , CentOS 7.2\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/part2-vagrant-up-get-your-oracle-infrastructure-up-an-running\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Part 2 - vagrant up - get your Oracle infrastructure up an running\" \/>\n<meta property=\"og:description\" content=\"Blog Part 2 - automated setup of Oracle Infrastructure with Vagrant and Ansible. Oracle Database 12.1.0.2 , CentOS 7.2\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/part2-vagrant-up-get-your-oracle-infrastructure-up-an-running\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-01-26T13:31:25+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-07-12T07:17:42+00:00\" \/>\n<meta name=\"author\" content=\"Oracle Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Oracle Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/part2-vagrant-up-get-your-oracle-infrastructure-up-an-running\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/part2-vagrant-up-get-your-oracle-infrastructure-up-an-running\/\"},\"author\":{\"name\":\"Oracle Team\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee\"},\"headline\":\"Part 2 &#8211; vagrant up &#8211; get your Oracle infrastructure up an running\",\"datePublished\":\"2017-01-26T13:31:25+00:00\",\"dateModified\":\"2023-07-12T07:17:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/part2-vagrant-up-get-your-oracle-infrastructure-up-an-running\/\"},\"wordCount\":1098,\"commentCount\":0,\"keywords\":[\"Ansible\",\"Automation\",\"Installation\",\"Linux\/UNIX\",\"Oracle 12c\",\"Provisioning\",\"Vagrant\"],\"articleSection\":[\"Database Administration &amp; Monitoring\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/part2-vagrant-up-get-your-oracle-infrastructure-up-an-running\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/part2-vagrant-up-get-your-oracle-infrastructure-up-an-running\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/part2-vagrant-up-get-your-oracle-infrastructure-up-an-running\/\",\"name\":\"Part 2 - vagrant up - get your Oracle infrastructure up an running - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"datePublished\":\"2017-01-26T13:31:25+00:00\",\"dateModified\":\"2023-07-12T07:17:42+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee\"},\"description\":\"Blog Part 2 - automated setup of Oracle Infrastructure with Vagrant and Ansible. Oracle Database 12.1.0.2 , CentOS 7.2\",\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/part2-vagrant-up-get-your-oracle-infrastructure-up-an-running\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/part2-vagrant-up-get-your-oracle-infrastructure-up-an-running\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/part2-vagrant-up-get-your-oracle-infrastructure-up-an-running\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Part 2 &#8211; vagrant up &#8211; get your Oracle infrastructure up an running\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee\",\"name\":\"Oracle Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/f711f7cd2c9b09bf2627133755b569fb5be0694810cfd33033bdd095fedba86d?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/f711f7cd2c9b09bf2627133755b569fb5be0694810cfd33033bdd095fedba86d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/f711f7cd2c9b09bf2627133755b569fb5be0694810cfd33033bdd095fedba86d?s=96&d=mm&r=g\",\"caption\":\"Oracle Team\"},\"url\":\"https:\/\/www.dbi-services.com\/blog\/author\/oracle-team\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Part 2 - vagrant up - get your Oracle infrastructure up an running - dbi Blog","description":"Blog Part 2 - automated setup of Oracle Infrastructure with Vagrant and Ansible. Oracle Database 12.1.0.2 , CentOS 7.2","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:\/\/www.dbi-services.com\/blog\/part2-vagrant-up-get-your-oracle-infrastructure-up-an-running\/","og_locale":"en_US","og_type":"article","og_title":"Part 2 - vagrant up - get your Oracle infrastructure up an running","og_description":"Blog Part 2 - automated setup of Oracle Infrastructure with Vagrant and Ansible. Oracle Database 12.1.0.2 , CentOS 7.2","og_url":"https:\/\/www.dbi-services.com\/blog\/part2-vagrant-up-get-your-oracle-infrastructure-up-an-running\/","og_site_name":"dbi Blog","article_published_time":"2017-01-26T13:31:25+00:00","article_modified_time":"2023-07-12T07:17:42+00:00","author":"Oracle Team","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Oracle Team","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/part2-vagrant-up-get-your-oracle-infrastructure-up-an-running\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/part2-vagrant-up-get-your-oracle-infrastructure-up-an-running\/"},"author":{"name":"Oracle Team","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee"},"headline":"Part 2 &#8211; vagrant up &#8211; get your Oracle infrastructure up an running","datePublished":"2017-01-26T13:31:25+00:00","dateModified":"2023-07-12T07:17:42+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/part2-vagrant-up-get-your-oracle-infrastructure-up-an-running\/"},"wordCount":1098,"commentCount":0,"keywords":["Ansible","Automation","Installation","Linux\/UNIX","Oracle 12c","Provisioning","Vagrant"],"articleSection":["Database Administration &amp; Monitoring"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/part2-vagrant-up-get-your-oracle-infrastructure-up-an-running\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/part2-vagrant-up-get-your-oracle-infrastructure-up-an-running\/","url":"https:\/\/www.dbi-services.com\/blog\/part2-vagrant-up-get-your-oracle-infrastructure-up-an-running\/","name":"Part 2 - vagrant up - get your Oracle infrastructure up an running - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2017-01-26T13:31:25+00:00","dateModified":"2023-07-12T07:17:42+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee"},"description":"Blog Part 2 - automated setup of Oracle Infrastructure with Vagrant and Ansible. Oracle Database 12.1.0.2 , CentOS 7.2","breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/part2-vagrant-up-get-your-oracle-infrastructure-up-an-running\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/part2-vagrant-up-get-your-oracle-infrastructure-up-an-running\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/part2-vagrant-up-get-your-oracle-infrastructure-up-an-running\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Part 2 &#8211; vagrant up &#8211; get your Oracle infrastructure up an running"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee","name":"Oracle Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/f711f7cd2c9b09bf2627133755b569fb5be0694810cfd33033bdd095fedba86d?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/f711f7cd2c9b09bf2627133755b569fb5be0694810cfd33033bdd095fedba86d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f711f7cd2c9b09bf2627133755b569fb5be0694810cfd33033bdd095fedba86d?s=96&d=mm&r=g","caption":"Oracle Team"},"url":"https:\/\/www.dbi-services.com\/blog\/author\/oracle-team\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/9702","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/27"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=9702"}],"version-history":[{"count":1,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/9702\/revisions"}],"predecessor-version":[{"id":26667,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/9702\/revisions\/26667"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=9702"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=9702"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=9702"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=9702"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}