Come posso configurare le istanze database Oracle di Amazon RDS per operare con server condivisi?

4 minuti di lettura
0

Come posso configurare le istanze database Oracle di Amazon Relational Database Service (Amazon RDS) per operare con server condivisi?

Breve descrizione

Gli utenti Oracle possono connettersi alle istanze DB RDS utilizzando processi server dedicati o condivisi. Prima di utilizzare server condivisi, considera quanto segue:

  • L'utilizzo di server condivisi comporta un sovraccarico della CPU, che potrebbe causare problemi di prestazioni.
  • L'utilizzo di un server condiviso significa che l'allocazione UGA viene allocata all'interno di un pool di grandi dimensioni. Assicurarsi di disporre di spazio libero sufficiente all'interno di SGA per ospitare server condivisi. Lo spazio libero insufficiente può causare la visualizzazione di errori “pool di grandi dimensioni non disponibili” nel registro degli avvisi e nei file traccia dell'istanza.
  • L'utilizzo di server condivisi può causare una riallocazione dinamica più frequente della memoria SGA, con conseguenti problemi di prestazioni.
  • Durante il riavvio o il failover del database, un forte aumento delle connessioni alle applicazioni può sovraccaricare i dispatcher se il parametro DISPATCHERS non è impostato a un livello sufficientemente elevato rispetto alla velocità di trasmissione effettiva della connessione.
  • L'esecuzione di processi in batch, query di lunga durata, carichi pesanti o attività DBA di lunga durata su server condivisi può causare la coda di altri processi, con conseguenti problemi di prestazioni. Usa server dedicati per lavori di grandi dimensioni.

Per ulteriori informazioni sull'architettura del server condiviso e del server dedicato di Oracle Database, vedere la documentazione Oracle per Comprendere l'architettura del server condiviso.

Soluzione

Per bilanciare i vantaggi e le limitazioni di utilizzo di server condivisi:

  • Utilizza server condivisi per un numero elevato di sessioni OLTP che si connettono e si disconnettono spesso ed eseguono operazioni leggere.
  • Usa server dedicati per operazioni in batch di lunga durata e attività amministrative impegnative come la creazione di indici.

Nota: gli esempi seguenti vengono forniti come linea di base per abilitare i server condivisi con la dimensione dell'istanza specificata (istanza db.r3.large). Gli amministratori devono applicare le impostazioni dei gruppi di parametri che ottimizzano la memoria in base ai loro casi d'uso. Per ulteriori informazioni, consulta Oracle su Amazon RDS.

1.    Modifica il gruppo di parametri personalizzati per impostare i seguenti parametri sul valore massimo consentito o su un valore che soddisfi le tue necessità d’uso:

dispatchers=(PROTOCOL=TCP)(DISPATCHERS=30)
max_dispatchers=30

2.    Accedi all'istanza, quindi visualizza il valore predefinito di SESSIONS per le dimensioni dell'host. Se non utilizzi le impostazioni predefinite, testa l'istanza con il gruppo di parametri predefinito:

SQL> show parameter sessions
2428

3.    Imposta SHARED_SERVERS e MAX_SHARED_SERVERS al 10% di tale valore:

sessions=2428
shared_servers=243
max_shared_servers=243

4.    Imposta LARGE_POOL_SIZE uguale al valore SHARED\ _SERVERS\ * 1 MB (243\ * 1048576 byte in questo caso).

large_pool_size= 254803968

5.    Esegui una query di v$sgastat per una grande quantità di\ _pool_size 'memoria libera' per assicurarti che il pool di grandi dimensioni sia di dimensioni adeguate.

SQL> select name, pool, bytes/1024/1024 megs from v$sgastat where name='free memory' and pool='large pool';
Name           POOL        Megs
-------------- ----------- -------
free memory    large pool  243

6.    Visualizza le impostazioni del gruppo di parametri applicate a un'istanza Oracle in esecuzione, quindi esegui la seguente query SQL dall'istanza:

select name, value from v$parameter where name in ('processes', 'sessions', 'shared_servers', 'dispatchers', 'memory_target', 'memory_max_target', 'large_pool_size');

7.    Esegui la seguente query SQL dalla tua istanza Oracle per verificare se le sessioni si connettono come condivise:

SQL> select decode(server,'NONE','SHARED',server), count(*) from v$session
group by decode(server,'NONE','SHARED',server);

Per abilitare l'accesso al server dedicato e condiviso alla stessa istanza Oracle, utilizza due voci tnsnames.ora, come nell'esempio seguente:

# make the default shared

  dbname =
  (DESCRIPTION=
      (ADDRESS_LIST=
          (ADDRESS=(PROTOCOL=TCP)(HOST=dbname.endpoint.amazonaws.com)(PORT=1521))
      )
      (CONNECT_DATA=
          (SID=dbname)
      )
  )

  # use the dedicated one for batch processes and dba tasks such as creating indexes

  dbname_d=
  (DESCRIPTION=
      (ADDRESS_LIST=
          (ADDRESS=(PROTOCOL=TCP)(HOST=dbname.endpoint.amazonaws.com)(PORT=1521))
      )
      (CONNECT_DATA=
          (SID=dbname)
          (SERVER=DEDICATED)
      )
  )

Informazioni correlate

Parametri di denominazione locali nel file tnsnames.ora

Utilizzo dei gruppi di parametri del database

Visualizzazione dei valori dei parametri per un gruppo di parametri DB

Riavvio di un'istanza database

AWS UFFICIALE
AWS UFFICIALEAggiornata 4 anni fa