Oracle 1 x 1 des Adminstrators
Netzwerk
Dateien editieren
Client: tnsnames.ora
|
Server: listener.ora
|
---|
Privilegien versorgen
UNIX
Wie lautet die primäre Gruppe der Oracle Software.
Alle UNIX-Nutzer, die Mitglieder dieser Gruppe sind, dürfen sich als "INTERNAL" connecten.
/etc/passwd | /etc/group |
---|
Passwordfile
notwendig für heterogene Netzwerke und "remote Login"
- Passwordfile einrichten mit orapwd
- init<SID>.ora: remote_login_passwordfile = exclusive
- Datenbank durchstarten.
Controlfile
- mindestens einmal mit Oracle Mitteln spiegeln.
Redologfiles
- mindestens einmal mit Oracle Mitteln spiegeln.
- vier Gruppen so einrichten, daß etwa alle 20 min ein log-switch erfolgt (30 am Tag)
- Redologs auf eine eigene schnelle Festplatte legen
Tablespaces
- offline: ich muß mich nicht mehr darum kümmern.
- read only: nur ein letztes Backup ist notwendig
- Daten und Indexes auf verschiedene Platten
- unterschiedliche Applikationen auf unterschiedlichen Platten (nur bestimmte Appl. werden in Mitleidenschaft gezogen)
Planung Rollback Segments
-
Undo Management
CREATE UNDO TABLESPACE undots1 DATAFILE '/oracle/oradata/ORCL/orcl_undots101.dbf' SIZE 100M AUTOEXTEND ON ;
- eigene Tablespaces für Rollback Segmente und temporäre Segmente
CREATE ROLLBACK SEGMENT rbs01 TABLESPACE undotbs1;
-
Automatic
alter system set undo_management=auto | manual scope=spfile;
- Manual
alter system set undo_management=manual scope=spfile;
-
Online-Setzen
ALTER ROLLBACK SEGMENT rbs01 ONLINE;
Rollback Segemente (Tamagotchies der Datenbank)
- v$rollstat;
waits / gets: > 1%, , dann mehr Rollback-Segmente.
select round(sum(waits)/sum(gets),2) from v$rollstat;
select HWMSIZE from v$rollstat;
Der höchste Wert (high water mark), in Bytes, der Rollback-Segmentgröße während der Nutzung erreicht wurde
optimal RBS so setzen, daß es größer ist als HWMSIZE der meisen Rollbacksegmente.
- V$WAITSTAT
Warten auf Zugriff auf einen bestimmten Rollback-Segment-Block.
count für irgend eine Class > 1%, , dann mehr Rollback-Segmente.
select class, count from v$waitstat where class in ('system undo header', 'system undo block', 'undo header', 'undo block') ;
- ORA-1555 Snapshot to old: minextents der RBS vergrößern.
Temporäre Segemente
Weisen sie ihrem DB-Nutzern Tablespaces zum sortieren zu. Auch SYS und SYSTEM
alter user sys temporary tablespace temp;
Tabellen
- Wählen Sie eine angemessene Größe für die Extends der Tabellen
- Erzeugen von Statistiken.
Index
Wird ein bestehnder Index überhaupt genutzt? Ausführungsplan erstellen lassen.
SGA-Einstellung
Shared Pool
select sum(pins)"Executions",
sum(reloads) "Cache Misses",
round(100*(sum(reloads)/sum(pins)),2) "%Reloads"
from v$LIBRARYCACHE;
Executions Cache Misses %Reloads
---------- ------------ ----------
4638782 105755 2.28
reloads sollte < 15%
select sum(gets) "DD Gets",
sum(getmisses) "DD Cache Get Misses",
round(100*(sum(getmisses)/sum(gets)),2) "%Reloads"
from v$rowcache;
DD Gets DD Cache Get Misses %Reloads
---------- ------------------- ----------
8327075 553416 6.65
reloads sollte < 1%. Wurde der Wert grob verletzt, dann shared_pool_size in der init.<SID> vergrößern.
DB-Cache
variable trefferquote number
DECLARE
v_blockgets number;
v_consgets number;
v_physreads number;
BEGIN
select value INTO v_blockgets from v$sysstat where name = 'db block gets';
select value INTO v_consgets from v$sysstat where name = 'consistent gets';
select value INTO v_physreads from v$sysstat where name = 'physical reads';
:trefferquote := round(100*(1-(v_physreads/(v_consgets+v_blockgets))),2);
END;
/
select 'Trefferquote im DB Cache: ' || :trefferquote|| '%' FROM dual;
'TREFFERQUOTEIMDBCACHE:'||:TREFFERQUOTE||'%'
-------------------------------------------------------------------
Trefferquote im DB Cache: 99.67%
Backup
Artikelaktionen