Inhaltsverzeichnis
Installation und Konfiguration Oracle Enterprise Manager Cloud Control 12c Release 4 (12.1.0.4) - Enterprise Manager Base Plattform - OMS auf einen Linux 7 Server mit einer 12c Datenbank
Übersicht:
Übersicht über die Verzeichnisstruktur:
siehe hier ⇒ https://docs.oracle.com/cd/E24628_01/install.121/e24089/appdx_directory_structure.htm
Wird alles per Default installiert, ist die Installation im Prinzip sehr einfach.
Bereits aber der Versuch nur die Software zu installieren und dann die Konfiguration durch zuführen schlug fehlt, daher wurde im nächsten Versuch alles zusammen installiert und angelegt.
Ablauf:
- Software bereitstellen
- Vorbereitung Betriebssystem Oracle Linux 7.0
- Java Installation
- Bereitstellen einer Oracle Datenbank für das Repository
- OMS Software installieren
- OMS Nacharbeiten
Notwendige Software bereitstellen
Die notwendige Software kann zum Beispiel bei https://edelivery.oracle.com geladen werden:
- Oracle Enterprise Manager Cloud Control 12c Release 4 (12.1.0.4)
- Oracle Database 12c R1
- Oracle Linux Last Release
- V46135-01 - Oracle Linux 7 for x86 64 bit
- Oracle Linux jdk7 über http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
Sicherheitshalber für das Produkt „Enterprise Manager Base Platform - OMS“ im Support Portal die Zertifizierung für die Datenbank überprüfen:
- ⇒ Enterprise Manager Base Platform - OMS 12.1.0.4.0 is certified on Linux x86-64 Oracle Linux 6
- ⇒ Datenbank auch immer noch noch die 11g R2 ? 12c bereits aber schon in einer größeren Umgebung dazu im Einsatz
D.h. einen Support mit dieser Umgebung wird es wohl nicht geben.
Vorbereitung Betriebssystem für den OMS Server
Zum Einsatz kommt ein Oracle Linux 7.0 - normale Grundinstallation als DB Server, allerdings manuell die Platte konfiguriert, das Default Layout verwendet viel Platz für den User Home Pfad.
Weitere Schritte:
- Yum Repository prüfen, Konfiguration bei Bedarf anlegen
# cd /etc/yum.repos.d # wget http://public-yum.oracle.com/public-yum-ol6.repo
- Update mit „yum update“
- Firewalld unter linux7 deaktivieren :
systemctl disable firewalld systemctl stop firewalld
- SELinux deaktiviert :
[root@nosqldb01 ~]# vi /etc/selinux/config .. SELINUX=disabled .. [root@nosqldb01 ~]# reboot [root@nosqldb01 ~]# getenforce
- Netzwerk einrichten und darauf achten das in etc/hosts der Server in der Form „10.10.10.225 oraoms12c01.pipperr.local oraoms12c01“ hinterlegt ist
- Firewall deaktivieren
- Zeitdienst einrichten
- * IP V6 ausschalten
vi /etc/sysctl.conf # disable ipv6 net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1 #Testen mit: cat /proc/sys/net/ipv6/conf/all/disable_ipv6 1 # 1=Ausgeschaltet!
- Interface Name wieder auf eth0 konfiguriert siehe Unter Linux 7 den Netwerk Interface Namen wieder auf Standard Verhalten umstellen
- Falls das Tmp Verzeichnis als eigene Disk gemountet ist, darauf achten das „Execute“ gesetzt ist und nicht mit „noexec“ gemounted wurde
Zusätzliche Pakete installieren:
- kernel-headers
- sysstat
- make
- binutils
- libaio
- glibc-common
- libstdc++
- glibc-devel.i686
- glibc-devel
- glibc
- glibc-devel.i686
- compat-libcap1-1.10
Noch nicht verfügbar für Linux 7:
- oracle-rdbms-server-11gR2-preinstall.x86_64
yum install kernel-headers sysstat setarch glibc-devel.i686 make binutils libaio glibc-common libstdc++ glibc-devel.i686 glibc-devel glibc compat-libcap1-1.10
Leider findet yum das „oracle-rdbms-server-12cR1-preinstall.x86_64“ für Linux 7 noch nicht, evtl. gibt es das aber auch für Linux 7 noch nicht.
Daher alle weiteren Defaults manuell installiert:
yum install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make numactl-devel sysstat unixODBC unixODBC-devel nscd ksh compat-libcap1-1.10
Oracle User anlegen
groupadd -g 1000 oinstall groupadd -g 1001 dba useradd -u 1100 -g oinstall -G dba oracle passwd oracle
Software Verzeichnis anlegen
mkdir -p /opt/oracle chown -R oracle:oinstall /opt/oracle chmod -R 775 /opt/oracle mkdir opt/oraInventory chown oracle:oinstall opt/oraInventory
Java Version prüfen - JDK nach Bedarf installieren
Als User root!
Kopieren von jdk-7u67-linux-x64.rpm auf dem Server und installieren/aktivieren.
# Java installieren yum install --nogpgcheck jdk-7u67-linux-x64.rpm # Java aktivieren # Neue Java Version dem OS bekannt geben /usr/sbin/alternatives --install /usr/bin/java java /usr/java/jdk1.7.0_67/bin/java 17067 # Versionen anzeigen /usr/sbin/alternatives --display java # Version einstellen /usr/sbin/alternatives --config java # testen java -version
Alternativ kann auch Oracle JRockit eingesetzt werden, siehe hier als Anleitung jrockit Installation Oracle-Base.com.
Für das Oracle Sun JDK ist hier ein hilfreicher Link How to Install/Update Java (JDK) on Oracle Linux
Oracle Datenbank Umgebungseinstellung anpassen und 12c Datenbank installieren
Siehe hier für die weiteren Einstellungen eines Linux für eine Basis Oracle Datenbank Installation ⇒ Eine Oracle Linux 6 Umgebung für eine Oracle Installation vorbereiten.
Nach dem alle Vorbereitung getroffen sind, kann die Datenbank Software auf die Maschine kopiert werden (als User oracle, zum Beispiel nach /home/oracle/install ), dort als User oracle auspacken und den Installer starten.
cd /home/oracle/install #md5sum prüfen md5sum *.zip 080435a40bd4c8dff6399b231a808e9a V46095-01_1of2.zip 30f20ef9437442b8282ce3984546c982 V46095-01_2of2.zip #auspacken unzip V46095-01_1of2.zip unzip V46095-01_2of2.zip #archive löschen rm *.zip #installer starten # X zuvor konfigurieren falls remote installiert wird # wie zum Beispiel: export DISPLAY=192.168.178.57:0.0 cd database ./runInstaller
Erster Fehler:
Exception in thread "main" java.lang.UnsatisfiedLinkError: /tmp/OraInstall2014-09-06_06-16-15PM/jdk/jre/lib/amd64/xawt/libmawt.so: libXext.so.6: cannot open shared object file: No such file or directory
Lösung: Fehlende 32 Bit Libraries nachinstallieren
yum install /lib/ld-linux.so.2 libXt.{i686,x86_64} libXext.{i686,x86_64} libXtst.{i686,x86_64}
Das werden die nie lernen … siehe auch Fehler bei Installationen von Oracle Produkten auf zu neuen/zu alten / nicht freigegebenen Installationen
Nach der Installation der fehlenden 32 Bit Libs eine Default Single Instance Installation durchführen, Software ohne Datenbank, EE Edition ohne weitere Optionen. Darauf achten das die Software nach „/opt/oracle“ als Oracle Base installiert wird„
Nach der Installation netca starten und einen Listener einrichten
export ORACLE_HOME=/opt/oracle/product/12.1.0.2/dbhome_1/ $ORACLE_HOME/bin/netca #Listener hinzufügen und dann beenden
Bereitstellung und Konfiguration der Datenbank 12c R1
Für das Repostitory muss eine Datenbank zur Verfügung gestellt werden, am besten bereits eine 12c R1 (12.1.0.2.0) mit letzten Patch Set.
Da die Tablespaces dann später mit dem Konfigurations Wizard angelegt werden, ist eine normale Standard EE Edtion ohne Default User und Beispiel Schema ausreichend.
„dbca“ starten um eine Datenbank anzulegen, nur Basis, alles Default, ohne Examples, Zeichensatz AL32UTF8
export ORACLE_HOME=/opt/oracle/product/12.1.0.2/dbhome_1/ export ORACLE_BASE=/opt/oracle $ORACLE_HOME/bin/dbca
Auch darf die Datenbank keine weiteren Repositorien der Oracle Fusion Produktpalette enthalten, wie zum Beispiel das Meta-Direktory für den Oracle BiPublisher.
Zu prüfende Punkte:
- Ungültige Objekte prüfen/beheben (@?/rdbms/admin/utlrp)
- Parameter „session_cached_cursors“ auf min 200 bis 500 einstellen ( alter system set session_cached_cursors=250 scope=spfile;)
Je nach Gewohnheit die Oracle User Umgebung einrichten.
z.B. mit ⇒ DBA Arbeitsumgebung setzen und Einrichten unter Linux
Datenbank prüfen und je nach Bedarf optimieren (zum Beispiel etwas größere RedoLog Gruppen anlegen). Sonst beschwert sich später der Installer vom OMS!
ALTER system SET db_securefile='PERMITTED' scope=BOTH sid='*'; ALTER system SET pga_aggregate_target=1G scope=BOTH sid='*'; ALTER system SET session_cached_cursors=250 scope=spfile sid='*'; #Online Logs anpassen !mkdir /opt/oracle/oradata/EMREP/onlinelogA !mkdir /opt/oracle/oradata/EMREP/onlinelogB ALTER DATABASE ADD LOGFILE GROUP 4 ('/opt/oracle/oradata/EMREP/onlinelogA/REDO04_A.LOG', '/opt/oracle/oradata/EMREP/onlinelogB/REDO04_B.LOG') SIZE 350M; ALTER DATABASE ADD LOGFILE GROUP 5 ('/opt/oracle/oradata/EMREP/onlinelogA/REDO05_A.LOG', '/opt/oracle/oradata/EMREP/onlinelogB/REDO05_B.LOG') SIZE 350M; ALTER DATABASE ADD LOGFILE GROUP 6 ('/opt/oracle/oradata/EMREP/onlinelogA/REDO06_A.LOG', '/opt/oracle/oradata/EMREP/onlinelogB/REDO06_B.LOG') SIZE 350M; ALTER DATABASE ADD LOGFILE GROUP 7 ('/opt/oracle/oradata/EMREP/onlinelogA/REDO07_A.LOG', '/opt/oracle/oradata/EMREP/onlinelogB/REDO07_B.LOG') SIZE 350M; ALTER DATABASE ADD LOGFILE GROUP 8 ('/opt/oracle/oradata/EMREP/onlinelogA/REDO08_A.LOG', '/opt/oracle/oradata/EMREP/onlinelogB/REDO08_B.LOG') SIZE 350M; ALTER system checkpoint; ALTER system switch logfile; ALTER DATABASE DROP LOGFILE GROUP 1; ALTER system checkpoint; ALTER system switch logfile; ALTER DATABASE DROP LOGFILE GROUP 2; ALTER system checkpoint; ALTER system switch logfile; ALTER DATABASE DROP LOGFILE GROUP 3 ;
Autostart einrichten ⇒ Datenbank unter Linux automatisch starten
Das wäre auch ein guter Zeitpunkt um in einer VM Umgebung einen Snapshot zu ziehen!
OMS installieren
Software auf den Server kopieren und entpacken/installieren
User Oracle!
Download der Software Archive für Oracle Enterprise Manager Cloud Control 12c Release 4 (12.1.0.4) for Linux x86-64 von Oracle Enterprise Manager Downloads for Linux x86-64 :
- em12104_linux64_disk1.zip (2,195,693,096 bytes) (cksum - 4176170445)
- em12104_linux64_disk2.zip (1,877,449,643 bytes) (cksum - 3219437597)
- em12104_linux64_disk3.zip (2,727,123,784 bytes) (cksum - 2554054536)
Die drei Packte auf den Server kopieren, MD5 Hash überprüfen und in ein Verzeichnis entpacken.
mkdir ~/install/ #copy software archives to this directory #check checksum chksum em12104_linux64_disk1.zip 4176170445 2195693096 em12104_linux64_disk1.zip chksum em12104_linux64_disk2.zip 3219437597 1877449643 em12104_linux64_disk2.zip chksum em12104_linux64_disk3.zip 2554054536 2727123784 em12104_linux64_disk3.zip mkdir oem unzip em12cr2p1_linux64_disk1.zip -d ./oem unzip em12cr2p1_linux64_disk2.zip -d ./oem unzip em12cr2p1_linux64_disk3.zip -d ./oem
Installation der Software mit „runInstaller“ starten
Der Versuch im ersten Schritt nur die Software zu installieren schlug fehl, daher der normale Ablauf mit der Default Installation.
# #bei Bedarf Display Variabe setzen (xhost+ nicht vergessen, falls nötig!) # IP Adressse ermitteln, von wo her ich mich gerade angemeldet habe who am i oracle pts/0 2014-10-25 16:24 (10.10.10.1) #alternativ pinky oracle pts/0 2014-10-25 16:24 10.10.10.1 # Display setzen export DISPLAY=10.10.10.1:0.0 # # Installer starten # ./runInstaller
Die Dialoge ausfüllen.
Die Software wird nach /opt/oracle/oms12c (Middleware Home Location) und /opt/oracle/agent (Agent Base) installiert.
Es werden 14GB Plattenplatz für die Installation zu Beginn als Voraussetzung benötigt.
Fehler beim linken:
#Unter /opt/oraInventory/logs letzte Logfile analysieren ... INFO: 10/25/14 5:55:23 PM CEST: - Linking Webcache rm -f webcached gcc -o webcached -L/opt/oracle/oms12c/Oracle_WT/webcache/lib/ -L/opt/oracle/oms12c/Oracle_WT/lib/ -L/opt/oracle/oms12c/Oracle_WT/lib/stubs/ main.o libwebcache.a -Wl,-rpath,/opt/oracle/oms12c/Oracle_WT/lib -liau -lnnz11 -lxml11 -lclntsh -lcore11 -lunls11 -lnls11 /opt/oracle/oms12c/Oracle_WT/lib/liboraz.a -ldmsapp -lons `cat /opt/oracle/oms12c/Oracle_WT/lib/sysliblist` -lrt -Wl,-rpath,/opt/oracle/oms12c/Oracle_WT/lib -lm `cat /opt/oracle/oms12c/Oracle_WT/lib/sysli INFO: 10/25/14 5:55:23 PM CEST: blist` -lrt -ldl -lm -L/opt/oracle/oms12c/Oracle_WT/lib INFO: 10/25/14 5:55:23 PM CEST: /usr/bin/ld: libwebcache.a(wxsmdms.o): undefined reference to symbol 'yodSensorInvalidate' /usr/bin/ld: note: 'yodSensorInvalidate' is defined in DSO /opt/oracle/oms12c/Oracle_WT/lib/libdms2.so so try adding it to the linker command line /opt/oracle/oms12c/Oracle_WT/lib/libdms2.so: could not read symbols: Invalid operation collect2: error: ld returned 1 exit status INFO: 10/25/14 5:55:23 PM CEST: make: *** [webcached] Error 1
Lösung: Library libdms2.so mit angeben:
cd /opt/oracle/oms12c/Oracle_WT/lib # # Am Ende der Zeile " -ldms2" hinzufügen: vi sysliblist -ldl -lm -lpthread -lnsl -lirc -lipgo -ldms2 # # Mit retry im Installer erneut aufrufen #
(siehe auch https://community.oracle.com/thread/2301201?tstart=0 )
Screenshots:
Port und Urls können später auch unter “/opt/oracle/oms12c/oms/install/portlist.ini„ und “/opt/oracle/oms12c/oms/install/setupinfo.txt„ nachgelesen werden.
Nun kann der OEM aufgerufen werden:
- Enterprise Manager Cloud Control URL: https://oraoms12c01.pipperr.local:7803/em
- Admin Server URL: https://oraoms12c01.pipperr.local:7102/console
Aktuellen Patch Set eintragen
Nacharbeiten
Start / Stop der Umgebung
siehe auch http://docs.oracle.com/cd/E24628_01/doc.121/e24473/emctl.htm#EMADM0201
Stop:
#Configuration anzeigen lassen (login notwendig!) emctl status oms -details #stoppen emctl stop oms
Start:
emctl start oms emctl status oms
Was passiert beim Starten:
- 12c Cloud Control: Understanding OMS Process Control (Start / Stop / Status) (Doc ID 1432335.1)
Falls der OMS nicht sauber startet ist dieses Dokument ein guter Einstieg in die Fehlersuche:
- OMS Start Failure Known Issues And Troubleshooting Guide (Doc ID 1448042.1)
Autostart
Bei der Installation wird das Script /etc/init.d/gcstartup eingerichtet und in die RunLevel bereits automatisch verlinkt als /etc/rc.d/rc3.d/S98gcstartup.
Damit beim Start der Maschine die Datenbank früher starten muss diese mit einer niedrigeren „Startnummer“ konfiguriert werden, d.h. in der chkconfig Section des init.d/oracle Startscripts für die Datenbank eine entsprechend niedrigere Start Nummer hinterlegen:
# Run-level Startup script Oracle Instance und Listener # # ### BEGIN INIT INFO # Provides: Oracle DB Start # Required-Start: 50 # Required-Stop: 35 # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: start and stop Oracle DB # Description: Start, stop and save Oracle DB ### END INIT INFO
Emcli Login testen/einrichten
Um den Oracle Enterprise Manger über die Komando Zeile verwalten zu können, ist das Werkzeug „emcli“ unerlässlich.
Problem: Error: Session expired. Run emcli login to establish a session.
Bei der ersten Verwendung von emcli kann sich der SYSMAN User im meine Fall nicht anmelden:
emcli login -username=sysman Enter password Error: Session expired. Run emcli login to establish a session.
Lösung:
Wird bei der Installation der Name dem OMS OHNE Domain angegeben, muss später auch im Setup für den emcli die URL OHNE Domain angeben werden (bzw. genau andersherum!)
Setup anpassen:
emcli setup emcli setup Oracle Enterprise Manager 12c Release 4. Copyright (c) 1996, 2014 Oracle Corporation and/or its affiliates. All rights reserved. Instance Home : /opt/oracle/gc_inst/em/EMGC_OMS1/sysman/emcli/setup/.emcli Verb Jars Home : null EM URL : https://oraoms12c01.pipperr.local:7803/em EM user : SYSMAN Trust all certificates : true Auto login : false # die EM URL ist falsch und funktioniert so dann nicht!!! emcli setup -url="https://oraoms12c01:7803/em" -username=sysman -trustall emcli setup Oct 25, 2014 11:49:01 PM oracle.sysman.emCLI.EMCLIStateManager init INFO: EM CLI Type : Advanced Oracle Enterprise Manager 12c Release 4. Copyright (c) 1996, 2014 Oracle Corporation and/or its affiliates. All rights reserved. Instance Home : /home/oracle/.emcli Verb Jars Home : /opt/oracle/oms12c/oms/bin/bindings/12.1.0.4.0/.emcli EM URL : https://oraoms12c01:7803/em EM user : sysman Trust all certificates : true Auto login : false emcli logout emcli login -username=sysman Oct 25, 2014 11:38:56 PM oracle.sysman.emCLI.EMCLIStateManager init INFO: EM CLI Type : Advanced Enter password : Login successful #Sync nicht vergessen! emcli sync
Siehe auch : EM 12c: EMCLI Setup Fails with Message: Error: Session expired. Run emcli login to establish a session If Fully Qualified Hostname contains „local“ in it. (Doc ID 1908644.1)
Timeout für das automatische Logout einstellen
Probleme mit dem Browser Zertifikat lösen
siehe:
Aufbewahrungszeit für die ermittelten Metrik-werte konfigurieren
Überprüfen als SYSMAN mit:
SELECT TABLE_NAME, partitions_retained FROM em_int_partitioned_tables WHERE TABLE_NAME IN ('EM_METRIC_VALUES','EM_METRIC_VALUES_HOURLY','EM_METRIC_VALUES_DAILY'); TABLE_NAME PARTITIONS_RETAINED ------------------------------ ------------------- EM_METRIC_VALUES 7 EM_METRIC_VALUES_HOURLY 32 EM_METRIC_VALUES_DAILY 24
Aus der Anzahl der Partition folgt:
- EM_METRIC_VALUES 7 Tage aufbewahren
- EM_METRIC_VALUES_HOURLY 32 Tage aufbewahren
- EM_METRIC_VALUES_DAILY 24 Monate aufbewahren
Einstellen zum Beispiel EM_METRIC_VALUES_DAILY auf 12 Monate mit:
EXEC gc_interval_partition_mgr.set_retention('SYSMAN', 'EM_METRIC_VALUES_DAILY', 12);
Siehe folgende Dokumentation:
- 12c Cloud Control Repository: How to Modify the Default Retention and Purging Policies for Metric Data? (Doc ID 1405036.1)
Sicherheitsüberlegungen
Enterprise Manager Cloud Control 12c Infrastructure and Operational Security Best Practices siehe:
Backup der OMS Umgebung
OMS Konfiguration exportieren mit emctl exportconfig oms:
# OMS Umgebung setzen mkdir backup_oms cd backup_oms emctl exportconfig oms -dir $PWD
Eine Datei opf*.bka wrid erzeugt, es handlet sich dabei um ein Zip Archive, das auch einfach als zip ausgepackt werden kann um einzelne Dateien wiederherzustellen. Alle Konfigurationsdateien,logs und BI Publisher Reports sind in dem Archive enthalten (ca ~50MB gross).
Siehe auch ⇒ https://docs.oracle.com/cd/E24628_01/install.121/e24089/ha_backup_recover.htm
Daten mit anderen Monitoring Systemem austauschen
JMS Connector:
OMS deinstallieren
- OMS stoppen
- Repository DB „Aufräumen“
- OMS entfernen
Repository DB "Aufräumen"
-- Drop all Management User DROP USER MGMT_VIEW cascade; DROP USER SYSMAN cascade; DROP USER SYSMAN_APM cascade ; DROP USER SYSMAN_MDS cascade; DROP USER SYSMAN_OPSS cascade; DROP USER SYSMAN_RO cascade; DROP synonym DBSNMP.MGMT_EMREP_OOB_MONITORING; -- drop all related tablespaces DROP tablespace mgmt_ecm_depot_ts including contents AND datafiles cascade constraints; DROP tablespace mgmt_tablespace including contents AND datafiles cascade constraints; DROP tablespace mgmt_ad4j_ts including contents AND datafiles cascade constraints; --delete Script for invalid synonym - synonym points on an not existing object SET linesize 120 COLUMN DELETE_ME format a120 SET head off spool /tmp/drop_synonyms.sql SELECT 'drop ' || decode(s.owner, 'PUBLIC', 'PUBLIC SYNONYM ', 'SYNONYM ' || s.owner || '.') || s.synonym_name || ';' AS DELETE_ME FROM dba_synonyms s WHERE table_owner NOT IN ('SYSTEM', 'SYS') AND (db_link IS NULL OR db_link = 'PUBLIC') AND NOT EXISTS (SELECT 1 FROM dba_objects o WHERE decode(s.table_owner, 'PUBLIC', o.owner, s.table_owner) = o.owner AND s.table_name = o.object_name ) / spool off SET head ON @/tmp/drop_synonyms.sql DELETE FROM SCHEMA_VERSION_REGISTRY WHERE COMP_NAME='Metadata Services'; DELETE FROM SCHEMA_VERSION_REGISTRY WHERE COMP_NAME='Authorization Policy Manager'; DELETE FROM SCHEMA_VERSION_REGISTRY WHERE COMP_NAME='Oracle Platform Security Services'; commit;
OMS entfernen
Oracle Home Eintrag im Inventory und Software löschen
rm -rf <OMS_INSTALLATION>
Quellen
Oracle:
Ähnliches im Netz:
OEM 12c Erfahrungsberichte: