Linux OSBN/Ubuntuusers Planet XING / LinkedIn / Amazon

Oracle Linux Manager 2.10: First impressions

Nach der Einstellung des Spacewalk-Projekts durch Red Hat im Mai 2020 entschied sich neben SUSE auch Oracle für einen Fork der quelloffenen System Management-Software.

Overview

Oracle currently offers two tools for managing Oracle Linux:

  • Oracle Linux Management for Oracle Enterprise Manager
  • Oracle Linux Manager

Oracle Enterprise Manager is mainly a tool for managing Oracle databases and components relevant to it. For some time this tool also support managing Oracle Linux installations.

Oracle Linux Manager is the manufacturer’s own fork of the orphaned Spacewalk fork. Previously the tool was also known as “Spacewalk for Oracle Linux” or “Oracle Spacewalk“.

Requirements

In order to run Oracle Linux Manager the following requirements need to be met:

  • Oracle Linux 7 with Minimal oder Basic Server profile
  • Installed Oracle Database 12c or 19c
    • The Express Edition (XE) is not supported
  • You must not register the system via ULN werden
  • At least 10 GB memory
    • 8 GB for the application
    • 2 GB for the database
  • 60 GB storage for every Oracle Linux release
    • +20 GB for kSplice updates (optional)
    • +40 GB for source code packages (optional)

In accordance with the documentation, using PostgreSQL should be possible as well even though it is not supported. Anyhow, I was not able to get it running in my installation.

Preparation

After installing Oracle Linux 7 it is basically a good idea to install all available updates and remove a problematic dependency:

# yum update
# yum remove jta

It is also important that both the system hostname and FQDN can be resolved – e.g. using DNS or managing the /etc/hosts file:

127.0.0.1   oracle7.shittyrobots.loc oracle7
This step is important because the database can’t be initialized otherwise!

Database installation

Oracle Database can be downloaded from the manufacturer website. Keep in mind that you will need to check license agreements and ensure correct licensing. But that’s a different topic that would go way beyond the focus of this article..

In my case it was sufficient to install the downloaded RPM file with some dependencies:

# yum install oracle-database-preinstall-19c
# yum localinstall oracle-database-ee-19c-1.0-1.x86_64.rpm

The pre-install package prepares the system for running the database – e.g. it creates users and groups and sets kernel parameters.

Afterwards the database is initialized as following:

# /etc/init.d/oracledb_ORCLCDB-19c configure

After a couple of minutes the database should be ready. You should be able to see an instance with the SID (System ID) ORCLPDB1 in the file /etc/oratab:

...
ORCLCDB:/opt/oracle/product/19c/dbhome_1:N

Also the TNS listener (Transparent Network Substrate) should listen on TCP port 1521:

# ss -tulpen|grep 1521
tcp LISTEN 0 128 0.0.0.0:1521 0.0.0.0:* users:(("tnslsnr",pid=9028,fd=8)) uid:54321 ino:61311 sk:c <->

The Oracle Linux Manager database user is created using the following commands:

# su - oracle
$ export ORACLE_SID=ORCLCDB
$ export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
$ cd $ORACLE_HOME
$ $ORACLE_HOME/bin/sqlplus / as SYSDBA

SQL*Plus: Release 19.0.0.0.0 - Production on Thu Apr 29 09:25:40 2021
Version 19.3.0.0.0

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

Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

SQL> create user c##olm_user identified by olm_passwd;
SQL> grant connect,resource to c##olm_user;
SQL> grant alter session, create synonym, create table, create trigger, create view to c##olm_user;
SQL> grant unlimited tablespace to c##olm_user;
SQL> quit
olm_passwd needs to be replaced with a more secure password

Manager installation

If the database is running on a dedicated system, make sure to install Oracle Instant Client for connecting to the database. This package can also be downloaded from the manufacturer website. Ensure to install the correct database version (19.x in this example). The clients also installs some libraries that need to be added to the cache:

# yum localinstall oracle-instantclient18.5-basic-18.5.0.0.0-3.x86_64.rpm
# echo "/usr/lib/oracle/19.11/client64/lib" | sudo tee /etc/ld.so.conf.d/oracle-instantclient18.5.conf 
# ldconfig

Initalizing Oracle Linux Manager afterwards is done by starting the installation with the –external-oracle parameter – even though the database is running on the same host:

