Zur Administration von PostgreSQL bietet sich GUI Tool pgadmin3 an. Zur Zeit verwende ich auf Ubuntu oneric bereits die precise Version, da erst diese PostgreSQL 9.1 offiziell unterstützt.
Eine Hürde bei PostgreSQL ist, dass es für einen DB Dump 3 verschiedene Formate gibt:
Nur die ersten beiden lassen sich mit pg_restore auch wieder in die PostgreSQL Installation einlesen!
Der Trick ist in diesem Fall nicht pg_restore (oder das Wiederherstellen aus pgadmin) zu verwenden, da dies nur 'custom' und 'tar' DB Dumps unterstützt. Vielmehr führt die Verwendung von psql zum Ziel:
psql --host localhost --port 5432 --username "nuclos" --dbname "nuclosdb" </home/tpasch/dump/nuclosdb-330-20120103.backup |
Wenn man nicht sicher ist, ob sich um einen DB Dump im 'plain' Format handel, kann man versuchen, ihn mit less anzuzeigen. Ein solcher Dump ist nämlich einfach eine Textdatei mit den (postgresql-spezifischen) SQL Befehlen...
Für Ubuntu gibt es hier ein PPA mit Postgres 9.2 (Details unter Ubuntu). Der Trick ist, zunächst Postgres 9.2 zu installieren, aber Postgres 9.1 nicht zu deinstallieren. Der Upgrade erfolgt dann wie hierbeschrieben:
su postgres pg_dropcluster --stop 9.2 main pg_upgradecluster 9.1 main
Ist man an Postgres 9.1 nicht mehr interessiert, kann man das entsprechende DEB Packet nun deinstallieren und die alte (gerade migrierte) Datenbank mittels:
pg_dropcluster 9.1 main
löschen.
Um unter Postgres 9.2 jetzt über das Netzwerk Zugriff auf die Datenbank zu erhalten (das ist für Java/JDBC stets notwendig), habe ich die Datei '/etc/postgresql/9.2/main/pg_hba.conf' wie folgt angepasst:
local all postgres ident host all postgres 127.0.0.1 255.255.255.255 md5 host all nuclos 127.0.0.1 255.255.255.255 md5
Das Format von pg_hba.conf wird hier erklärt.
Weitere Tipps zur Einrichtung von Postgres unter Linux finden sich hier.
Scriptbeispiele, um das Sichern, Löschen, Initialisieren und Wiederherstellen von Postgresdatenbanken zu automatisieren finden sich hier.
Grundvoraussetzung ist, dass die Umgebungsvariablen ORACLE_HOME und ORACLE_SID gesetzt sind:
# env | grep -i oracle ORACLE_OWNER=oracle ORACLE_SID=oracle PATH=/sbin:/usr/sbin:/usr/local/sbin:/root/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/opt/bin:/usr/lib/mit/bin:/usr/lib/mit/sbin:/u01/app/oracle/product/11.2.0/dbhome_1/bin ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 |
Zunächst den Listener starten:
# /etc/init.d/oracledb start |
Manchmal reicht das nicht. Der nächste Schritt ist nun die Verbindung zum Listener mittels sqlplus:
# sqlplus 'sys/sys as sysdba'
|
In diesem Beispiel ist die Datenbank noch nicht gestartet, und die Meldung 'Connected to an idle instance' ein Hinweis darauf. Innerhalb von sqlplus geht es jetzt weiter mit:
SQL> startup ORACLE instance started. Total System Global Area 966709248 bytes Fixed Size 1340608 bytes Variable Size 721423168 bytes Database Buffers 239075328 bytes Redo Buffers 4870144 bytes Database mounted. Database opened. SQL> quit Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options |
Für weitere Untersuchungen in sqlplus bietet sich z.B. an:
SQL> select status from v$instance; STATUS ------------ OPEN SQL> select status from dba_tablespaces; STATUS --------- ONLINE [...] SQL> select status from user_tablespaces; STATUS --------- ONLINE [...] |
Hat man den Namen eines Constraint, so erhält man tiefergehende Informationen mittels der folgenden SQL Abfrage:
select * from user_constraints where constraint_name = 'XR_T_EO_DATENPAKETTYP___5CCMVM';
Siehe auch: NUCLOS-2924 Oracle Performance
http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html
update <schema>.t_md_user set strpassword = null, BLNLOCKED = 0, INTLOGINATTEMPTS = 0 |
update <schema>.t_md_user set BLNSUPERUSER = 1 where STRUSER = 'nuclos' |
insert into <schema>.t_md_user (struser, struid, intversion, blnsuperuser, strfirstname, strlastname, datcreated, strcreated, datchanged, strchanged) values ('nuclos', 'kskjsiunzaoahng', 1, true, 'the', 'master', '2014-06-01', 'nuclos', '2014-06-01', 'nuclos') |