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:
- One Red Hat Enterprise Linux host for the Satellite Server
- One host containing your External Database. This database must adhere to the requirements outlined in Section 4.3.1, “External Database Requirements”.
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.