Schlagwort-Archive: RPM

Wiederherstellen der RPM-Datenbank

Sollte die RPM Datenbank beschädigt sein gibt es eine schnelle möglichkeit diese wieder zu reaktivieren.

  1. Ãœber den Befehl rpm –rebuilddb kann die DB wieder Repariert werden.
  2. Sollte diese nicht möglich sein folgt Stufe II
  1. rm -f /var/lib/rpm/__db* (bei Suse sollte es nur eine geben).
  2. db_verify /var/lib/rpm/Packages
  3. rpm –rebuilddb

Info:
Mit rebuilddb ist möglich, eine defekte Datenbank wieder herzustellen – es wird zumindest versucht die Datenbank zu reparieren, wie groß die Erfolgsquote ist, kann ich leider nicht beurteilen.

Mit initdb ist es möglich eine RPM Datenbank zu erzeugen. Es ist auch möglich eine zweite Datenbank im System zu erzeugen. Dies kann zum Test von Paketen oder Programmen nützlich sein, es ist dann aber notwendig einen anderen Pfad für die Datenbank anzugeben. Existiert bereits eine Datenbank, wird diese durch die Verwendung von –initdb nicht überschrieben. Die von RPM standardmäßig benutzte Datenbank befindet sich unter dem Verzeichnis /var/lib/rpm/

Wie baue ich eine OCI Modul für PHP5 und Apache2?

Benötigt wird:

Bei SuSE 10.X

Anlegen von mkdir /opt/oracle

Auspacken der Zip-Dateien in den Ordner /opt/oracle/instantclient_10_2
Link anlegen
cd /opt/oracle/instantclient_10_2
ln -s libclntsh.so.10.1 libclntsh.so

Test ob Oracle vorhanden:
echo $ORACLE_HOME

Anlegen der Pfade in der Datei /etc/profile

ORACLE_HOME=/opt/oracle/instantclient_10_2
LD_LIBRARY_PATH=$ORACLE_HOME
export ORACLE_HOME
export LD_LIBRARY_PATH

Der gleiche Eintrag muss auch noch in
/etc/init.d/apache2

Tip: vom System abmelden und wieder anmelden

cd /opt/oracle/
wget http://pecl.php.net/get/oci8
pear5 install oci8-1.2.3.tgz

—————————-Meldung ———————————
10 source files, building
running: phpize
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519
Please provide the path to ORACLE_HOME dir. Use ‚instantclient,/path/to/instant/client/lib‘
if you’re compiling against Oracle Instant Client [autodetect] :
—————————-Meldung ———————————

Eingeben von: instantclient,/opt/oracle/instantclient_10_2

Nach der Installation:
Die Datei /etc/php5/conf.d/oci.ini anlegen mit dem Inhalt:

; comment out next line to disable oci extension in php
extension=oci8.so

Test der Installation:
php /usr/share/doc/packages/php5/test.php5 | grep oci8

Apache2 Restarten

Testseite anlegen und ausführen:

Da wir keine tnsnamesora verwenden ändert sich der Aufruf:

—————————-Meldung ———————————
< ?php

$conn = OCILogon(„dbuser“, „dbpasswd“, „//dbserver.host.net/DB“);

$query = ’select table_name from user_tables‘;

$stid = OCIParse($conn, $query);
OCIExecute($stid, OCI_DEFAULT);
while ($succ = OCIFetchInto($stid, $row)) {
foreach ($row as $item) {
echo $item.“ „;
}
echo „
\n“;
}

OCILogoff($conn);

?>
—————————-Meldung ———————————

Links:
http://www.oracle.com/technology/tech/php/index.html
http://en.opensuse.org/Howto_build_oci8_extension_module_for_php