Instalacion de Oracle 26ai- Creacion de ASM

Seguimos con la seria de la instalación de un Oracle 26ai , ahora vamos a por el ASM

El appliance en el que estoy usando de laboratorio es bastante raquítico, con un pequeño disco de 100Gb, por lo que habra que apañarse con lo que tenemos,.
Mi configuracion de disco es :

[root@gigabyte u01]# fdisk -l
Disk /dev/sda: 111.79 GiB, 120034123776 bytes, 234441648 sectors
Disk model: KINGSTON SUV400S
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x00fde38f

Device     Boot     Start       End   Sectors  Size Id Type
/dev/sda1  *         2048 156250111 156248064 74.5G 83 Linux
/dev/sda2       156250112 181415935  25165824   12G 82 Linux swap / Solaris

Asi que vamos a crear dos discos pequeños de 5 Gb que pondremos en /dev/sda3 y /dev/sda4 para poder hacer ver que tenemos un DATA y FRA , el disco quedará:

[root@gigabyte ~]# fdisk -l
Disk /dev/sda: 111.79 GiB, 120034123776 bytes, 234441648 sectors
Disk model: KINGSTON SUV400S
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x00fde38f

Device     Boot     Start       End   Sectors  Size Id Type
/dev/sda1  *         2048 156250111 156248064 74.5G 83 Linux
/dev/sda2       156250112 181415935  25165824   12G 82 Linux swap / Solaris
/dev/sda3       181415936 191180799   9764864  4.7G 83 Linux
/dev/sda4       191180800 200945663   9764864  4.7G 83 Linux

Descargaremos el asmlib desde
https://www.oracle.com/linux/downloads/linux-asmlib-v9-downloads.html e instalaremos los paquetes.
Una vez instalados,configuraremos el orcleasm

[root@gigabyte ~]# oracleasm configure -i
Configuring the Oracle ASM system service.
This will configure the on-boot properties of the Oracle ASM system
service.  The following questions will determine whether the service
is started on boot and what permissions it will have.  The current
values will be shown in brackets ('[]').  Hitting  without
typing an answer will keep that current value.  Ctrl-C will abort.
Default user to own the ASM disk devices []: grid
Default group to own the ASM disk devices []: asmdba
Start Oracle ASM system service on boot (y/n) [y]: y
Scan for Oracle ASM disks when starting the oracleasm service (y/n) [y]: y
Maximum number of ASM disks that can be used on system [2048]:
Enable iofilter if kernel supports it (y/n) [y]: y
Writing Oracle ASM system service configuration: done

Configuration changes only come into effect after the Oracle ASM
system service is restarted.  Please run 'systemctl restart oracleasm'
after making changes.

WARNING: All of your Oracle and ASM instances must be stopped prior
to restarting the oracleasm service.

[root@gigabyte ~]# systemctl stop oracleasm
[root@gigabyte ~]# systemctl start oracleasm
[root@gigabyte ~]# systemctl status oracleasm
● oracleasm.service - Oracle ASM Service
     Loaded: loaded (/usr/lib/systemd/system/oracleasm.service; enabled; preset: disabled)
     Active: active (exited) since Wed 2026-01-28 17:06:33 CET; 4s ago
    Process: 5027 ExecStartPre=/usr/bin/udevadm settle -t 120 (code=exited, status=0/SUCCESS)
    Process: 5028 ExecStart=/usr/sbin/oracleasm.init start (code=exited, status=0/SUCCESS)
   Main PID: 5028 (code=exited, status=0/SUCCESS)
        CPU: 378ms

