Anwendungsbezogener Datenbankbetrieb MySQL & Oracle

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. nnAnbei einige Zaubersprueche zur Bedie…

Posted by eumel8 on April 03, 2012 · 2 mins read

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;