You need to provide the software (Oracle Linux, Oracle 11g Database, Oracle Enterprise Manager 12c) and put it in the right place; the automation will then use that and build out the entire system.
The guests comprise: | Guest name | Purpose | |------------+------------------------------------------------------------------------------------------| | oemrepo | Repository (database) for the Oracle Enterprise Manager | | oms | Oracle Management Server, hosting Oracle Enterprise Manager | | dhcp | The dhcp service | | stage | Staging service for Bare Metal Provisioning (BMP) by the OMS. Holds kickstart files etc. | | tftp | Boot server for BMP. Provides PXE linux boot services. | | yum | Yum server for BMP. Provides a yum repository containing Oracle Linux 6. |
The install process takes about 4 hours.
You will then be able to access Oracle Enterprise Manager on the host machine on port 17802 and show Bare Metal Provisioning as described in [[docs/Bare_Metal_Provisioning_With_Oracle_Enterprise_Manager.org][Bare Metal Provisioning with Oracle Enterprise Manager]] ** Suggested Workflow The Oracle Software is large and takes a long time to download. I suggest you start that download first, and then get on with everything else. Given that, the workflow is:
**** Vagrant Plugins Install the following vagrant plugins: | hostmanager | https://github.com/smdahlen/vagrant-hostmanager| | vbguest | https://github.com/dotless-de/vagrant-vbguest| | snapshot | https://github.com/scalefactory/vagrant-multiprovider-snap| Running the following will accomplish the plugin installation:
for plugin in vagrant-hostmanager vagrant-vbguest vagrant-multiprovider-snap do vagrant plugin install $plugin done
*** Git Install the latest version of git on your host.
git clone https://github.org/tobyhferguson/Davenport
This will create a directory called =Davenport=. This directory will be the project's home directory[fn:1]. All file references etc. will be relative to this directory. So if I say something like "unzip the database files into the =db_install= directory", that directory will be an immediate child directory under =Davenport=, thus: =Davenport/db_install=.
** Download Software Download four software items (each comprising one or more zip files) as detailed below: | OL6 | Latest version of Oracle Linux 6. Opensource and free to download, use and distribute.| | DB | Oracle Database 12C. Requires a license to download and use.| | OEM | Oracle Enterprise Manager 12C. Free to download. Use with Oracle Linux requires an Oracle Linux support contract | | DB Template | Oracle template for OEM 12C. Free to download.|
*** OL6 Download any (we recommend the latest) version of Oracle Linux 6 from https://edelivery.oracle.com. We used Oracle Linux 6 Update 5: | Name | Part # | |-----------------------------------------------------+-----------| | Oracle Linux Release 6 Update 5 for x86_64 (64 Bit) | V41362-01 |
Unzip the downloaded file and save the contained iso image as =ol6.iso= in the project's home directory. *** DB Download Oracle Database 11gR2 from My Oracle Support. Specifically we tested 'Patch 10404530: 11.2.0.3.0 PATCH SET FOR ORACLE DATABASE SERVER'
You don't need all the 7 parts of the database, just parts 1 and 2.
Download =p10404530_112030_Linux-x86-64_1of7.zip= and =p10404530_112030_Linux-x86-64_2of7.zip= and unzip them into =db_install=
(If you download those zip files into some directory =/Download=, then the following executed in the =Davenport= directory will unzip them into the right place:
unzip -u -d db_install /Download/p10404530_112030_Linux-x86-64_1of7.zip unzip -u -d db_install /Download/p10404530_112030_Linux-x86-64_2of7.zip
*** Enterprise Manager Download Enterprise Manager 12C Release 4 from https://edelivery.oracle.com. You'll need all three parts, as listed below; each part will download as a zip file named after its part number:
| Description | Part # | |---------------------------------------------------------------------------------------------+-----------| | Oracle Enterprise Manager Cloud Control 12c Release 4 (12.1.0.4) for Linux x86-64 Disk1of3 | V45344-01 | | Oracle Enterprise Manager Cloud Control 12c Release 4 (12.1.0.4) for Linux x86-64 Disk2of3 | V45345-01 | | Oracle Enterprise Manager Cloud Control 12c Release 4 (12.1.0.4) for Linux x86-64 Disk 3of3 | V45346-01 |
Unzip /all/ of these files into the =oms_install= directory. Again, if you downloaded the zip files into =/Download= then the following executed in the =Davenport= directory will unzip them correctly:
unzip -u -d oms_install /Download/V45344-01.zip unzip -u -d oms_install /Download/V45345-01.zip unzip -u -d oms_install /Download/V45346-01.zip
*** DB Template We use a DB template to construct the OEM repository. This template ensures that (almost) all the parts are configured and constructed correctly (we do have to apply a patch later on to cope with a partition issue, but that gets applied automatically as part of the provisioning system).
Download the DB template from http://www.oracle.com/technetwork/oem/enterprise-manager/downloads/db-templates-1959276.html. Specifically you'll need the template called '11.2.0.3 DB Template for EM 12.1.0.3 on Linux x86-64'. Download this template as a zip file into the =Davenport= directory. The zip file must be called '11.2.0.3_Database_Template_for_EM12_1_0_4_Linux_x64.zip'. Leave the file in its zipped format - it gets unzipped /inside/ the =oemrepo= vm during database construction.
You'll be setup correctly if your Davenport directory has the following content:
[toby@dell-server-2 Davenport] ls -l total 4252360 -rw-r--r--. 1 toby toby 219488303 Dec 9 08:34 11.2.0.3_Database_Template_for_EM12_1_0_4_Linux_x64.zip drwxr-xr-x. 8 toby toby 4096 Dec 17 10:22 db_install -rw-r--r--. 1 toby toby 3885117440 Dec 18 07:46 ol6.iso drwxr-xr-x. 11 toby toby 4096 Dec 17 10:13 oms_install -rw-r--r--. 1 toby toby 6679 Dec 30 14:05 README.org -rw-rw-r--. 1 toby toby 3740 Dec 29 11:05 Vagrantfile
(There're a bunch of hidden directories too, but they're for "internal" use, so I haven't shown those here)
cd Davenport vagrant up
Vagrant will do its magic along with Virtualbox and setup the basic VMs. It will use the contents of the /Vagrantfile/ and the referenced scripts (in those hidden directories mentioned above) to provision each of the VMs with its respective service: | Guest name | Purpose | |------------+------------------------------------------------------------------------------------------| | oemrepo | Repository (database) for the Oracle Enterprise Manager | | oms | Oracle Management Server, hosting Oracle Enterprise Manager | | dhcp | The dhcp service | | stage | Staging service for Bare Metal Provisioning (BMP) by the OMS. Holds kickstart files etc. | | tftp | Boot server for BMP. Provides PXE linux boot services. | | yum | Yum server for BMP. Provides a yum repository containing Oracle Linux 6. |
All these VMs are "standard" vagrant VMs - the =root= and =vagrant= users have the password 'vagrant'. There is also an 'oracle' user, whose password is 'oracle'. The project directory (=Davenport=) is mounted inside each VM at =/vagrant=.
The =dhcp=, =stage=, =tftp= & =yum= servers are all managed by the OMS, and so have agents running on them.
This process takes of the order of 2 to 3 hours (with the bulk of that time being the OMS installation).
Once created each of these guests can be accessed via ssh from the =Davenport= directory by simply executing =vagrant ssh
All of the guests have two adapters, attached thus: | Adapter | Eth port | Network | |---------+----------+-------------------------------------------------------------------| | 1 | eth0 | NAT, through which ssh and other access is possible from the host | | 2 | eth1 | Host Only Network, for communicating with other guests | ** Post provisioning Once the provisioning has completed then halt all the machines and snapshot them, thus:
vagrant halt vagrant snap take --name Post_Provision
This will provide you a snapshot (called /Post_Provision/) for all of the machines. At any point you can do a =vagrant snap rollback --name Post_Provision= and it will revert you to this point in time.
We will use snapshots at other points to ensure we don't lose our work.
During creation and installation of the =oms= host a file, =oem_setupinfo.txt= will be created that contains information about how to communicate with Oracle Enterprise Manager. Note that the URLS contained in that document are only valid /within/ the host only network that the guests' Adpater 2 is attached to.
To make it easy to use a browser on the host or your own machine (if the host is remote) we've forwarded port 7802 from the =oms= guest to port =17802= on the host. Once the =oms= is up and running you can access the OEM GUI using an url of the form =https://HOST:17802/em= where =HOST= will be the address (hostname or ipaddress) of the host machine.
Bare Metal Provisioning (BMP) Process The BMP process is documented in the [[docs/Bare_Metal_Provisioning_With_Oracle_Enterprise_Manager.org][Bare Metal Provisioning with Oracle Enterprise Manager]] file
Footnotes
[fn:1] The name of this directory is not important, but for ease of explanation I shall refer to it as =Davenport= or the /project's home directory/