Skip to main content

Installation Oracle 21c on Centos 8

ACHTUNG: PSS PRIVAT!!!!

nano /etc/hosts
## 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 postgres mysql mariadb mssql db
## ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 postgres mysql mariadb mssql db
## 14.3.83.240 db

nano /etc/hostname
## db

service NetworkManager restart

wget http://public-yum.oracle.com/public-yum-ol7.repo
mv public-yum-ol7.repo /etc/yum.repos.d/public-yum-ol7.repo
sed -i -e "s/enabled=1/enabled=0/g" /etc/yum.repos.d/public-yum-ol7.repo
rpm --import http://yum.oracle.com/RPM-GPG-KEY-oracle-ol7
yum --enablerepo=ol7_latest -y install oracle-database-preinstall-21c

rpm -Uvh /shared/data/oracle/rpm/oracle-database-ee-21c-1.0-1.ol8.x86_64.rpm

nano /etc/sysconfig/oracledb_PSS-21c.conf

#[INFO] Executing post installation scripts...
#[INFO] Oracle home installed successfully and ready to be configured.
# To configure a sample Oracle Database you can execute the following service configuration script as root: /etc/init.d/oracledb_ORCLCDB-21c configure

# ########################
# change default settings if you need
# listening port for Listener
LISTENER_PORT=1483

# data location
ORACLE_DATA_LOCATION=/srv/data/oracle
ORACLE_BASE=/srv/data/oracle
ORACLE_HOME=/opt/oracle/product/21c/dbhome_1
ORACLE_SID=PSS

# EM_EXPRESS_PORT: Oracle EM Express listener
# listening port for Enterprise Manager
EM_EXPRESS_PORT=5500


nano /etc/init.d/oracledb_ORCLCDB-21c

export ORACLE_HOME=/opt/oracle/product/21c/dbhome_1

export ORACLE_SID=PSS
export TEMPLATE_NAME=General_Purpose.dbc
export CHARSET=AL32UTF8
export PDB_NAME=PSSDB
export LISTENER_NAME=LISTENER
export NUMBER_OF_PDBS=1
export CREATE_AS_CDB=true

# General exports and vars
export PATH=$ORACLE_HOME/bin:$PATH
LSNR=$ORACLE_HOME/bin/lsnrctl
SQLPLUS=$ORACLE_HOME/bin/sqlplus
DBCA=$ORACLE_HOME/bin/dbca
NETCA=$ORACLE_HOME/bin/netca
ORACLE_OWNER=oracle
RETVAL=0
CONFIG_NAME="oracledb_$ORACLE_SID-21c.conf"
CONFIGURATION="/etc/sysconfig/$CONFIG_NAME"

mkdir -p /srv/app/
mkdir -p /srv/data/oracle
mkdir -p /opt/oracle/product/apex
mkdir -p /srv/data/oracle/PSS/

ln -s /opt/oracle/ /srv/app/oracle
ln -s /opt/oracle/product/apex /srv/app/apex
ln -s /opt/oracle/product/21c/dbhome_1 /srv/app/dbhome

chown oracle -R /srv/data/oracle
chown oracle -R /opt/oracle/product/apex
chown oracle /srv/app/apex/ -R


firewall-cmd --add-port=5500/tcp --permanent
firewall-cmd --add-port=1483/tcp --permanent
firewall-cmd --add-port=8070/tcp --permanent
firewall-cmd --add-port=8009/tcp --permanent
firewall-cmd --reload

## DELETE: /etc/init.d/oracledb_ORCLCDB-21c delete

/etc/init.d/oracledb_ORCLCDB-21c configure <<EOF
Fx#6593376
Fx#6593376
EOF

## ==> Bei "[ConfigureListener.isPortFree:1445] Returning is Port free: false" ---> Prüfen, ob die IP-Adresse aus /etv/hosts korrekt ist!
## ==> Bei "LISTENER:Für den Host db wurde keine gültige IP-Adresse zurückgegeben." ---> Es muss ein FQDM einghetragen werden z.B.: db.pss-app.de
## Wichtig: Beachte dabei die /etc/hosts und /etc/hostname Konfiguration, sowie dass in der Fritzbox eine Feste-Ip vergeben wurde, die derzeit auch in /etc/hosts eingetragen ist.