Jan 28 17:06:33 gigabyte.pamplona.name systemd[1]: Starting Oracle ASM Service...
Jan 28 17:06:33 gigabyte.pamplona.name oracleasm.init[5042]: Mounting oracleasm driver filesystem: Not applicable with UEK8
Jan 28 17:06:33 gigabyte.pamplona.name oracleasm.init[5053]: Reloading disk partitions: done
Jan 28 17:06:33 gigabyte.pamplona.name oracleasm.init[5053]: Cleaning any stale ASM disks...
Jan 28 17:06:33 gigabyte.pamplona.name oracleasm.init[5053]: Setting up iofilter map for ASM disks: done
Jan 28 17:06:33 gigabyte.pamplona.name oracleasm.init[5065]: Scanning system for ASM disks...
Jan 28 17:06:33 gigabyte.pamplona.name oracleasm.init[5081]: Disk scan successful
Jan 28 17:06:33 gigabyte.pamplona.name systemd[1]: Finished Oracle ASM Service.

Como formatear los discos

crearemos los discos, en mi caso, al ser un pequeño sistema de prueba,estos han de ser particiones en un disco, en el caso de produccion,creariamos una particion única para cada disco.

[root@gigabyte ~]# oracleasm  createdisk DATA01 /dev/sda3
Writing disk header: done
Instantiating disk: done
[root@gigabyte ~]# oracleasm  createdisk FRA01 /dev/sda4
Writing disk header: done
Instantiating disk: done

[root@gigabyte ~]# oracleasm  scandisks
Reloading disk partitions: done
Cleaning any stale ASM disks...
Setting up iofilter map for ASM disks: done
Scanning system for ASM disks...

[root@gigabyte ~]# oracleasm  listdisks
DATA01
FRA01

Evitar problemas con SElinux

Para evitar problemas en los siguientes pasos con con SeLinux, ejecutaremos :

semanage fcontext -a -e /bin /u01/app/grid/bin
semanage fcontext -a -e /lib /u01/app/grid/lib
semanage fcontext -a -e /etc /etc/oracle/scls_scr

Configurar el CRS/HAS

Una vez tenemos los discos creados, procederemos a configurar el CRS,para eso, como root
ejecutaremos:

[root@gigabyte ~]# export GI_HOME=/u01/app/grid
[root@gigabyte ~]#  $GI_HOME/perl/bin/perl -I $GI_HOME/perl/lib -I $GI_HOME/crs/install $GI_HOME/crs/install/roothas.pl
Using configuration parameter file: /u01/app/grid/crs/install/crsconfig_params
The log of current session can be found at:
  /u01/app/oracle/crsdata/gigabyte/crsconfig/roothas_2026-01-28_05-21-47PM.log
2026/01/28 17:21:52 CLSRSC-363: User ignored prerequisites during installation
LOCAL ADD MODE
Creating OCR keys for user 'grid', privgrp 'oinstall'..
Operation successful.
2026/01/28 17:23:12 CLSRSC-330: Adding Clusterware entries to file 'oracle-ohasd.service'

gigabyte     2026/01/28 17:25:07     /u01/app/oracle/crsdata/gigabyte/olr/backup_20260128_172507.olr     2107015493
2026/01/28 17:25:09 CLSRSC-327: Successfully configured Oracle Restart for a standalone server

configuracion de oracle net

Como usuario grid iremos a $ORACLE_HOME/network/admin y crearemos los ficheros
sqlnet.ora

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
DIAG_ADR_ENABLED=ON
SQLNET.EXPIRE_TIME= 10
SQLNET.INBOUND_CONNECT_TIMEOUT=60

listener.ora

LISTENER =
   (DESCRIPTION_LIST =
    (DESCRIPTION =
       (ADDRESS = (PROTOCOL = TCP)(HOST = gigabyte.pamplona.name)(PORT = 1521))
        (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      )
   )
USE_SID_AS_SERVICE_LISTENER=ON
ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER=ON
VALID_NODE_CHECKING_REGISTRATION_LISTENER=ON
LOG_FILE_SIZE_LISTENER=50
LOG_FILE_NUM_LISTENER=365

Y despues, crearemos el servicio del listner

grid@gigabyte admin]$ $GI_HOME/bin/srvctl add listener -listener LISTENER -oraclehome  $GI_HOME

grid@gigabyte admin]$ $GI_HOME/bin/srvctl start listener