# spacewalk-setup --external-oracle
* Setting up SELinux..
* Setting up Oracle environment.
* Setting up database.
** Database: Setting up database connection for Oracle backend.
Global Database Name or SID (requires tnsnames.ora)? ORCLCDB
Username? olm_user
Password? 
** Database: Testing database connection.
** Database: Populating database.
*** Progress: #############################################
* Configuring tomcat.
* Setting up users and groups.
** GPG: Initializing GPG and importing key.
** GPG: Creating /root/.gnupg directory
You must enter an email address.
Admin Email Address? root@localhost
* Performing initial configuration.
** Package installation: Locking required rpm versions.
* Configuring apache SSL virtual host.
Should setup configure apache's default ssl server for you (saves original ssl.conf) [Y]?  
** /etc/httpd/conf.d/ssl.conf has been backed up to ssl.conf-swsave
* Configuring jabberd.
* Creating SSL certificates.
CA certificate password? 
Re-enter CA certificate password? 
Cname alias of the machine (comma seperated)? oracle7.shittyrobots.loc,oracle7
Organization? Homelab
Organization Unit [oracle7.shittyrobots.loc]? 
Email Address [root@localhost]? 
City? Berlin
State? Berlin
Country code (Examples: "US", "JP", "IN", or type "?" to see a list)? DE
** SSL: Generating CA certificate.
** SSL: Deploying CA certificate.
** SSL: Generating server certificate.
** SSL: Storing SSL certificates.
* Deploying configuration files.
* Update configuration in database.
* Setting up Cobbler..
Cobbler requires tftp and xinetd services be turned on for PXE provisioning functionality. Enable these services [Y]? 
* Restarting services.
Installation complete.
Visit https://oracle7.shittyroboty.loc to create the Spacewalk administrator account.

Afterwards the web interface can be accessed using https – the first step is to create the first organization including an administrator account:

Creating the first organization

First impressions

Currently, the product looks exactly like the Spacewalk in the last version 2.10 as you can see from the product name. Earlier versions were named “Spacewalk for Oracle Linux” and supported PostgreSQL and Oracle Database XE.

By forking Spacewalk, development is completely driven by Oracle – there is no exchange with SUSE’s Spacewalk fork Uyuni.

Some screenshots of the tool:

Managing Oracle packages

Basically there are two options to obtain Oracle updates:

  • ULN (Unbreakable Linux Network) – Oracle customer area, requires a valid CSI (Customer Support Identifier, requires a maintenance agreement)
  • Oracle Yum – public Update servers for Oracle Linux

For ULN you will need to create or adjust the file /etc/rhn/spacewalk-repo-sync/uln.conf:

# cat /etc/rhn/spacewalk-repo-sync/uln.conf
[main]
username=sso_username
password=sso_password

# chmod 400 /etc/rhn/spacewalk-repo-sync/uln.conf

Afterwards, the particular repositories can be selected using the web interface, spacecmd or spacewalk-common-channels.

Public repositories can be cloned using spacewalk-common-channels:

# spacewalk-common-channels -u admin 'oraclelinux7' -a x86_64
# spacewalk-common-channels -u admin 'oraclelinux7-oraclelinuxmanager210-client' -a x86_64

Finally you can synchronize the packages using the spacewalk-repo-sync command:

# spacewalk-repo-sync -c oraclelinux7-x86_64
# spacewalk-repo-sync -c oraclelinux7-x86_64-oraclelinuxmanager210-client
The particular repository names can be retrieved by running spacewalk-repo-sync -l

Conclusion

Currently, Oracle Linux Manager is just the latest Spacewalk version with added AppStream support and replaced logo. There is no visible innovation or modernization like for Uyuni. Especially a missing modern Configuration Management makes the tool look outdated – competitors (Uyuni, Foreman) are performing way better here.

I’m curious how the product will transform in the future. The appropriate GitHub repository does not show much activity right know – also, Oracle is not very famous for investing heavily in open-source..

Sharing is caring

2 Comments Add New Comment

  1. Angel Eduardo Porras says:

    Hi
    There are a mistake on the configuration, on the Manager Installation section the version to install is oracle-instantclient18.5-basic-18.5.0.0.0-3.x86_64.rpm not oracle-instantclient19.11

    # yum localinstall oracle-instantclient19.11-basic-19.11.0.0.0-1.x86_64.rpm
    # echo “/usr/lib/oracle/19.11/client64/lib” | sudo tee /etc/ld.so.conf.d/oracle-instantclient18.5.conf
    # ldconfig

Leave a Reply

Your email address will not be published. Required fields are marked *