Skip to main content

Installation Oracle 21c on Centos 8

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;