[grid@gigabyte admin]$ $GI_HOME/bin/crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
               ONLINE  ONLINE       gigabyte                 STABLE
ora.ons
               OFFLINE OFFLINE      gigabyte                 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.cssd
      1        OFFLINE OFFLINE                               STABLE
ora.diskmon
      1        OFFLINE OFFLINE                               STABLE
ora.evmd
      1        ONLINE  ONLINE       gigabyte                 STABLE
--------------------------------------------------------------------------------

creacion del ASM

Ahora crearemos el ASM con:

[grid@gigabyte admin]$ $GI_HOME/bin/asmca -silent \
      -configureASM \
      -sysAsmPassword CHANGE.me.26ai \
      -asmsnmpPassword CHANGE.me.26ai \
      -diskString "ORCL:*"  \
      -diskGroupName DATA \
      -disk "ORCL:DATA*" \
      -param ASM_POWER_LIMIT=1 \
      -param DIAGNOSTIC_DEST=$ORACLE_BASE \
      -param AUDIT_SYS_OPERATIONS=TRUE \
      -redundancy EXTERNAL



ASM has been created and started successfully.

[DBT-30001] Disk groups created successfully. Check /u01/app/oracle/cfgtoollogs/asmca/asmca-260128PM053656.log for details.

Luego, craremos los otros diskgroups al estilo de

$GI_HOME/bin/asmca -silent \
      -createDiskGroup \
      -sysAsmPassword CHANGE.me.26ai \
      -asmsnmpPassword CHANGE.me.26ai \
      -diskString "ORCL:*"  \
      -diskGroupName FRA \
      -disk "ORCL:FRA*" \
      -param ASM_POWER_LIMIT=1 \
      -param DIAGNOSTIC_DEST=$ORACLE_BASE \
      -param AUDIT_SYS_OPERATIONS=TRUE \
      -redundancy EXTERNAL
[DBT-30001] Disk groups created successfully. Check /u01/app/oracle/cfgtoollogs/asmca/asmca-260128PM053938.log for details.

Con esto, ya tendremos el asm creado e instalado en nuestra versio

[grid@gigabyte admin]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATA.dg
               ONLINE  ONLINE       gigabyte                 STABLE
ora.FRA.dg
               ONLINE  ONLINE       gigabyte                 STABLE
ora.LISTENER.lsnr
               ONLINE  ONLINE       gigabyte                 STABLE
ora.asm
               ONLINE  ONLINE       gigabyte                 Started,STABLE
ora.ons
               OFFLINE OFFLINE      gigabyte                 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.cssd
      1        ONLINE  ONLINE       gigabyte                 STABLE
ora.diskmon
      1        OFFLINE OFFLINE                               STABLE
ora.evmd
      1        ONLINE  ONLINE       gigabyte                 STABLE
--------------------------------------------------------------------------------
[grid@gigabyte admin]$ asmcmd lsdg
State    Type    Rebal  Sector  Logical_Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  EXTERN  N         512             512   4096  1048576      4768     4701                0            4701              0             N  DATA/
MOUNTED  EXTERN  N         512             512   4096  1048576      4768     4704                0            4704              0             N  FRA/

Siguiente paso.. creación de una base de datos 26ai

Instalacion de Oracle 26ai – Oracle restart

Vamos a continuar con la instalacion de un Oracle26ai

En la anterior entrada vimos como teniamos que preparar un Oracle Linux 9.
Ahora veremos como instalar el Oracle Restart. Para no hacer la entrada muy larga, instalaremos solamente los binarios y en la siguiente configuraremos la capa de almacenamiento y crearemos el ASM.

Nosotros usaremos el paquete clásico LINUX.X64_2326100_grid_home.zip ya que instalar desde .rpm no tiene ninguna gracia.

Tras haer ejecutado esos pasos, nos conectaremos con nuestro usuario GRID y pondremos las variables de entorno en su fichero .bash_profile.

