6f429244e498457b8400e72e4af683b0 Alberto Blog: ORA-00904: WM_CONCAT: invalid identifier

venerdì 14 settembre 2012

ORA-00904: WM_CONCAT: invalid identifier


Utilizzando Sql Developer nel modulo DBA nella versione 3.1.07, andando a vedere i backupset nel menu di RMAN, mi sono imbattuto nel seguente errore:ORA-00904: WM_CONCAT invalid identifier.
Ho notato però che in 1 istanza funzionava correttamente, mentre nelle altre appariva questo errore.
Premetto che questo è un Bug di Sql Developer conosciuto, risolto a quanto dicono nella versione 3.2.
Da una ricerca in rete, ho letto che questo problema si verifica solo nella versione Oracle 11g con Sql Developer, mentre nella 10G il problema non era menzionato.
Questo era molto strano, visto che nel mio caso si verificava proprio nella 10G.

La funzione WM_CONCAT è una funzione di aggregazione presente fino alla 10G, anche se non supportata da Oracle ma molto usata e diffusa dagli sviluppatori, visto che è stata utilizzata anche per SqlDeveloper.

Dalla versione 11G è stata introdotta invece una nuova funzione di aggregazione, che si chiama LISTAGG  pienamente supportata da Oracle.

La funzione WM_CONCAT viene installata solo con  l'Oracle Workspace Manager, infatti facendo un controllo ho visto che nel database dove funziona questa feature è stata installata, mentre negli altri non c'era.

Molte volte succede che alcune applicazioni che si basano su database Oracle non installino di proposito il WorkSpace, visto che quest'ultimo viene utilizzato maggiornamente dagli sviluppatori in quanto contiene moltissime funzioni e che in ambiente di produzione non essendo magari necessarie, non vengono utilizzate.

Infatti eseguendo

SELECT COMP_ID, COMP_NAME, VERSION, STATUS FROM DBA_REGISTRY;

CATALOG Oracle Database Catalog Views 10.2.0.3.0 VALID

CATPROC Oracle Database Packages and Types 10.2.0.3.0 VALID

JAVAVM JServer JAVA Virtual Machine 10.2.0.3.0 VALID

XML Oracle XDK 10.2.0.3.0 VALID

CATJAVA Oracle Database Java Packages 10.2.0.3.0 VALID

EM Oracle Enterprise Manager 10.2.0.3.0 VALID

il Workspace Manager risulta essere non installato mentre negli altri
CATALOG Oracle Database Catalog Views 10.2.0.3.0 VALID

CATPROC Oracle Database Packages and Types 10.2.0.3.0 VALID

JAVAVM JServer JAVA Virtual Machine 10.2.0.3.0 VALID

XML Oracle XDK 10.2.0.3.0 VALID

CATJAVA Oracle Database Java Packages 10.2.0.3.0 VALID

EM Oracle Enterprise Manager 10.2.0.3.0 VALID

OWM Oracle Workspace Manager 10.2.0.1.0 VALID 

L'Oracle Workspace Manager si può installare successivamente come SYS lanciando

$ORACLE_HOME/rdbms/admin/owminst.plb
Una volta finito lo script andiamo a verificare con la solita query
SELECT COMP_ID, COMP_NAME, VERSION, STATUS FROM DBA_REGISTRY;

CATALOG Oracle Database Catalog Views 10.2.0.3.0 VALID

CATPROC Oracle Database Packages and Types 10.2.0.3.0 VALID

JAVAVM JServer JAVA Virtual Machine 10.2.0.3.0 VALID

XML Oracle XDK 10.2.0.3.0 VALID

CATJAVA Oracle Database Java Packages 10.2.0.3.0 VALID

EM Oracle Enterprise Manager 10.2.0.3.0 VALID

OWM Oracle Workspace Manager 10.2.0.1.0 VALID

Adesso andando con Sql Developer a lanciando tramite il modulo DBA la lista dei backup set nella apposita sezione funziona correttamente.


Nessun commento:

Posta un commento