oravirt / vagrant-vbox-rac

Vagrant config to automatically build one or more Oracle RAC clusters
14 stars 8 forks source link

vbox-rac-dc2 build issues #3

Open pythiangoryunov opened 5 years ago

pythiangoryunov commented 5 years ago

Hi Mikael,

I was trying to build 18c RAC using vbox-rac-dc2 but it failed looking for 12.2.0.1 images and checking ansible directories extra-provision/ansible-oracle/group_vars/vbox-rac-dc1/2 they do not look like synchronized. Would you have a look?

Thank you, Andrey

TASK [oraswgi-install : install-home-gi | Extract files to ORACLE_HOME (gi) (from remote location)] *** failed: [racnode-dc2-2] (item={u'creates': u'xdk/mesg/lsxja.msb', u'version': u'12.2.0.1', u'filename': u'linuxx64_12201_grid_home.zip'}) => {"changed": false, "item": {"creates": "xdk/mesg/lsxja.msb", "filename": "linuxx64_12201_grid_home.zip", "version": "12.2.0.1"}, "msg": "Source '/media/swrepo/linuxx64_12201_grid_home.zip' does not exist"} failed: [racnode-dc2-1] (item={u'creates': u'xdk/mesg/lsxja.msb', u'version': u'12.2.0.1', u'filename': u'linuxx64_12201_grid_home.zip'}) => {"changed": false, "item": {"creates": "xdk/mesg/lsxja.msb", "filename": "linuxx64_12201_grid_home.zip", "version": "12.2.0.1"}, "msg": "Source '/media/swrepo/linuxx64_12201_grid_home.zip' does not exist"} to retry, use: --limit @/vagrant/extra-provision/ansible-oracle/vbox-rac-dc2.retry

pythiangoryunov commented 5 years ago

and when 12... images were provided it tried to create 18c database

TASK [oraswdb-install : install-home-db | Install Oracle Database Server] ** fatal: [racnode-dc2-1]: FAILED! => {"changed": true, "cmd": "/u01/app/oracle/18.3.0.0/db1-base/runInstaller -responseFile /u01/stage/rsp/18300-base_racnode-dc2-1.rsp -ignorePrereq -silent -waitforcompletion", "delta": "0:00:44.896041", "end": "2019-05-30 12:30:14.470079", "failed_when_result": true, "msg": "non-zero return code", "rc": 254, "start": "2019-05-30 12:29:29.574038", "stderr": "", "stderr_lines": [], "stdout": "Launching Oracle Database Setup Wizard...\n\n[FATAL] [INS-35363] Incompatible version of Oracle Grid Infrastructure detected.\n CAUSE: The active version of Oracle Grid Infrastructure detected on the system (12.2.0.1.0), is lower than the version of Oracle Real Application Database software that you were attempting to install(18.0.0.0.0).This is not supported.\n ACTION: If Oracle Grid Infrastructure is of older version, only Oracle Single Instance Database software can be installed. If you want to install Oracle Real Application Database software,you should upgrade Oracle Grid Infrastructure to same or higher version first.", "stdout_lines": ["Launching Oracle Database Setup Wizard...", "", "[FATAL] [INS-35363] Incompatible version of Oracle Grid Infrastructure detected.", " CAUSE: The active version of Oracle Grid Infrastructure detected on the system (12.2.0.1.0), is lower than the version of Oracle Real Application Database software that you were attempting to install(18.0.0.0.0).This is not supported.", " ACTION: If Oracle Grid Infrastructure is of older version, only Oracle Single Instance Database software can be installed. If you want to install Oracle Real Application Database software,you should upgrade Oracle Grid Infrastructure to same or higher version first."]}

NO MORE HOSTS LEFT ***** to retry, use: --limit @/vagrant/extra-provision/ansible-oracle/vbox-rac-dc2.retry

PLAY RECAP ***** racnode-dc2-1 : ok=93 changed=55 unreachable=0 failed=1

oravirt commented 5 years ago

I'll have a look. Can you show me the contents of group_vars/vbox-rac-dc2/*, and also your hosts.yml?

pythiangoryunov commented 5 years ago

Thank you Mikael,

it is just one yaml file underneath of group_vars for dc2