En muchos documentos hablan indistintamente e GI_HOME y GROD_HOME, con lo que nosotros nos ahorraremos el aburrimiento de ir poniéndolas siempre añadiéndolas directamente en nuestro bash_profile


export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/grid
export GI_HOME=$GRID_HOME
export ORACLE_HOME=$GRID_HOME
export ORACLE_SID=+ASM
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
umask 022
# Required for install and compile
export VUQDISK_GRP=oinstall
export CV_ASSUME_DISTID=OL8

Descomprimir binarios

Iremos a nuestro ORACLE_HOME y descomprimiremos los binarios:

cd $ORACLE_HOME
unzip /var/tmp/26ai/LINUX.X64_2326100_grid_home.zip

Descomprimir el utimo Opatch

Siempre usaremos la última versión de Opatch, como curiosidad, veremos como aun no le han cambiado el nombre de 23ai a 26 ai 😉

cd $ORACLE_HOME
rm -fR OPatch
unzip /var/tmp/26ai/p6880880_230000_LINUX.zip

Instalar el paquete cvuqdisk

Aunque pensábamos que todos los pasos requeridos como root ya estaban, exsiste algún paquete requerido que no es parte de la distribución sino del propio grid, por lo que solo lo tenemos cuando descargamos el software del grid, el paquete cvuqdisk puede encontrarse con un simple find, y lo instalaremos con el gestor de paquetes de red-hat dnf con el comando:

grid@gigabyte grid]$ find . -name *.rpm
./cv/remenv/cvuqdisk-1.0.10-1.rpm
./cv/rpm/cvuqdisk-1.0.10-1.rpm
sudo dnf install -y ./cv/rpm/cvuqdisk-1.0.10-1.rpm

Preparar un archivo de response

Ahora tendremos que preparar un archivo de respuesta con las configuraciones que queremos.
Esto va a ser mas sencillo y limpio que tener una linea de comandos enormes , para ello haremos una copia del gridsetup.rsp y modificaremos las lineasque vemos en el bloque de debajo:

cp ./install/response/gridsetup.rsp ./install/response/pamplona_dba.rsp


grid@gigabyte grid]$ diff ./install/response/gridsetup.rsp ./install/response/pamplona_dba.rsp

< INVENTORY_LOCATION= > INVENTORY_LOCATION=/u01/app/oraInventory
---
< installOption= > installOption=CRS_SWONLY
---
< ORACLE_BASE= > ORACLE_BASE=/u01/app/oracle
---
< OSDBA= > OSDBA=asmdba
---
< OSOPER= > OSOPER=asmoper
---
< OSASM= > OSASM=asmadmin
---
< configureAsExtendedCluster= > configureAsExtendedCluster=false
---
< executeRootScript= > executeRootScript=false

Una vez tenemos nuestro fichero, podríamos proceder a la instalacion

Nota Desde Cafe database nos dieron un consejo muy interesante, y es que podemos usar la utilidad de verificación de cluster para asegurarnos que todos los prerrequisitos de nuestro GRID se cumplen, para ello ejecutaríamos:

/runcluvfy.sh stage -pre crsinst -n `hostname -s`

INstalacion

Y llegamos al momento de la verdad, donde haríamos la Instalacion como usuario gridcon el comando

cd $ORACLE_HOME
./gridSetup.sh -silent -responseFile ./install/response/pamplona_dba.rsp

Nota En el momento de hacer este documento no exsiste ningun parche adicional que aplicar, en el caso de que hubiese disponible algun RU, deberiamos de descargarlo y ejecutar como usuario grid

cd $ORACLE_HOME
./gridSetup.sh -silent  -applyRU /var/tmp/[NUMERO_RU_DESCOMPRIMIDO] -responseFile ./install/response/pamplona_dba.rsp

Esto nos dará una salida similar a:

