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;
0 comentários:
Postar um comentário