[andrey@angor group_vars]$ cd vbox-rac-dc2 [andrey@angor vbox-rac-dc2]$ ls -l total 8 -rw-rw-r-- 1 andrey andrey 4948 May 30 10:45 vbox-rac-dc2.yml [andrey@angor vbox-rac-dc2]$ pwd /home/andrey/vag/oravirt/vagrant-vbox-rac/extra-provision/ansible-oracle/group_vars/vbox-rac-dc2 [andrey@angor vbox-rac-dc2]$

hosts.yml had variables for ...dc2 (those for ...dc1 were commented out):

oravirt commented 5 years ago

Thanks, I’ll get back to you as soon as possible

oravirt commented 5 years ago

I've fixed the configuration for vbox-rac-dc2 (https://github.com/oravirt/ansible-oracle/commits/master, the 3 last commits), so now it is the same as for vbox-rac-dc1 (I haven't had time to actually run through the installation, but I hope it will work ;-) )

So, do a git pull followed by ./update-repo.sh and you should have all the latest changes.

Let me know if you run into issues. (Also, by default both configurations will install 18.3 (GI/DB)

pythiangoryunov commented 5 years ago

thanks! I downloaded it again and uncomment 2nd part, noticed that fra got 1 disk (instead of 2 for dc1 RAC) and provisioning_env_override was false so might be it worth to have them the same as dc1

I started it to see what it would produce.

oravirt commented 5 years ago

Thanks, fixed with 10ad314d795b50e3956744ff41e2713dce86585f

pythiangoryunov commented 5 years ago

thank you Mikael! I was able to install it. I noticed that oracle homes named not quite as per OFA (/u01/app/grid/product//grid - GI, /u01/app/oracle//db1/ - RDBMS) where I would rather used /u01/app//grid for GI and /u01/app/oracle/product//db.. for RDBMS.

Is there any chance to put variables at command line or in yaml to replace default values for oracle home paths?

oravirt commented 5 years ago

The GI ORACLE_HOME is defined via: oracle_home_gi, and by default it is defined as:

GI-RAC: "/u01/app/{{ oracle_install_version_gi }}/grid"
GI-SI: "{{ oracle_base }}/{{ oracle_install_version_gi }}/grid"

But, you can set oracle_home_gi to whatever you choose, and that parameter is defined in the gi.yml file.

The DB ORACLE_HOME configuration is a bit more complex, as it consists of multiple configurations. In db-homes.yml you have the following constructs:

db_homes_config:
  18300-base:   <--- REFERRED TO AS HOMEALIAS FURTHER DOWN
     home: db1-base
     # oracle_home: /path/to/wherever/     <--- THIS WILL OVERRIDE THE DEFAULT DESTINATION
     version: 18.3.0.0
     edition: EE
  12201-latest:
     home: db1-latest
     version: 12.2.0.1
     edition: EE
db_homes_installed:
     - home: 18300-base
       apply_patches: False
       state: present
    - home: 12201-latest
       apply_patches: False
       state: present

db_homes_config defines the various OH's you might have on a host/cluster and db_homes_installed decides if a home should be installed or not For DB homes the default is (metacode): {{ oracle_base }}/{{db_homes_config.HOMEALIAS.version }}/{{ db_homes_config.HOMEALIAS.home }} e.g /u01/app/oracle/18.3.0.0/db1-base but, this can be overridden by the {{ db_homes_config.HOMEALIAS.oracle_home }} variable. If this is set, it has to be set to the complete path.

There are some things you can change on the vagrant commandline, but setting a different path for ORACLE_HOME is not one of them (I couldn't get it to work reliably). So if you want to change that you'll have to do it the 'ansible' way, by changing the group_vars config

pythiangoryunov commented 5 years ago

Thanks! it looks like by default for RAC installation GI path chosen as for SI since it is /u01/app/grid/product/(version)/grid and for RDBMS home to add product to the path it will be required modification of default path.

pythiangoryunov commented 5 years ago

Hi Mikael, I checked previously created VMs with RAC database and GI path there as per OFA - /u01/app/12.1.0.2/grid but for dbs - /u01/app/oracle/(version)/db1 so might be somehow path for GI being taken as oracle restart in new version.

Anyway I ended up oracle_home_gi: "/u01/app/{{ oracle_install_version_gi}}/grid", oracle_home_db: "/u01/app/oracle/product/#{DBVER}/dbhome_1" to ansible.extra_vars in Vagrantfile