-----------------------------------------------
[WARNING] [INS-13014] Target environment does not meet some optional requirements.
   CAUSE: Some of the optional prerequisites are not met. See logs for details. gridSetupActions2026-01-25_06-23-45PM.log.
   ACTION: Identify the list of failed prerequisite checks from the log: gridSetupActions2026-01-25_06-23-45PM.log. Then either from the log file or from installation manual find the appropriate configuration to meet the prerequisites and fix it manually.
The response file for this session can be found at:
 /u01/app/grid/install/response/grid_2026-01-25_06-23-45PM.rsp

You can find the log of this install session at:
 /tmp/GridSetupActions2026-01-25_06-23-45PM/gridSetupActions2026-01-25_06-23-45PM.log

As a root user, run the following script(s):
	1. /u01/app/oraInventory/orainstRoot.sh
	2. /u01/app/grid/root.sh

Run /u01/app/oraInventory/orainstRoot.sh on the following nodes:
[gigabyte]
Run /u01/app/grid/root.sh on the following nodes:
[gigabyte]


Successfully Setup Software with warning(s).
Moved the install session logs to:
 /u01/app/oraInventory/logs/GridSetupActions2026-01-25_06-23-45PM

Ejecucion de comandos como root

Vamos pues a ejecutarlos comandos de root

[root@gigabyte u01]# /u01/app/oraInventory/orainstRoot.sh
Changing permissions of /u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.

Changing groupname of /u01/app/oraInventory to oinstall.
The execution of the script is complete.
[root@gigabyte u01]# /u01/app/grid/root.sh
Check /u01/app/grid/install/root_gigabyte.pamplona.name_2026-01-25_18-31-43-054623113.log for the output of root script

Con lo que ya tenemos los binarios listos !!

Siguiente paso en:

Configurar el CRS de la 12.2 sin tener ASM

Hoy vamos a ver una entrada sencilla que puede habernos traido dolores de cabeza.

Con los nuevos cambios en la instalacion en la version 12.2 al instalar el crs ( que no deja de ser un «unzip») nos encontramos que el binario crsctl no esta lincado.

Cuando intentamos usar el configuratdor del CRS ($GI_HOME/gridSetup.sh ), nos encontramos que nos exige el ASM para poder continuar, asi que
¿Como podemos configurar nuestro CRS sin ASM ?
La solucion es muy sencilla, y pasa por ejecutar el comando roothas.pl
Como usuario root ejecutaremos

export GI_HOME=/u01/app/oracle/product/12.2.0.1/grid
$GI_HOME/perl/bin/perl -I $GI_HOME/perl/lib -I $GI_HOME/crs/install
$GI_HOME/crs/install/roothas.pl

Con esto conseguiremos el ultimo proceso de lincado , que es el que crea los binarios crscrl y la configuracion de nuestro grid a nivel de sistema operativo.

Hemos de tener en cuenta que , este proceso no crea el listener, asi que, como usuario oracle y con las variables de entorno del grid cargado deberemos de ejecutar despues

srvctl add listener -oraclehome $ORACLE_HOME -listener LISTENER 

CRS-6706: Oracle Clusterware Release patch level (‘xx’) does not match Software patch level (‘0’). Oracle Clusterware cannot be started.

Hoy vamos a ver la resolución de un problema que puede darnos al aplicar un PSU sobre el grid infraestructure de un alone server. Tras aplicar correctamente un PSU sobre el Grid y una Base de datos al intentar arrancar de nuevo el clusterware recibimos el siguiente error

CRS-6706: Oracle Clusterware Release patch level (‘nnn’) does not match Software patch level (‘mmm’) (Doc ID 1639285.1)

bash-4.2# /etc/ohasd start
Starting ohasd:
CRS-6706: Oracle Clusterware Release patch level ('1591286773') does not match Software patch level ('0'). Oracle Clusterware cannot be started.
CRS-4000: Command Start failed, or completed with errors.

