Creating and running an Oracle 18.0.0.0.0 DB instance on Oracle Linux

This post is also available in: English

In my previous post I showed how to install the Oracle 18c Exadata binaries in a Oracle Linux 7. Next step is to create and run a database in this environment.

Note that this is intended for study only and test the amazing new features of 18c, following this article can make you probably face very weird problems and don't open any SR in case you face those errors because the steps below are not supported by oracle.

The biggest problem of running the Exadata binaries on a non-exa env is that when you try to run a "startup nomount", you get a weird: ORA-12754: Feature 'startup' is disabled due to missing capability 'Runtime Environment'.

[oracle@ora18cserver ~]$ sqlplus / as sysdba

SQL*Plus: Release 18.0.0.0.0 Production on Mon Feb 26 12:02:07 2018
Version 18.1.0.0.0

Copyright (c) 1982, 2017, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup nomount;
ORA-12754: Feature 'startup' is disabled due to missing capability 'Runtime Environment'.
SQL> 

This error ends up preventing you from creating or stating any instance, even with dbca.

After investigating, I've found out that one library is causing it:

  • $ORACLE_HOME/lib/libserver18.a - Size: 442 MB

This is the main oracle database library and it is responsible for trowing the error above. Disassembling a library and modifying it contents to avoid the error above is not something people can easily do (and probably even not legal). So my advise is to replace it with a working one, after installing the binaries.

However, you are probably asking where can you find a working version of this library? My recommendation is to create an Oracle Cloud trial account and deploy a 18c DB in your own Oracle Cloud environment.

I've written another article showing step by step how to create a 18c in Oracle Cloud. Take a look.

UPDATE:

After publishing this article, I've received a few feedback of other methods people used to create the DB. Two of them brought my attention:

Continuing with the library method, let me do a demo in my environment running in a Virtualbox, after I got the libserver18.a from my OPC.

First, let's try to start the instance in nomount and check what happens:

[oracle@ora18cserver ~]$ export ORACLE_HOME=/u01/app/oracle/product/18.0.0/dbhome_1
[oracle@ora18cserver ~]$ export ORACLE_SID=orcl
[oracle@ora18cserver ~]$ export PATH=$PATH:$ORACLE_HOME/bin
[oracle@ora18cserver ~]$ sqlplus / as sysdba

SQL*Plus: Release 18.0.0.0.0 Production on Mon Feb 26 21:51:12 2018
Version 18.1.0.0.0

Copyright (c) 1982, 2017, Oracle.  All rights reserved.


Connected to:
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.1.0.0.0

SQL> startup nomount;
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/app/oracle/product/18.0.0/dbhome_1/dbs/initorcl.ora'
SQL> exit
Disconnected from Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.1.0.0.0
[oracle@ora18cserver ~]$

I forgot the pfile:

[oracle@ora18cserver ~]$ echo "db_name=orcl" > $ORACLE_HOME/dbs/initorcl.ora
[oracle@ora18cserver ~]$ sqlplus / as sysdba

SQL*Plus: Release 18.0.0.0.0 Production on Mon Feb 26 21:58:29 2018
Version 18.1.0.0.0

Copyright (c) 1982, 2017, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup nomount;
ORA-12754: Feature 'startup' is disabled due to missing capability 'Runtime Environment'.
SQL> exit
Disconnected
[oracle@ora18cserver ~]$

So here is the point we got the ORA-12754 error.

Now let me replace the lib for the one from my OPC environment and see what happens:

[oracle@ora18cserver ~]$ cd $ORACLE_HOME/lib
[oracle@ora18cserver lib]$ mv libserver18.a libserver18.a.orig
[oracle@ora18cserver lib]$ unzip ~/libserver18.a.zip -d ./
Archive:  /home/oracle/libserver18.a.zip
  inflating: ./libserver18.a         
[oracle@ora18cserver lib]$ cd
[oracle@ora18cserver ~]$ relink all
writing relink log to: /u01/app/oracle/product/18.0.0/dbhome_1/install/relink_2018-02-26_22-01-57PM.log
[oracle@ora18cserver ~]$ sqlplus / as sysdba

SQL*Plus: Release 18.0.0.0.0 Production on Mon Feb 26 22:02:54 2018
Version 18.1.0.0.0

Copyright (c) 1982, 2017, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup nomount;
ORACLE instance started.

Total System Global Area  243266936 bytes
Fixed Size		    8656248 bytes
Variable Size		  180355072 bytes
Database Buffers	   50331648 bytes
Redo Buffers		    3923968 bytes
SQL> exit
Disconnected from Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.1.0.0.0
[oracle@ora18cserver lib]$

Note that the file libserver18.a.zip in my home is the lib file from my OPC. Also, I had to run a relink all in the end. Otherwise the error would persist.

ORA-12754 error is not showing anymore, let's create an instance with dbca!

I won't cover here all the steps of dbca here because you are probably very used to it.

Wait until all the actions are performed:

And after some time it completed:

And lastly we can see we have our 18c database running in the Virtualbox:

 

Happy 18c playing.

 

Have you enjoyed? Please leave a comment or give a 👍!

Deixe um comentário

Seu e-mail não será publicado.