Im anwendungsbezogenen Datenbankbetrieb ist es wie mit dem Auto: Man weiss zwar, dass es ein Getriebe und einen Motor gibt, aber als Fahrer interessiert nur das Ziel und die Bedienung von Schaltern und Knoepfen. Anbei einige Zaubersprueche zur Bedienung einer Oracle- oder MySQL-Datenbank:
Exportiere und Importiere Daten Datenbank mit Inhalt exportieren
MySQL
# mysqldump database > database.dmp
Oracle
# exp userid=\'sys/manager as sysdba\' \ file=database_exp.dmp \ log=database_exp.log \ compress=no \ owner=mailadm \ statistics=none \ rows=yes
full database
# exp userid=\'sys/manager as sysdba\' \ file=full_exp.dmp \ log=full_exp.log \ compress=no \ full=yes \ statistics=none \ consistent=yes
Datenbank ohne Inhalt exportieren MySQL
# mysqldump -d database > database.dmp
Oracle
# exp userid=mailadm/mailadm \ file=database_exp.dmp \ log=datbase_exp.log \ compress=no \ owner=mailadm \ statistics=none \ rows=no
Datenbank imporieren MySQL
# mysqladmin create database
# mysql database < database.dmp
Oracle
# imp userid=\'sys/manager as sysdba\' \ file=database_exp.dmp \ log=database_imp.log \ ignore=yes \ feedback=50 \ fromuser=mailadm \ touser=newsadm
full database
# imp userid=\'sys/manager as sysdba\' \ file=full_exp.dmp \ log=full_imp.log \ full=yes \ ignore=yes \ feedback=50
Zeige alle laufenden Prozesse/Statements MySQL
# mysql > SHOW PROCESSLIST;
Oracle
# sqlplus / as sysdba > SELECT sql_id,sql_text FROM v$sqlarea;
waites
> SELECT sw.sid sid , p.spid spid , s.username username , \ s.osuser osuser , sw.state state , sw.wait_time wait_time , \ s.machine machine , depre(sw.event,'db file sequential read', \ sw.p3, 'db file scattered read', sw.p3, NULL) blocks \ FROM v$session_wait sw , v$session s , v$process p \ WHERE s.paddr = p.addr AND sw.state != 'Idle' \ AND sw.sid = s.sid AND sw.wait_time > 0;
Zeige alle Tabellen an MySQL
# mysql SHOW TABLES; **Oracle** # sqlplus / as sysdba
SQL> SELECT TABLE_NAME FROM ALL_TABLES WHERE OWNER='MAILADM' # sqlplus
SQL>set pages 999 ; SQL>SELECT TABLE_NAME FROM USER_TABLES; # sqlplus SQL>set pages 999 ; SQL>SELECT TABLE_NAME FROM TABS; # sqlplus SQL> set pages 999 ; SQL>SELECT * FROM _TABLES;
Zeige vollstaendiges Datum von Datenfeldern MySQL
# mysql SQL> SELECT logindate from logintable:
Oracle
# sqlplus SQL>SELECT to_char(logindate,'YYYY-MM-DD HH:MM:SS') FROM logintable;