La primera impresión es la de extrañeza, puesto que la aplicación de este mismo parche siguiendo el mismo proceso había sido satisfactoria en varios servidores.
Tras revisar los logs del Opatch y no encontrar ningún indicio de error, rebuscamos en soporte e y los grupos de ayuda en busca de alguna opción antes de tener que hacer marcha atrás en la aplicación del parche , y, «afortunadamente», encontramos una nota que indica que, este tipo de error puede ser normal en servidores alone en los que no se lleva a cabo el paso ‘rootcrs.pl -postpatch’

Así pues, la solución es tan sencilla como ejecuta los siguientes comandos como root comandos

$GRID_HOME/crs/install/roothas.sh -unlock
$GRID_HOME/crs/install/roothas.sh -patch
bash-4.2# ./crs/install/roothas.sh -unlock
Using configuration parameter file: /opt/app/oracle/product/12.1.0/grid/crs/install/crsconfig_params
2017/08/07 16:16:13 CLSRSC-347: Successfully unlock /opt/app/oracle/product/12.1.0/grid

bash-4.2# .//crs/install/roothas.sh -patch
Using configuration parameter file: /opt/app/oracle/product/12.1.0/grid/crs/install/crsconfig_params

Esto solventa el problema y levanta automáticamente el ohas tras lo que, esperando un ratillo ( ya sabemos que el ohas no es lo mas rápido del mundo) tendremos nuesrta infraestructura levantada correctamente

bash-4.2# crsctl stat res -t
-----------------------------------------------------------
Name           Target  State      erver  State details
-----------------------------------------------------------
Local Resources
-----------------------------------------------------------
ora.DATA.dg
               ONLINE  ONLINE       test    STABLE
ora.LISTENER.lsnr
               ONLINE  ONLINE       test    STABLE
ora.REDO.dg
               ONLINE  ONLINE       test     STABLE
ora.asm
               ONLINE  ONLINE       test    Started,STABLE
ora.ons
               OFFLINE OFFLINE      test    STABLE
-----------------------------------------------------------
Cluster Resources
-----------------------------------------------------------
ora.cssd
      1        ONLINE  ONLINE       test     STABLE
ora.diskmon
      1        OFFLINE OFFLINE               STABLE
ora.evmd
      1        ONLINE  ONLINE       test     STABLE
ora.bbddtest.db
      1        ONLINE  ONLINE       test     Open,STABLE
-----------------------------------------------------------
bash-4.2#

Mas información como siempre en soporte de Oracle en las notas

  • CRS-1153: There was an error setting Oracle Clusterware to rolling patch mode. (Doc ID 1943498.1)
  • CRS-6706: Oracle Clusterware Release patch level (‘nnn’) does not match Software patch level (‘mmm’) (Doc ID 1639285.1)

desinstalacion del grid control

Tras un largo periodo de inactividad, vamos a añadir una pequeña entrada con la manera de desinstalar el grid control de Oracle .

Al contrario de cuando se tiene una base ded datos sencilla de Oracle donde con borrar binarios, inventario y oratab el sistema ( en unix) queda lo sufucientemente limpio como para llevar a cabo una reinstalacion, si tenemos que reinstalar un grid infraestructure por que ha habido problemas en la instalacion o por que queremos quitarlo, no se puede hacer «a las bravas».

La manera de lelvarlo a cabo es muy sencilla.
Solamente tenemos que ir al $GRID_HOME/deinstall y ejecutar ./deinstall
Este proceso se ha de ejecutar como propietario del grid, y , al igual que la instalacion, en un momento determinado nos solicitará la ejecucion de una cadena como root.

[grid@serverpruebas ] cd  $GRID_HOME/deinstall
[grid@serverpruebas ] ls 
bootstrap.pl         bootstrap_files.lst  deinstall            deinstall.pl         deinstall.xml        jlib                 readme.txt           response             sshUserSetup.sh      utl
[grid@serverpruebas ]./deinstall 	
Checking for required files and bootstrapping ...
Please wait ...
Location of logs /tmp/deinstall2016-11-03_09-31-33PM/logs/

############ ORACLE DECONFIG TOOL START ############


