14 novembre 2007

Old-style: Enterprise Manager Console

Siete anche voi dei fan della vecchia console di Enterprise Manager in Java?
Bene, prima di tutto, lo saprete già benissimo, non è sparita, ma è sempre presente nel client CD e nel companion CD: basta scaricarli e installarli.
Il funzionamento della console, però, sembra fermo alle funzionalità della release 9i. Nonostante ciò, a mio parere molte funzionalità sono sempre migliori di quelle riscritte in EM Database Control via web, incluso di default nella 10g. Il problema è che alcune di queste funzionalità hanno bisogno preferibilmente di un repository, ovvero di uno schema su un database Oracle, per salvare i propri dati.

Oggi ad esempio ho provato a configurare il Change Manager, che si basa sul repository di EM. Attenzione: il repository di EM versione Java è ancora quello della vecchia versione; non si tratta del nuovo repository di Enterprise Manager DB Control (10g).
Nell'help della Console c'è la sezione "Requirements before creating a standalone repository", in cui viene spiegato come creare il tablespace e l'utente per il repository. Le istruzioni funzionano anche per 10g, tranne per i permessi dell'utente/schema.

Per prima cosa bisogna creare il tablespace del repository, di circa 20M con un massimo di 2G, con un nome qualsiasi (io ho adottato OEM9REP). Probabilmente si può utilizzare SYSAUX, ma non vorrei che la presenza di segmenti "sconosciuti" nel tablespace possa dare fastidio al nuovo EM.
La "difficoltà" è nella creazione dell'utente: i privilegi/ruoli richiesti sono CONNECT, SELECT_CATALOG_ROLE, CREATE TRIGGER, CREATE PROCEDURE, EXECUTE ANY PROCEDURE, CREATE TYPE, EXECUTE ANY TYPE, SELECT ANY TABLE. C'è un problema: il ruolo CONNECT da 10gR2 in poi non ha gli stessi permessi che aveva nelle vecchie versioni; per la sola creazione del repository mancano i privilegi CREATE SESSION, CREATE TABLE, CREATE VIEW, CREATE SYNONYM, CREATE DATABASE LINK, CREATE CLUSTER, CREATE SEQUENCE, ALTER SESSION. Volendo si possono riassegnare al ruolo CONNECT mediante l'esecuzione dello script ?/rdbms/admin/rstrconn.sql.
Il repository viene creato dall'interfaccia grafica alla prima connessione; vengono eseguiti una serie di script sql presi dall'installazione del client locale.

6 commenti:

Anonimo ha detto...

... in realtà ho tentato di installare ogni opzione del client 11g per windows, ma non ho trovato niente che assomigli ad oemapp.bat nella ORACLE_HOME\BIN né tantomeno una icona familiare nel menu avvio.

Pietà dove l'hanno nascosta??

Rudy ha detto...

Eh, anch'io non l'ho più trovata nel client 11g, mi sa che ci toccherà installare il client 10g.

Anonimo ha detto...

La 11g ha completamente cancellato al Java console. Dalla 11g non esiste più, è stata completamente rimossa da Oracle.
E' un peccato perchè non era male! Pazienza!

Unknown ha detto...

Ciao,
non ho capito dove avete trovato Enterprise Manager Console in 10g.
Ho scaricato sia il client che companion product ma in nessuno di questi ho trovato la possibilità (come avveniva in 9) di installarlo.

Rudy ha detto...

Sotto Linux, con le variabili d'ambiente a posto, è sufficiente scrivere

oemapp console

e EM appare. È un'applicazione Java che viene avviata dallo script oemapp.

Unknown ha detto...

l'ho trovato man non nello ZIP scaricato da TechNet ma dal CD originale (10.2.0.1 Client). Cmq manca una utility fondamentale (x me): Lock-Manager :(