Skip to content

Commit 627c7ec

Browse files
Merge pull request #471 from rcitton/rcitton
OL8 support
2 parents ee62285 + 3606258 commit 627c7ec

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+3081
-440
lines changed

OracleFPP/OL7/README.md

Lines changed: 370 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,370 @@
1+
# Oracle Fleet Patching and Provisioning (FPP) Vagrant project on VirtualBox or KVM/libVirt provider
2+
3+
###### Author: Ruggero Citton (<[email protected]>) - Orale RAC Pack, Cloud Innovation and Solution Engineering Team
4+
5+
This directory contains Vagrant build files to provision automatically
6+
one Grid Infrastructure and FPP Server host + (optional) an Oracle FPP target, using Vagrant, Oracle Linux 7 and shell scripts.
7+
![](images/OracleFPP.png)
8+
9+
## Prerequisites
10+
11+
1. Read the [prerequisites in the top level README](../README.md#prerequisites) to set up Vagrant with either VirtualBox or KVM
12+
1. You need to download Database binary separately
13+
14+
## Free disk space requirement
15+
16+
- Grid Infrastructure and Database binary zip under "./ORCL_software": ~5.5 Gb
17+
- Grid Infrastructure + RDBMS for GIMR on u01 vdisk (node1, location set by `u01_disk`): ~14 Gb
18+
- OS guest vdisk (node1/node2) located on default VirtualBox VM location: ~2.5 Gb
19+
- In case of KVM/libVirt provider, the disk is created under `storage pool = "storage_pool_name"`
20+
- In case of VirtualBox
21+
- Use `VBoxManage list systemproperties |grep folder` to find out the current VM default location
22+
- Use `VBoxManage setproperty machinefolder <your path>` to set VM default location
23+
- Dynamically allocated storage for ASM shared virtual disks (node1, location set by `asm_disk_path`): ~24 Gb
24+
25+
## Memory requirement
26+
27+
- Deploy one Grid Infrastructure and FPP Server (host1) at least 12Gb are required
28+
- Deploy OL7 host2 (optional) as Oracle FPP target at least 6Gb are required
29+
30+
## Getting started
31+
32+
1. Clone this repository `git clone https://github.com/oracle/vagrant-projects.git`
33+
2. Change into OracleFPP folder (`/repo clone path/vagrant-projects/RACPack/OracleFPP`)
34+
3. Download Grid Infrastructure and Database (optional) binary from OTN into `./ORCL_software` folder (*)
35+
4. Run `vagrant up`
36+
5. Connect to Oracle FPP Server (node1).
37+
6. You can shut down the VM via the usual `vagrant halt` and the start it up again via `vagrant up`.
38+
39+
(*) Download Grid Infrastructure and Database binary from OTN into `ORCL_software` folder
40+
https://www.oracle.com/database/technologies/oracle-database-software-downloads.html
41+
42+
Accept License Agreement
43+
go to version (21c) for Linux x86-64 you need -> "See All", example
44+
45+
* Oracle Database 21c Grid Infrastructure (21.3) for Linux x86-64
46+
LINUX.X64_213000_grid_home.zip (2,422,217,613 bytes)
47+
(sha256sum - 070d4471bc067b1290bdcee6b1c1fff2f21329d2839301e334bcb2a3d12353a3)
48+
49+
* Oracle Database 21c (21.3) for Linux x86-64 (required with 21c FPP)
50+
LINUX.X64_213000_db_home.zip (3,109,225,519 bytes)
51+
(sha256sum - c05d5c32a72b9bf84ab6babb49aee99cbb403930406aabe3cf2f94f1d35e0916)
52+
53+
## Customization
54+
55+
You can customize your Oracle environment by amending the parameters in the configuration file: `./config/vagrant.yml`
56+
The following can be customized:
57+
58+
#### host1
59+
60+
- `vm_name` : VM Guest partial name. The full name will be <prefix_name>-<vm_name>
61+
- `mem_size` : VM Guest memory size Mb (minimum 12Gb --> 12288)
62+
- `cpus` : VM Guest virtual cores
63+
- `public_ip` : VM public ip.
64+
- `vip_ip` : Oracle RAC VirtualIP (VIP).
65+
- `private_ip` : VM private ip
66+
- `scan_ip1` : Oracle RAC SCAN IP1
67+
- `scan_ip2` : Oracle RAC SCAN IP2
68+
- `scan_ip3` : Oracle RAC SCAN IP3
69+
- `gns_IP` : Oracle RAC GNS (FPP requirement)
70+
- `ha_vip` : Oracle RAC HA_VIP (FPP requirement)
71+
- `storage_pool_name`: KVM/libVirt storage pool name
72+
- `u01_disk`: VirtualBox Oracle binary virtual disk (u01) file path
73+
74+
75+
#### host2
76+
77+
- `vm_name` : VM Guest partial name. The full name will be <prefix_name>-<vm_name>
78+
- `mem_size` : VM Guest memory size Mb (minimum 6Gb --> 6144)
79+
- `cpus` : VM Guest virtual cores
80+
- `public_ip` : VM public ip.
81+
- `storage_pool_name`: KVM/libVirt storage pool name
82+
- `u01_disk`: VirtualBox Oracle binary virtual disk (u01) file path
83+
- `deploy` : It can be 'true' or 'false'. Using false node2 deploy will be skipped.
84+
85+
#### shared network
86+
87+
- `prefix_name` : VM Guest prefix name (the GI cluster name will be: <prefix_name>-c')
88+
- `network` : It can be 'hostonly' or 'public'.
89+
- In case of 'hostonly', the guest VMs are using "host-Only" network defined as 'vboxnet0'
90+
- In case of 'public' a bridge network will be setup ('netmask' and 'gateway' are required). During startup the bridge network is required
91+
- `bridge_nic` : KVM/libVirt bridge NIC, required in case of 'public' network
92+
- `netmask` : Required in case of 'public' network
93+
- `gateway` : Required in case of 'public' network
94+
- `dns_public_ip` : Required in case of 'public' network
95+
- `domain` : VM Guest domain name
96+
97+
#### shared storage
98+
99+
- `storage_pool_name`: KVM/libVirt Oradata dbf KVM storage pool name
100+
- `oradata_disk_path`: VirtualBox Oradata dbf path
101+
- `asm_disk_num` : Oracle RAC Automatic Storage Manager virtual disk number (min 4)
102+
- `asm_disk_size` : Oracle RAC Automatic Storage Manager virtual disk (max) size in Gb (at least 10)
103+
104+
#### environment
105+
106+
- `provider` : It's defining the provider to be used: 'libvirt' or 'virtualbox'
107+
- `grid_software` : Oracle Database 18c Grid Infrastructure (18.3) for Linux x86-64 zip file (or above)
108+
- `root_password` : VM Guest root password
109+
- `grid_password` : VM Guest grid password
110+
- `oracle_password` : VM Guest oracle password
111+
- `sys_password` : Oracled RDBMS SYS password
112+
- `ora_languages` : Oracle products languages
113+
- `asm_lib_type` : ASM library in use (ASMLIB/AFD)
114+
115+
#### Virtualbox provider Example1 (Oracle FPP Server available on host-only Virtualbox network):
116+
117+
host1:
118+
vm_name: fpps
119+
mem_size: 16384
120+
cpus: 1
121+
private_ip: 192.168.200.101
122+
public_ip: 192.168.56.101
123+
vip_ip: 192.168.56.102
124+
scan_ip1: 192.168.56.105
125+
scan_ip2: 192.168.56.106
126+
scan_ip3: 192.168.56.107
127+
gns_ip: 192.168.56.108
128+
ha_vip: 192.168.56.109
129+
storage_pool_name: Vagrant_KVM
130+
131+
host2:
132+
vm_name: fppc
133+
mem_size: 8192
134+
cpus: 1
135+
public_ip: 192.168.56.201
136+
storage_pool_name: Vagrant_KVM
137+
deploy: 'true'
138+
139+
shared:
140+
prefix_name: ol7-fpp
141+
# ---------------------------------------------
142+
network: hostonly
143+
domain: localdomain
144+
# ---------------------------------------------
145+
non_rotational: 'on'
146+
asm_disk_num: 8
147+
asm_disk_size: 10
148+
storage_pool_name: Vagrant_KVM
149+
# ---------------------------------------------
150+
151+
env:
152+
provider: virtualbox
153+
# ---------------------------------------------
154+
gi_software: LINUX.X64_213000_grid_home.zip
155+
db_software: LINUX.X64_213000_db_home.zip
156+
# ---------------------------------------------
157+
root_password: welcome1
158+
grid_password: welcome1
159+
oracle_password: welcome1
160+
sys_password: welcome1
161+
# ---------------------------------------------
162+
ora_languages: en,en_GB
163+
# ---------------------------------------------
164+
165+
#### Virtualbox provider Example2: (Oracle FPP Server available on public network):
166+
167+
host1:
168+
vm_name: fpps
169+
mem_size: 16384
170+
cpus: 2
171+
public_ip: 10.0.0.101
172+
vip_ip: 10.0.0.102
173+
scan_ip1: 10.0.0.105
174+
scan_ip2: 10.0.0.106
175+
scan_ip3: 10.0.0.107
176+
gns_ip: 10.0.0.108
177+
ha_vip: 10.0.0.109
178+
private_ip: 192.168.200.101
179+
storage_pool_name: Vagrant_KVM
180+
181+
host2:
182+
vm_name: fppc
183+
mem_size: 8192
184+
cpus: 1
185+
public_ip: 10.0.0.201
186+
storage_pool_name: Vagrant_KVM
187+
deploy: 'false'
188+
189+
shared:
190+
prefix_name: vgt-ol7-fpp
191+
# ---------------------------------------------
192+
network: public
193+
netmask: 255.255.255.0
194+
gateway: 10.0.0.1
195+
dns_public_ip: 8.8.8.8
196+
domain: mydomain.it
197+
# ---------------------------------------------
198+
non_rotational: 'on'
199+
asm_disk_num: 4
200+
asm_disk_size: 200
201+
storage_pool_name: Vagrant_KVM
202+
# ---------------------------------------------
203+
204+
env:
205+
provider: virtualbox
206+
# ---------------------------------------------
207+
gi_software: LINUX.X64_213000_grid_home.zip
208+
db_software: LINUX.X64_213000_db_home.zip
209+
# ---------------------------------------------
210+
root_password: welcome1
211+
grid_password: welcome1
212+
oracle_password: welcome1
213+
sys_password: welcome1
214+
# ---------------------------------------------
215+
ora_languages: en,en_GB
216+
# ---------------------------------------------
217+
218+
#### KVM/libVirt provider Example1 (Oracle FPP Server and FPP target on private network):
219+
220+
host1:
221+
vm_name: fpps
222+
mem_size: 16384
223+
cpus: 1
224+
private_ip: 192.168.200.101
225+
public_ip: 192.168.125.101
226+
vip_ip: 192.168.125.102
227+
scan_ip1: 192.168.125.105
228+
scan_ip2: 192.168.125.106
229+
scan_ip3: 192.168.125.107
230+
gns_ip: 192.168.125.108
231+
ha_vip: 192.168.125.109
232+
storage_pool_name: Vagrant_KVM_Storage
233+
234+
host2:
235+
vm_name: fppc
236+
mem_size: 8192
237+
cpus: 1
238+
public_ip: 192.168.125.201
239+
storage_pool_name: Vagrant_KVM_Storage
240+
deploy: 'true'
241+
242+
shared:
243+
prefix_name: vgt-ol7-fpp
244+
# ---------------------------------------------
245+
network: hostonly
246+
domain: localdomain
247+
# ---------------------------------------------
248+
asm_disk_num: 8
249+
asm_disk_size: 10
250+
storage_pool_name: Vagrant_KVM_Storage
251+
# ---------------------------------------------
252+
253+
env:
254+
provider: libvirt
255+
# ---------------------------------------------
256+
gi_software: LINUX.X64_213000_grid_home.zip
257+
db_software: LINUX.X64_213000_db_home.zip
258+
# ---------------------------------------------
259+
root_password: welcome1
260+
grid_password: welcome1
261+
oracle_password: welcome1
262+
sys_password: welcome1
263+
# ---------------------------------------------
264+
ora_languages: en,en_GB
265+
# ---------------------------------------------
266+
267+
#### KVM/libVirt provider Example1 (Oracle FPP Server and FPP target on public network):
268+
269+
host1:
270+
vm_name: fpps
271+
mem_size: 16384
272+
cpus: 1
273+
private_ip: 192.168.200.101
274+
public_ip: 192.168.125.101
275+
vip_ip: 192.168.125.102
276+
scan_ip1: 192.168.125.105
277+
scan_ip2: 192.168.125.106
278+
scan_ip3: 192.168.125.107
279+
gns_ip: 192.168.125.108
280+
ha_vip: 192.168.125.109
281+
storage_pool_name: Vagrant_KVM_Storage
282+
283+
host2:
284+
vm_name: fppc
285+
mem_size: 8192
286+
cpus: 1
287+
public_ip: 192.168.125.201
288+
storage_pool_name: Vagrant_KVM_Storage
289+
deploy: 'true'
290+
291+
shared:
292+
prefix_name: vgt-ol7-fpp
293+
# ---------------------------------------------
294+
network: hostonly
295+
bridge_nic: br0
296+
netmask: 255.255.255.0
297+
gateway: 10.0.0.1
298+
dns_public_ip: 8.8.8.8
299+
domain: localdomain
300+
# ---------------------------------------------
301+
asm_disk_num: 8
302+
asm_disk_size: 10
303+
storage_pool_name: Vagrant_KVM_Storage
304+
# ---------------------------------------------
305+
306+
env:
307+
provider: libvirt
308+
# ---------------------------------------------
309+
gi_software: LINUX.X64_213000_grid_home.zip
310+
db_software: LINUX.X64_213000_db_home.zip
311+
# ---------------------------------------------
312+
root_password: welcome1
313+
grid_password: welcome1
314+
oracle_password: welcome1
315+
sys_password: welcome1
316+
# ---------------------------------------------
317+
ora_languages: en,en_GB
318+
# ---------------------------------------------
319+
320+
## Note
321+
322+
- `SYSTEM_TIMEZONE`: `automatically set (see below)`
323+
The system time zone is used by the database for SYSDATE/SYSTIMESTAMP.
324+
The guest time zone will be set to the host time zone when the host time zone is a full hour offset from GMT.
325+
When the host time zone isn't a full hour offset from GMT (e.g., in India and parts of Australia), the guest time zone will be set to UTC.
326+
You can specify a different time zone using a time zone name (e.g., "America/Los_Angeles") or an offset from GMT (e.g., "Etc/GMT-2"). For more information on specifying time zones, see [List of tz database time zones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
327+
- Wallet Zip file location `/tmp/wallet_<pdb name>.zip`.
328+
Copy the file on client machine, unzip and set TNS_ADMIN to Wallet loc. Connect to DB using Oracle Sql Client or using your App
329+
- Using KVM/libVirt provider you may need add a firewall rule to permit NFS shared folder mounted on the guest
330+
331+
example: using 'uwf' : `sudo ufw allow to 192.168.121.1` where 192.168.121.1 is the IP for the `vagrant-libvirt` network (created by vagrant automatically)
332+
333+
virsh net-dumpxml vagrant-libvirt
334+
<network connections='1' ipv6='yes'>
335+
<name>vagrant-libvirt</name>
336+
<uuid>d2579032-4e5e-4c3f-9d42-19b6c64ac609</uuid>
337+
<forward mode='nat'>
338+
<nat>
339+
<port start='1024' end='65535'/>
340+
</nat>
341+
</forward>
342+
<bridge name='virbr1' stp='on' delay='0'/>
343+
<mac address='52:54:00:05:12:14'/>
344+
<ip address='192.168.121.1' netmask='255.255.255.0'>
345+
<dhcp>
346+
<range start='192.168.121.1' end='192.168.121.254'/>
347+
</dhcp>
348+
</ip>
349+
</network>
350+
- If you are behind a proxy, set the following env variables
351+
- (Linux/MacOSX)
352+
- export http_proxy=http://proxy:port
353+
- export https_proxy=https://proxy:port
354+
355+
- (Windows)
356+
- set http_proxy=http://proxy:port
357+
- set https_proxy=https://proxy:port
358+
359+
## FPP commands you could test postdeploy based on the configuration file above
360+
361+
Note1 : as you need the Database binaries zip file under "ORCL_software"
362+
Note2 : having limited resource you may want setup the following JAVA env variables for grid user : `JVM_ARGS="-Xms512m -Xmx512m" and _JAVA_OPTIONS="-XX:ParallelGCThreads=2"` before rhpctl commands executions
363+
Note3 : you can connect host1/host2 issuing 'vagrant ssh host1/host2'
364+
Note4 : following some fpp commands you may want to try
365+
366+
- `rhpctl import image -image db_21300 -imagetype ORACLEDBSOFTWARE -zip /vagrant/ORCL_software/LINUX.X64_213000_db_home.zip`
367+
- `rhpctl import image -image gi_21300 -imagetype ORACLEGISOFTWARE -zip /vagrant/ORCL_software/LINUX.X64_213000_grid_home.zip`
368+
- `rhpctl add workingcopy -workingcopy wc_db_21300 -image db_21300 -user oracle -groups OSBACKUP=dba,OSDG=dba,OSKM=dba,OSRAC=dba -oraclebase /u01/app/oracle -path /u01/app/oracle/product/213000/dbhome_1 -targetnode fppc -root`
369+
- `rhpctl add database -workingcopy wc_db_21300 -dbname ORCL -dbtype SINGLE -cdb -pdbName PDB -numberOfPDBs 2 -root`
370+
- (...)
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)