######################### DECONFIG CHECK OPERATION START #########################
## [START] Install check configuration ##


Checking for existence of the Oracle home location /opt/app/oracle/product/12.1.0/grid
Oracle Home type selected for deinstall is: Oracle Grid Infrastructure for a Standalone Server
Oracle Base selected for deinstall is: /opt/app/oracle
Checking for existence of central inventory location /opt/app/oraInventory
Checking for existence of the Oracle Grid Infrastructure home /opt/app/oracle/product/12.1.0/grid

## [END] Install check configuration ##

Traces log file: /tmp/deinstall2016-11-03_09-31-33PM/logs//crsdc_2016-11-03_09-32-36PM.log

Network Configuration check config START

Network de-configuration trace file location: /tmp/deinstall2016-11-03_09-31-33PM/logs/netdc_check2016-11-03_09-32-38-PM.log

Network Configuration check config END

Asm Check Configuration START

ASM de-configuration trace file location: /tmp/deinstall2016-11-03_09-31-33PM/logs/asmcadc_check2016-11-03_09-32-39-PM.log

ASM configuration was not detected in this Oracle home. Was ASM configured in this Oracle home (y|n) [n]: y
Automatic Storage Management (ASM) instance is detected in this Oracle home /opt/app/oracle/product/12.1.0/grid.
ASM Diagnostic Destination : /opt/app/oracle
ASM Diskgroups :
ASM diskstring : 
Diskgroups will not be dropped
 If you want to retain the existing diskgroups or if any of the information detected is incorrect, you can modify by entering 'y'. Do you  want to modify above information (y|n) [n]:
Database Check Configuration START

Database de-configuration trace file location: /tmp/deinstall2016-11-03_09-31-33PM/logs/databasedc_check2016-11-03_09-32-50-PM.log

Database Check Configuration END

######################### DECONFIG CHECK OPERATION END #########################


####################### DECONFIG CHECK OPERATION SUMMARY #######################
Oracle Grid Infrastructure Home is: /opt/app/oracle/product/12.1.0/grid
The following nodes are part of this cluster: null
The cluster node(s) on which the Oracle home deinstallation will be performed are:null
Oracle Home selected for deinstall is: /opt/app/oracle/product/12.1.0/grid
Inventory Location where the Oracle home registered is: /opt/app/oraInventory
ASM instance will be de-configured from this Oracle home
Do you want to continue (y - yes, n - no)? [n]: y
A log of this session will be written to: '/tmp/deinstall2016-11-03_09-31-33PM/logs/deinstall_deconfig2016-11-03_09-32-35-PM.out'
Any error messages from this session will be written to: '/tmp/deinstall2016-11-03_09-31-33PM/logs/deinstall_deconfig2016-11-03_09-32-35-PM.err'

######################## DECONFIG CLEAN OPERATION START ########################
Database de-configuration trace file location: /tmp/deinstall2016-11-03_09-31-33PM/logs/databasedc_clean2016-11-03_09-32-53-PM.log
ASM de-configuration trace file location: /tmp/deinstall2016-11-03_09-31-33PM/logs/asmcadc_clean2016-11-03_09-32-53-PM.log
ASM Clean Configuration START
ASM Clean Configuration END

Network Configuration clean config START

Network de-configuration trace file location: /tmp/deinstall2016-11-03_09-31-33PM/logs/netdc_clean2016-11-03_09-33-02-PM.log

De-configuring Listener configuration file...
Listener configuration file de-configured successfully.

De-configuring Naming Methods configuration file...
Naming Methods configuration file de-configured successfully.

De-configuring backup files...
Backup files de-configured successfully.

The network configuration has been cleaned up successfully.

Network Configuration clean config END


---------------------------------------->

Run the following command as the root user or the administrator on node "serverpruebas-m".

