# Oracle Mini-Tips

Zeitangaben mit SYSDATE:

```
SYSDATE-1 = 1 Tag zurück
SYSDATE-1/24 = 1 Stunde zurück
SYSDATE-3/24 = 3 Stunden zurück
```

Flashback und Restorepunkte:

```
SQL> create restorepoint db-ok;
SQL> select * from v$restorepoint;
SQL> flashback to restorepoint db-ok;
SQL> drop restorepoint db-ok;
```

aktueller Stand DB-File und Angabe aus den DB-Fileheadern:

```
select file#, checkpoint_change# from v$datafile;
select file#, checkpoint_change# from v$datafile_header;
```

Flashback-Beispiel:

```
SQL> update scott.emp T1 set sal = (select sal from scott.emp as of scn 699417 where T1.empno = empno);
```

Redo-Logfiles spiegeln:

```
alter database add logfile member '/u01/app/oracle/oradata/orcl/redo04a.log' reuse to group 4;
alter system switch logfile;
alter system checkpoint;
```

Parameter im spfile ändern:

```
SQL> alter system set param=bla [scope=both|spfile|memory];
```

Neues Passwort für SYS:

```
$ cd $ORACLE_HOME/dbs
$ orapwd file=orapw<$ORACLE_SID> password=<akt.passwort>
```

neue Datenbank anlegen mit:

```
$ dbca
```

Liste der vergebenen Ports ankucken (Ports können mit dem Tool 'emca' geändert werden):

```
$ cat $ORACLE_HOME/install/portlist.ini
```

Einen User unlocken:

```
SQL> alter user <user> account unlock;
```

Passwort eines Users ändern:

```
SQL> alter user <user> identified by '<pass>';
```

Alert-Logfile der Datenbank:

```
$ORACLE_BASE/admin/<$ORACLE_SID>/bdump/alert_<$ORACLE_SID>.log
```

Status der Datenbank:

```
SQL> select open_mode from v$database;
```

Status der Tablespaces:

```
SQL> select STATUS from dba_tablespaces;
```

Im Usernamen erlaubte Zeichen:

```
A-Z, 0-9, $, _, -
```

Password eines Users ändern (in sql):

```
SQL> alter user scott identified by "<neues Passwort>";
```

Nachfragen beim Recovery verhindern:

```
SQL> set autorecovery on;
```

aktuelle Uhrzeit ausgeben:

```
SQL> select sysdate from dual;
```