Red Hat Training

A Red Hat training course is available for Red Hat Satellite

4.3. Scenario 3: Installing Satellite with External Database

This scenario details the steps for an External Database Installation. You would use an External Database Installation to use Red Hat Satellite with existing database infrastructure and to keep the database separate from the Satellite server.
This scenario requires two hosts:

4.3.1. External Database Requirements

The External Database version of Red Hat Satellite requires additional hardware considerations. This section specifies these requirements when installing the Red Hat Satellite server and connecting to an external database.
Red Hat supports Red Hat Satellite installations on a External Database using one of the following:
  • PostgreSQL 9.2
  • Oracle Database 11g Standard and Enterprise Edition
  • Oracle Database 10g Release 2 Standard and Enterprise Edition
Ensure the External Database runs on a different server to the Red Hat Satellite.

Note

Red Hat Satellite 5.7 supports various database migrations specified in Section 13.8, “Migrating the Database”.

Important

Red Hat does not provide support or tools for External Database maintenance. This includes backups, upgrades, and database tuning. Customers using an External Database require their own database administrator to support and maintain the database.

4.3.1.1. PostgreSQL Database Requirements

Red Hat Satellite requires the following packages installed on the Red Hat Enterprise Linux system chosen to host the PostgreSQL External Database:
  • postgresql92
  • postgresql92-postgresql
  • postgresql92-postgresql-contrib
  • postgresql92-postgresql-libs
  • postgresql92-postgresql-server
  • postgresql92-postgresql-pltcl

Note

These packages may include dependencies that also need to be installed.
To install these packages on Red Hat Enterpise Linux, log in to your External Database host and run the following command:
# subscription-manager repo --enable=rhel-server-rhscl-6-rpms
# yum install postgresql92 postgresql92-postgresql postgresql92-postgresql-contrib postgresql92-postgresql-libs postgresql92-postgresql-server postgresql92-postgresql-pltcl
This adds the Red Hat Software Collections repository to your system. This repository contains the necessary PostgreSQL packages.
Initialize and start the database:
# service postgresql92-postgresql initdb
# service postgresql92-postgresql start
# chkconfig postgresql92-postgresql on
Switch to the postgres user and run PostgreSQL through the Software Collections tool:
# su postgres
bash-4.1$ scl enable postgresql92 'psql'
Create the Satellite database and Satellite database user:
postgres=# CREATE USER mydbuser WITH PASSWORD 'mydbpassword';
postgres=# ALTER USER mydbuser WITH SUPERUSER;
postgres=# CREATE DATABASE mydb OWNER mydbuser;
postgres=# \q

Important

The mydb, mydbuser, and mydbpassword values are used for example purposes. Substitute these values for your own to secure the database.
Switch back to the root user and edit the /opt/rh/postgresql92/root/var/lib/pgsql/data/pg_hba.conf file:
bash-4.1$ exit
# vi /opt/rh/postgresql92/root/var/lib/pgsql/data/pg_hba.conf
Add a line to allow access to the database from your Satellite server. For example:
host mydb mydbuser 192.168.1.0/24 md5
This example allows remote access to the mydb database using the mydbuser from any system on the 192.168.1.0/24 network. The accepted authentication must also use an MD5-encrypted password.
Add or edit the following parameters in the /opt/rh/postgresql92/root/var/lib/pgsql/data/postgresql.conf.
listen_addresses = '*'
bytea_output = 'escape'
The listen_addresses parameter opens communication to the database from other systems. The bytea_output parameter sets the correct encoding for bytea datatypes. Without this parameter, Satellite's Taskomatic service fails.
Restart the PostgreSQL server for these changes to take effect:
# service postgresql92-postgresql restart

4.3.1.2. Oracle Database Requirements

The Oracle database should have a user assigned to Red Hat Satellite with full DDL and DML access to that user's default tablespace. The user needs standard connection information for the database at the time of installation.
The explicit access levels required by the Oracle database user are as follows:
  • ALTER SESSION
  • CREATE SEQUENCE
  • CREATE SYNONYM
  • CREATE TABLE
  • CREATE VIEW
  • CREATE PROCEDURE
  • CREATE TRIGGER
  • CREATE TYPE
  • CREATE SESSION
  • SELECT ON V_$PARAMETER

Warning

Database administrators must grant these privileges explicitly to the Satellite database user and not through a role.
Additional database requirements include:
  • Security Identifier (SID)
  • Listener Port
  • Username
  • UTF-8 character set

Important

Ensure that the NLS_CHARACTERSET setting is set to "UTF8" when using an external database, not 'AL32UTF8' or other charsets. Using other charsets may lead to problems later.
Red Hat Satellite does not use the NLS_NCHAR_CHARACTERSET setting. Leave this setting as the default 'AL16UTF16'.
Two additional suggested recommendation for user's default tablespace include:
  • Uniform Extent Size
  • Auto Segment Space Management
The disk layout on the database machine is independent of Red Hat Satellite and entirely up to the customer.

Important

Red Hat supports Red Hat Satellite's interactions with an external, third-party (such as Oracle) database as long as the external, third-party database is configured per Red Hat's documentation. Red Hat supports any Red Hat Satellite version-specific schema, package, tool or instruction set provided by Red Hat and designed to be used with a third-party database.
Customized database configuration can cause installation to fail. For example, the application of a strict tablespace quota on the Satellite database user can cause installation problems. As a result, Red Hat does not support general setup, maintenance, or troubleshooting of a third-party database outside of express interaction with Red Hat Satellite.