/tmp/deinstall2016-11-03_09-31-33PM/perl/bin/perl -I/tmp/deinstall2016-11-03_09-31-33PM/perl/lib -I/tmp/deinstall2016-11-03_09-31-33PM/crs/install /tmp/deinstall2016-11-03_09-31-33PM/crs/install/roothas.pl -force  -deconfig -paramfile "/mp/deinstall2016-11-03_09-31-33PM/response/deinstall_OraGI12Home1.rsp"

Press Enter after you finish running the above commands

<----------------------------------------



######################### DECONFIG CLEAN OPERATION END #########################


####################### DECONFIG CLEAN OPERATION SUMMARY #######################
ASM instance was de-configured successfully from the Oracle home
The stopping and de-configuring of Oracle Restart failed. Fix the problem and rerun this tool to completely remove the Oracle Restart configuration and the software
Oracle Restart was already stopped and de-configured on node "serverpruebas-m"
Oracle Restart is stopped and de-configured successfully.
#######################################################################


############# ORACLE DECONFIG TOOL END #############

Using properties file /tmp/deinstall2016-11-03_09-31-33PM/response/deinstall_2016-11-03_09-32-35-PM.rsp
Location of logs /tmp/deinstall2016-11-03_09-31-33PM/logs/

############ ORACLE DEINSTALL TOOL START ############





####################### DEINSTALL CHECK OPERATION SUMMARY #######################
A log of this session will be written to: '/tmp/deinstall2016-11-03_09-31-33PM/logs/deinstall_deconfig2016-11-03_09-32-35-PM.out'
Any error messages from this session will be written to: '/tmp/deinstall2016-11-03_09-31-33PM/logs/deinstall_deconfig2016-11-03_09-32-35-PM.err'

######################## DEINSTALL CLEAN OPERATION START ########################
## [START] Preparing for Deinstall ##
Setting LOCAL_NODE to serverpruebas-m
Setting CRS_HOME to true
Setting oracle.installer.invPtrLoc to /tmp/deinstall2016-11-03_09-31-33PM/oraInst.loc
Setting oracle.installer.local to false

## [END] Preparing for Deinstall ##

Setting the force flag to false
Setting the force flag to cleanup the Oracle Base
Oracle Universal Installer clean START


Detach Oracle home '/opt/app/oracle/product/12.1.0/grid' from the central inventory on the local node : Done

Failed to delete the directory '/opt/app/oracle/product/12.1.0/grid'. The directory is in use.
Delete directory '/opt/app/oracle/product/12.1.0/grid' on the local node : Failed <<<<

Delete directory '/opt/app/oraInventory' on the local node : Done

Failed to delete the directory '/opt/app/oracle/product/12.1.0/grid'. The directory is in use.
The Oracle Base directory '/opt/app/oracle' will not be removed on local node. The directory is not empty.

Oracle Universal Installer cleanup was successful.

Oracle Universal Installer clean END


## [START] Oracle install clean ##

Clean install operation removing temporary directory '/tmp/deinstall2016-11-03_09-31-33PM' on node 'serverpruebas-m'

## [END] Oracle install clean ##


######################### DEINSTALL CLEAN OPERATION END #########################


####################### DEINSTALL CLEAN OPERATION SUMMARY #######################
Successfully detached Oracle home '/opt/app/oracle/product/12.1.0/grid' from the central inventory on the local node.
Failed to delete directory '/opt/app/oracle/product/12.1.0/grid' on the local node.
Successfully deleted directory '/opt/app/oraInventory' on the local node.
Oracle Universal Installer cleanup was successful.


Run 'rm -r /etc/oraInst.loc' as root on node(s) 'serverpruebas-m' at the end of the session.

Run 'rm -r /opt/ORCLfmap' as root on node(s) 'serverpruebas-m' at the end of the session.
Run 'rm -r /etc/oratab' as root on node(s) 'serverpruebas-m' at the end of the session.
Oracle deinstall tool successfully cleaned up temporary directories.
#######################################################################


############# ORACLE DEINSTALL TOOL END #############

Como veis, tremendamente sencillo si se hace de manera ordenada