domingo, 19 de fevereiro de 2012

Instalando o Oracle XML DB 11g

Hoje ao testar uma procedure de envio de e-mail utilizando a package UTL_MAIL no Oracle 11g obtive o seguinte erro: 

ORA-24248: XMLDB extensible security not installed 

Bom.. como descrito na mensagem precisamos instalar o Oracle XML DB, mas porque? 

Uma das melhorias propostas no Oracle 11g foi a de maior segurança no acesso aos pacotes de rede como UTL_TCP, UTL_SMTP, UTL_MAIL, UTL_HTTP e UTL_INADDR, ou seja, uma execução de privilégio sobre estes pacotes não é mais suficiente para acessar um recurso de rede externa é necessário agora a configuração também de de uma ACL (Access Control List) que será descrita em um próximo artigo, mas ainda em nosso contexto, Essas ACLs são arquivos XML que são armazenados no repositório do banco de dados XML dentro do próprio banco de dados, o que significa que banco de dados XML devem ser instalado no banco de dados para podermos utilizar estes pacotes. 

Vamos verificar se o mesmo não está instalado:

SQL> set lines 200
SQL> col Component for a70
SQL> select comp_name "Component" from dba_registry;
 
Component
----------------------------------------------------------------------
OWB
Oracle Application Express
Oracle Enterprise Manager
Oracle Ultra Search
OLAP Catalog
Spatial
Oracle Multimedia
Oracle Text
Oracle Expression Filter
Oracle Rules Manager
Oracle Workspace Manager
Oracle Database Catalog Views
Oracle Database Packages and Types
JServer JAVA Virtual Machine
Oracle XDK
Oracle Database Java Packages
OLAP Analytic Workspace
Oracle OLAP API
 
18 linhas selecionadas.

Confirmado que não está instalado, vamos instalar o Oracle XML. Primeira precisamos criar uma tablespace para o XML DB:

SQL> create tablespace xmldb datafile '+DGDADOS/datafiles/xmldb01.dbf' size 100m autoextend on next 100m maxsize 3000m;
 
Tablespace criado.

Agora execumos o script catqm localizado dentro do $ORACLE_HOME/rdbms/admin passando os seguintes parâmetros:

SYNTAXE: 

SQL>@?/rdbms/admin/catqm.sql A B C D

onde:

A = XDB pwd
B = XDB default tablespace
C = XDB temporary tablespace
D = SecureFiles = YES/NO

Se o SecureFiles for especificado com YES (SIM), o repositório XDB usará armazenamento SecureFile. Se NO (NÃO), será utilizado LOBS. 
Para usar SecureFiles, a compatibilidade deve ser definida para 11.2. O tablespace especificado para o repositório XDB deve estar usando Automatic Segment Space Management (ASSM) para SecureFiles. 

 Execução:

SQL> @?/rdbms/admin/catqm.sql xml_password xmldb temp yes
 
SQL> ...
SQL> ...
SQL> ...

Vamos confirmar se agora está instalado:

SQL> set lines 200
SQL> col Component for a70
SQL> select comp_name "Component" from dba_registry;
 
Component
----------------------------------------------------------------------
Oracle XML Database
OWB
Oracle Application Express
Oracle Enterprise Manager
Oracle Ultra Search
OLAP Catalog
Spatial
Oracle Multimedia
Oracle Text
Oracle Expression Filter
Oracle Rules Manager
Oracle Workspace Manager
Oracle Database Catalog Views
Oracle Database Packages and Types
JServer JAVA Virtual Machine
Oracle XDK
Oracle Database Java Packages
OLAP Analytic Workspace
Oracle OLAP API
 
19 linhas selecionadas.

Pronto, Oracle XML DB instalado com sucesso e pronto para utilização, simples assim.

Para remover o mesmo basta executar:

SQL> @?/rdbms/admin/catnoqm
SQL> alter tablespace XMLDB offline;
SQL> drop tablespace XMLDB including contents;
Postagem mais recente Postagem mais antiga Página inicial

0 comentários:

Postar um comentário

Translate

# Suporte

# ACE Program

#Oracle

#Oracle
Disclaimer: The views expressed on this blog are my own and do not necessarily reflect the views of Oracle.

#Blog reconhecido

#ARTICULISTA

Marcadores

Postagens populares