## Configuring Oracle Database PSS.
## DB-Vorgang vorbereiten
## 8% abgeschlossen
## Datenbankdateien werden kopiert
## 31% abgeschlossen
## Oracle-Instanz wird erstellt und gestartet
## 32% abgeschlossen
## 36% abgeschlossen
## 40% abgeschlossen
## 43% abgeschlossen
## 46% abgeschlossen
## Erstellen von Datenbank wird abgeschlossen
## 51% abgeschlossen
## 54% abgeschlossen
## Integrierbare Datenbanken werden erstellt
## 58% abgeschlossen
## 77% abgeschlossen
## Aktionen nach Abschluss der Konfiguration werden ausgeführt
## 100% abgeschlossen
## 
## Erstellen der Datenbank abgeschlossen. Einzelheiten finden Sie in den Logdateien in:
## /opt/oracle/cfgtoollogs/dbca/PSS.
## Datenbank-Information:
## Globaler Datenbankname:PSS
## System-ID (SID):PSS
## Weitere Einzelheiten finden Sie in der Logdatei "/opt/oracle/cfgtoollogs/dbca/PSS/PSS14.log".

nano ~/.bash_profile

umask 022
export ORACLE_SID=PSS
export ORACLE_BASE=/srv/data/oracle
export ORACLE_HOME=/opt/oracle/product/21c/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin

source ~/.bash_profile

su oracle

sqlplus / as sysdba

# ALTER USER SYS IDENTIFIED BY Fx#6593376;
# ALTER USER SYSTEM IDENTIFIED BY Fx#6593376;

exit;

nano /etc/oratab 

PSS:/opt/oracle/product/21c/dbhome_1:Y

nano /etc/sysconfig/PSS.oracledb

ORACLE_BASE=/srv/data/oracle
ORACLE_HOME=/opt/oracle/product/21c/dbhome_1
ORACLE_SID=PSS

nano /usr/lib/systemd/system/lsnrctl.service

[Unit]
Description=Oracle Net Listener
After=network.target

[Service]
Type=forking
EnvironmentFile=/etc/sysconfig/PSS.oracledb
ExecStart=/opt/oracle/product/21c/dbhome_1/bin/lsnrctl start
ExecStop=/opt/oracle/product/21c/dbhome_1/bin/lsnrctl stop
User=oracle

[Install]
WantedBy=multi-user.target

nano /usr/lib/systemd/system/oracle.service

[Unit]
Description=Oracle Database service
After=network.target lsnrctl.service

[Service]
Type=forking
EnvironmentFile=/etc/sysconfig/PSS.oracledb
ExecStart=/opt/oracle/product/21c/dbhome_1/bin/dbstart $ORACLE_HOME
ExecStop=/opt/oracle/product/21c/dbhome_1/bin/dbshut $ORACLE_HOME
User=oracle

[Install]
WantedBy=multi-user.target

chmod 6550 $ORACLE_HOME/bin/oradism

systemctl daemon-reload
## systemctl enable lsnrctl oracle 
## Nein, nicht "enablen"!!!

dnf -y install binutils compat-libcap1 gcc gcc-c++ glibc glibc.i686 glibc-devel glibc.i686 ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++l7.i686 libstdc++-devel libstdc++-devel.i686 compat-libstdc++-33 compat-libstdc++-33.i686 libXi libXi.i686 libXtst libXtst.i686 make sysstat

ln -s /opt/oracle/homes/OraDBHome21cEE/network/admin/listener.ora /listener.ora
ln -s /opt/oracle/homes/OraDBHome21cEE/network/admin/listener.ora /srv/app/oracle/listener.ora

cp /shared/archiv/ora_inst/restart_oracle.sh /
cp /shared/archiv/ora_inst/check_services.sh /

systemctl disable lsnrctl oracle
crontab -e
@reboot sleep 10 && sudo service oracle start # && sudo service lsnrctl start

## Decreasing Memory:
https://www.youtube.com/watch?v=giTNGSfNPJg
su oracle
sqlplus / as sysdba

## show parameter memory;
## Achtung: ORA-00838: Specified value of MEMORY_TARGET is too small, needs to be at least 2720M
## alter system set memory_target=2950M scope=spfile;
## alter system set memory_max_target=2950M scope=spfile;