Arquivo Histórico de Thiago Vespa
Este site foi preservado para fins históricos e de referência. Alguns conteúdos podem estar desatualizados e recursos interativos foram desativados. Visite o site atual.
Oracle – Thiago Galbiatti Vespa https://thiagovespa.com.br/blog Precisando é só avisar! Mon, 27 Oct 2025 01:42:02 +0000 pt-BR hourly 1 https://wordpress.org/?v=6.8.5 https://thiagovespa.com.br/blog/wp-content/uploads/2023/05/cropped-eu3-32x32.png Oracle – Thiago Galbiatti Vespa https://thiagovespa.com.br/blog 32 32 Realizar diff entre base de dados no Oracle SQL Developer https://thiagovespa.com.br/blog/2012/10/25/realizar-diff-entre-base-de-dados-no-oracle-sql-developer/ https://thiagovespa.com.br/blog/2012/10/25/realizar-diff-entre-base-de-dados-no-oracle-sql-developer/#comments Thu, 25 Oct 2012 20:39:23 +0000 http://www.thiagovespa.com.br/blog/?p=3649 Continue lendo Realizar diff entre base de dados no Oracle SQL Developer→]]> Quando trabalhamos com equipes distribuídas é comum termos cópias de bases de dados em locais diferentes e para ambientes diferentes. Em alguns casos não são utilizadas ferramentas de monitoração de alteração de base e confiar na comunicação da equipe nem sempre é uma boa prática. Nesses casos, para resolver situações no qual alguém altera uma base e não notifica o restante da equipe ou para migração dessas alterações entre ambientes diferentes, o Oracle SQL Developer tem um recurso chamado Database Diff.

Caso você não tenha o Oracle SQL Developer, baixe do site da Oracle e instale. Execute e crie duas conexões: uma da base de origem e outra da de destino. Selecione Tools, Database Diff. Irá abrir o Diff Wizard.

Diff Wizard
Diff Wizard

Escolhas as opções e clique em Next. Clique em Lookup para buscar os objetos na base de origem, adicione o que você quer e clique em Next. Verifique o sumário e clique em Finish.

Após isso é só aguardar a comparação.

Diff Report
Diff Report

Clique em Generate Script. Escolha o caminho que queira salvar e clique em Apply. Se quiser, execute o script para corrigir as diferenças.

]]>
https://thiagovespa.com.br/blog/2012/10/25/realizar-diff-entre-base-de-dados-no-oracle-sql-developer/feed/ 1
Busca case insensitive no WebCenter Content com Metadata https://thiagovespa.com.br/blog/2012/07/27/busca-case-insensitive-no-webcenter-content-com-metadata/ https://thiagovespa.com.br/blog/2012/07/27/busca-case-insensitive-no-webcenter-content-com-metadata/#respond Fri, 27 Jul 2012 18:30:25 +0000 http://www.thiagovespa.com.br/blog/?p=2477 Continue lendo Busca case insensitive no WebCenter Content com Metadata→]]> Para poder buscar sem considerar case de caracteres no WebCenter Content é necessário utilizar a busca Full Text com o SES configurado ou com OracleTextSearch configurado interno na base Oracle. Em algumas situações, como em um ambiente de desenvolvimento, não podemos ter esses componentes configurados, utilizando somente buscas com Metadata (padrão no Content).

Para conseguir isso, acesse o Oracle Support (antigo Metalink), procure pelo patch: 6907073. Baixe e descompacte-o. Acesse o content server (http://IP:PORTA/cs), efetue login. Na seção Administration, selecione Admin Server, e clique no link “advanced component manager”. Na seção Install New Component, busque pelo arquivo OracleCaseInsensitiveSearch.zip dentro da pasta /component/CS10gR35UpdateBundle/extras do arquivo que foi descompactado. Clique em Install.

Na seção Disabled Components, selecione a opção nova: OracleCaseInsensitiveSearch e clique em Enable. Reinicie o WebCenter Content e você terá algo assim na tela:

Admin Server
Admin Server

Agora é só realizar uma busca e ele irá desconsiderar o case de caracteres. O problema dessa abordagem é que esse componente pode gerar uma lentidão adicional nas buscas.

]]>
https://thiagovespa.com.br/blog/2012/07/27/busca-case-insensitive-no-webcenter-content-com-metadata/feed/ 0
JDBC de uma forma diferente: RowSet https://thiagovespa.com.br/blog/2012/06/26/jdbc-de-uma-forma-diferente-rowset/ https://thiagovespa.com.br/blog/2012/06/26/jdbc-de-uma-forma-diferente-rowset/#respond Tue, 26 Jun 2012 19:32:07 +0000 http://www.thiagovespa.com.br/blog/?p=2415 Continue lendo JDBC de uma forma diferente: RowSet→]]> O RowSet é uma classe que tem a função de adicionar o suporte ao padrão JavaBean ao JDBC.

Ao invés de realizarmos as operações desse jeito:

[sourcecode language=”java” highlight=”1,2,4,5,6″]
Connection conn = null;
Statement stmt = null;

try {
conn = DriverManager.getConnection("jdbc:oracle:thin:@//database:1521/orcl.localdomain", "thiago", "senha");

stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM CLIENTE");

while(rs.next()) {
ResultSetMetaData rsMetaData = rs.getMetaData();
int columnCount = rsMetaData.getColumnCount();
for(int colIdx = 0; colIdx<columnCount; colIdx++) {
System.out.print(rs.getObject(colIdx+1) + "|");
}
System.out.println();
}
} catch (SQLException e) {
e.printStackTrace();
}
[/sourcecode]

Realizamos de uma maneira “mais JavaBean”:

[sourcecode language=”java” highlight=”1,2,4,5,6,7,8,9,10″]
RowSetFactory rowSetFactory = null;
JdbcRowSet jdbcRs = null;

try {
rowSetFactory = RowSetProvider.newFactory();

jdbcRs = rowSetFactory.createJdbcRowSet();

jdbcRs.setUrl("jdbc:oracle:thin:@//database:1521/orcl.localdomain");
jdbcRs.setUsername("thiago");
jdbcRs.setPassword("senha");

jdbcRs.setCommand("SELECT * FROM CLIENTE");
jdbcRs.execute();
while(jdbcRs.next()) {
ResultSetMetaData rsMetaData = jdbcRs.getMetaData();
int columnCount = rsMetaData.getColumnCount();
for(int colIdx = 0; colIdx<columnCount; colIdx++) {
System.out.print(jdbcRs.getObject(colIdx+1) + "|");
}
System.out.println();
}
} catch (SQLException e) {
e.printStackTrace();
}
[/sourcecode]

]]>
https://thiagovespa.com.br/blog/2012/06/26/jdbc-de-uma-forma-diferente-rowset/feed/ 0
Recuperando a versão do banco Oracle https://thiagovespa.com.br/blog/2012/06/26/recuperando-a-versao-do-banco-oracle/ https://thiagovespa.com.br/blog/2012/06/26/recuperando-a-versao-do-banco-oracle/#respond Tue, 26 Jun 2012 18:31:06 +0000 http://www.thiagovespa.com.br/blog/?p=2422 Para recuperar a versão do banco de dados Oracle que está sendo utilizado é só executar um dos seguintes comandos:

[sourcecode language=”sql”]
select *
from v$version;
[/sourcecode]

ou

[sourcecode language=”sql”]
select *
from product_component_version;
[/sourcecode]

]]>
https://thiagovespa.com.br/blog/2012/06/26/recuperando-a-versao-do-banco-oracle/feed/ 0
Data souce Oracle no JBoss AS 7 https://thiagovespa.com.br/blog/2011/10/06/data-souce-oracle-no-jboss-as-7/ https://thiagovespa.com.br/blog/2011/10/06/data-souce-oracle-no-jboss-as-7/#comments Thu, 06 Oct 2011 14:05:56 +0000 http://www.thiagovespa.com.br/blog/?p=1840 Continue lendo Data souce Oracle no JBoss AS 7→]]> Para configurar uma base de maneira adequada no JBoss AS 7 é necessário adicionar o driver JDBC dela como um módulo. Para realizar esse procedimento crie uma pasta para colocar o driver do Oracle:

[sourcecode lang=”bash”]
mkdir $JBOSS_HOME/modules/com/oracle/ojdbc6/main
[/sourcecode]

Faça o download adequado do driver no site: http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html

Copie o driver do Oracle (ojdbc6.jar) para a pasta recém criada e crie um arquivo module.xml com o seguinte conteúdo:

[sourcecode lang=”xml”]
<module xmlns="urn:jboss:module:1.0" name="com.oracle.ojdbc6">
<resources>
<resource-root path="ojdbc6.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
</dependencies>
</module>
[/sourcecode]

]]>
https://thiagovespa.com.br/blog/2011/10/06/data-souce-oracle-no-jboss-as-7/feed/ 4
BPEL com DBAdapter https://thiagovespa.com.br/blog/2011/02/05/bpel-com-dbadapter/ https://thiagovespa.com.br/blog/2011/02/05/bpel-com-dbadapter/#comments Sat, 05 Feb 2011 21:33:03 +0000 http://www.thiagovespa.com.br/blog/?p=1127 Continue lendo BPEL com DBAdapter→]]> Vamos criar um processo de histórico de informações. O processo consiste em gravar a data/hora, uma mensagem da operação feita e um identificador em uma tabela do banco. Como não será necessário aguardar por uma resposta, vamos configurar o serviço como One Way BPEL Process.

Instale o plugin do SOA Suite, conforme descrito na seção Instalação JDeveloper + Extensions do  post: http://www.thiagovespa.com.br/blog/2010/12/23/oracle-soa-e-bpm-suite/

Abra o JDeveloper, vá em File, New, General, Applications, SOA Application, clique OK. Dê um nome para sua aplicação e clique em Next. Dê um nome para o projeto e clique em Next. Selecione Composite With BPEL Process e clique em Finish.

Na próxima tela, selecione a especificação do BPEL (estou utilizando a 2.0), informe o nome do processo, namespace, o template (One Way BPEL Process), o Service Name e clique OK.

Create BPEL Process
Create BPEL Process

Ele irá criar um projeto SOA composite com o processo BPEL. No Application Navigator (Ctrl+Shift+A). Abra o XSD criado, SOA Content, xsd, HistoricoBPELProcess.xsd (no meu caso). Insira os elementos que serão enviados para o processo. O meu ficou da seguinte forma:

HistoricoBPELProcess.xsd
HistoricoBPELProcess.xsd

Se você quiser, pode utilizar o código abaixo:

[sourcecode lang=”xml”]
<?xml version="1.0" encoding="UTF-8"?>
<schema attributeFormDefault="unqualified"
elementFormDefault="qualified"
targetNamespace="http://xmlns.thiagovespa.com.br/BPELSampleApp/BPELDBAdapter/HistoricoBPELProcess"
xmlns="http://www.w3.org/2001/XMLSchema">
<element name="process">
<complexType>
<sequence>
<element name="identificador" type="string"/>
<element name="data" type="date"/>
<element name="mensagem" type="string"/>
</sequence>
</complexType>
</element>
</schema>
[/sourcecode]

Abra o processo BPEL, e na Component Palette (Ctrl+Shift+P) abra a aba BPEL Services e arraste o Database Adapter para o Partner Links. Irá abrir o Adapter Configuration Wizard, clique em Next. Dê um nome para o serviço, clique em Next. Clique no + para adicionar uma nova conexão, informes os dados de conexão e clique OK. Especifique o nome JNDI para a conexão ou utilize o padrão e clique em Next.

Na próxima tela, escolha as opções a serem executadas. No nosso caso, vai ser insert only. Clique em Next.

Adapter Configuration Wizard - Step 4 of 5
Adapter Configuration Wizard - Step 4 of 5

Clique em Import Tables para selecionar a tabela de histórico. Selecione a tabela e clique OK e Next. Na próxima tela informe os relacionamentos entre tabelas. No nosso caso não teremos, então clique em Next. Selecione as colunas que serão inseridas e clique em Next. Informe os parâmetros de tentativa e sequences e clique em Next. Clique em Finish para terminar. Na tela do Create Partner Link, clique em OK.

No Component Palette, abra a aba BPEL Constructs e arraste o nó Invoke para logo abaixo do receiveInput. Clique em uma setinha lateral do Invoke e arraste até o Partner Link do DBAdapter criado. Abrirá a janela de Edição do Invoke. Mude o nome para algo mais amigável, por exemplo: insercaoHistorico. Em Input, clique no mais, insira uma nova variável e pressione OK. Faça o mesmo procedimento com o Output. Pressione OK.

Adicione uma atividade de Assign entre o receiveInput e o insercaoHistorico. Dê dois cliques e na aba Copy Rules faça as associações dos dados recebidos com os dados a serem inseridos.

Edit Assign
Edit Assign

Altere os nomes dos nós para ficarem mais amigáveis.

HistoricoBPELProcess
HistoricoBPELProcess

Agora vamos configurar o Database Adapter no servidor. Suba o servidor com o SOA Suite. Acesse o console do WebLogic Server. No domínio, acesse Services, Data Sources, New, Generic Data Source. Informe um Nome (DBAdapterSample), um JNDI Name (jdbc/DBAdapterSample). escolha o tipo da base (Oracle) e clique em Next. Informe o driver e clique em Next. Se for XA você não precisa configurar mais nenhuma opção, aí é só clicar em Next. Informe os dados de conexão, clique em Next. Clique em Test Configuration, se tudo for OK, clique em Next, senão clique em Back e altere as configurações. Selecione o servidor e clique em Finish.

Vá em Deployments e procure por DBAdapter. Selecione ele, clique em Configuration. Selecione Outbound Connection Pools e clique em New. Escolha javax.resource.cci.ConnectionFactory e clique em Next. Insira o JNDI Name que você informou ao criar o DBAdapter no processo BPEL (eis/DB/DBAdapterSample). Lembre-se que esse JNDI deve ser diferente do Data Source. Clique em Finish. Selecione o Outbound Connection Pool criado. Na aba Properties, atribua o valor do JNDI do Data Source (jdbc/DBAdapterSample) na propriedade xADataSourceName. Dica: pressione Enter para efetuar as alterações. Clique em Save.

Vá novamente em Deployment, marque o checkbox do DbAdapter, clique em Update. Marque a opção “Redeploy this application using the following deployment files”. Clique em Next e Finish.

No JDeveloper, clique com o botão direito no projeto, Deploy e escolha a aplicação. Selecione Deploy to Application Server, clique em Next. Atribua o número de revisão e clique em Next. Caso você não tenha adicionado o servidor, clique no + e configure o servidor SOA, caso contrário, selecione o servidor e clique em Next. Escolha o Partition, clique em Next e Finish para realizar o deploy.

Acesse o Enterprise Manager, SOA, soa-infra, default (partition) e escolha sua aplicação. Clique no botão Test. Informe os 3 parâmetros e clique em Test Web Service.

Pronto.. as informações devem ter sido inseridas no banco de dados. Acompanhe o que foi feito no processo clicando no botão Lauch Flow Trace.

(Oracle SOA Composite)”]BPELDBAdapter [1.0] (Oracle SOA Composite)

]]>
https://thiagovespa.com.br/blog/2011/02/05/bpel-com-dbadapter/feed/ 6
Oracle Service Bus https://thiagovespa.com.br/blog/2011/01/27/oracle-service-bus/ https://thiagovespa.com.br/blog/2011/01/27/oracle-service-bus/#comments Thu, 27 Jan 2011 09:24:17 +0000 http://www.thiagovespa.com.br/blog/?p=1029 Continue lendo Oracle Service Bus→]]> O Oracle Service Bus é utilizado para conectar, mediar e administrar interações entre serviços e aplicações. Ele está disponível para download no site da Oracle junto com suas dependências.

Nesse artigo vamos utilizar a versão generic 11.1.1.4.0, pois estamos interessados em subir o OSB utilizando uma JVM 64 bits. Para a instalar o OSB, é necessário ter uma base de dados instalada, o WLS, o RCU, o Eclipse OEPE e o SOA Suite. Caso você esteja utilizando a versão 11.1.1.3.0, a instalação do SOA Suite pode ser encontrada aqui.

Estou fazendo a instalação em um Ubuntu 10.10 64 bits com Oracle XE e com os requisitos mínimos para o funcionamento do SOA Suite. Caso tenha algum problema no decorrer da instalação, verifique as configurações feitas nesse artigo. O primeiro passo é instalar o WLS 10.3.4. Faça o download do JAR de instalação e execute-o:

[sourcecode lang=”bash”]
java -jar wls1034_generic.jar
[/sourcecode]

Clique em Next, selecione Create a new Middleware Home, especifique o diretório de instalação e clique em Next. Informe o seu e-mail e senha de suporte (se tiver) e clique em Next. Selecione Typical para a instalação padrão ou Custom se deseja alterar algum componente ou incluir exemplos do Coherence e WLS. Escolha ou busque por uma nova instalação do Java e clique em Next. Especifique o diretório de instalação do WLS e do Coherence e clique em Next. Verifique o resumo da Instalação e clique em Next.

 

Oracle Installer - WebLogic 10.3.4.0
Oracle Installer - WebLogic 10.3.4.0

Aguarde a instalação e clique em Finish. Instalação do WLS concluída.

Agora é a hora de configurar a base. Para isso utilizamos o RCU, como não existe uma versão genérica, é necessário instalar uma específica, caso seu sistema operacional não seja suportado, você pode executá-lo de outra máquina, sendo apensa necessário especificar o ip e a porta da localização do banco de dados. Apesar do meu Linux ser 64 bits, a versão 32 bits do RCU funciona sem maiores problemas. Decompacte o RCU e execute-o:

[sourcecode lang=”bash”]
./rcuHome/bin/rcu
[/sourcecode]

Clique em Next, escolha a opção Create e clique em Next. Informe os dados de conexão e clique em Next.

 

Repository Creation Utility - Step 2 of 7 : Database Connection Details
Repository Creation Utility - Step 2 of 7 : Database Connection Details

Irá aparecer uma mensagem que não é uma versão suportada de banco de dados, clique em Ignore. Isso ocorre porque o XE não é uma versão suportada pela RCU. Clique em OK. Escolha os componentes que deseja instalar. Para o XE as opções Oracle Identity Manager, Oracle Adaptive Access Manager e AS Common Schemas/Enterprise Scheduler Service não funcionam corretamente. Para agilizar você também pode desmarcar a opção Portal. Esses esquemas podem ser criados posteriormente e removidos também utilizando novamente o RCU. Caso você já tenha uma base RCU anterior (que é o meu caso), altere o prefixo da nova, selecionando Create a new Prefix e especifique um diferente do existente e clique em Next.

 

Repository Creation Utility - Step 3 of 7 : Select Components
Repository Creation Utility - Step 3 of 7 : Select Components

Clique OK para continuar. Especifique uma senha para os esquemas e clique em Next. Entre com as configurações para as variáveis e clique em Next. Como a base XE possui limite na criação das tablespaces, você deve alterar o tamanho para valores menores. Clique em Manage Tablespaces e selecione cada tablespace para que o “SIZE(MB)” não ultrapasse os 4GB. Algumas tablespaces possuem limite mínimo de tamanho. Uma solução mais fácil é remover instalações anteriores de SOA Suite pelo próprio RCU (opção Drop) ou outros tablespaces da base. Após configurar os tablespaces, clique em Next e Create. Aguarde um bom tempo para criação das tabelas e clique em Close.

Base configurada, o próximo passo é a instalação do SOA Suite.Descompacte os dois arquivos do SOA. Execute o arquivo runInstaller do arquivo1/disco 1.

[sourcecode lang=”bash”]
./Disk1/runInstaller
[/sourcecode]

Informe a localização do JDK. Aguarde o carregamento do instalador. Clique em Next. Informe seu usuário e senha para updates ou selecione Skip Software Updates e clique em Next. Se o seu sistema operacional não for certificado, clique em Continue, caso contrário, clique em Next. Especifique o Middleware Home para o mesmo caminho da instalação do WLS e clique em Next.

 

Oracle Fusion Middleware 11g SOA Suite Installation - Step 5 of 8
Oracle Fusion Middleware 11g SOA Suite Installation - Step 5 of 8

Verifique se foi encontrado o WLS. Nessa nova versão existe o suporte ao IBM Websphere também. Clique em Next. Clique em Install e aguarde a instalação. Informe a localização do disco 3 se você descompactou em diretórios diferentes.

Disk change dialog
Disk change dialog

Faça o mesmo com o disco 4 e 5. Clique em Next e Finish para finalizar a instalação.

Faça o download do Eclipse OEPE para sua plataforma. Descompacte o arquivo em uma pasta de sua preferência. Eu coloquei dentro da pasta Middleware mesmo.

Faça o download do Oracle Service Bus, descompacte o arquivo e execute o instalador.

[sourcecode lang=”bash”]
./Disk1/runInstaller
[/sourcecode]

Especifique o caminho do JDK e aguarde a abertura do instalador. Clique em Next. Informe seu e-mail e senha do suporte para atualizações ou selecione Skip Software Updates e clique em Next. Especifique o Middleware Home (o mesmo do WLS e SOA Suite), clique em Next. Escolha a opção Typical para a instalação do OSB no ORACLE_HOME ou custom para alterar o local de instalação e clique em Next. Se o seu sistema operacional não for certificado, clique em Continue, caso contrário, clique em Next. Informe a localização do WLS e do OEPE e clique em Next.

 

Oracle Service Bus 11g Installation - Step 7 of 9
Oracle Service Bus 11g Installation - Step 7 of 9

Verifique o resumo e clique em Install. Aguarde a instalação e clique em Next e Finish para finalizar.

Pronto! Produtos instalados, agora vamos à criação do domínio. Você realizar essa tarefa executando o script: <DIR DO SOA SUITE>/Middleware/wlserver_10.3/common/bin/config.sh ou pelo OEPE. Como foi instalado o OEPE, nós vamos realizar e configurar o domínio por ele. Para essa etapa, abra o OEPE, executando o arquivo eclipse dentro da pasta do OEPE. Escolha o workspace e após abrir o Eclipse, selecione Window, Show View, Other… digite Servers, selecione o resultado e clique OK. Na nova view aberta, clique com o botão direito, New, Server. Escolha a opção Oracle WebLogic Server 11gR1 PatchSet 3 e clique em Next.

 

New Server
New Server

Clique no link: Click here to launch Configuration Wizard to create a new domain. Na nova janela aberta, selecione Create a new Weblogic domain, clique em Next. Nessa tela há a opção para developers. Essa opção é ideal para criar um único servidor ao invés de um admin server e outro managed. Essa opção é altamente não recomendada em produção, mas facilita bastante no desenvolvimento e consumo de memória. O SOA Suite não é obrigatório, mas como eu vou utilizar em meus projetos, configurei ele no meu domínio. Então minha configuração foi a seguinte:

  • Basic Weblogic Server Domain
  • Oracle SOA Suite for developers
  • Oracle Service Bus OWSM Extension
  • Oracle Enterprise Manager
  • Oracle Service Bus for developers
  • Weblogic Advanced Web Services for JAX-RPC Extension
  • Oracle WSM Policy Manager
  • Oracle JRF

Clique em Next.

Fusion Middleware Configuration Wizard
Fusion Middleware Configuration Wizard

Especifique o nome do domínio e as localizações do domínio e aplicações. Clique em Next. Insira o nome do usuário administrador e sua senha, clique em Next. Selecione o startup mode (Development mode, no meu caso), o JDK e clique em Next. Configure as bases com o que foi feito na etapa do RCU e clique em Next. Ignore o teste do OSB JMS Reporting Provider se você estiver utilizando a base de demonstração (derby). Clique em Next, Next e Create. Após a criação, clique em Done.

Voltando ao Eclipse OEPE, coloque o Domain Directory do domínio que foi criado e clique em Finish. Para iniciar o domínio é só selecionar com o botão direito e clicar em Start.

Se ao iniciar o domínio você tiver algum erro parecido com esse:

[sourcecode]
oracle.mds.lcm.exception.MDSLCMException: MDS-01330: unable to load MDS configuration document
MDS-01329: unable to load element &amp;amp;quot;persistence-config&amp;amp;quot;
MDS-01370: MetadataStore configuration for metadata-store-usage &amp;amp;quot;soa-infra-store&amp;amp;quot; is invalid.
ORA-04063: package body &amp;amp;quot;DEV_MDS.MDS_INTERNAL_SHREDDED&amp;amp;quot; has errors
ORA-06508: PL/SQL: could not find program unit being called: &amp;amp;quot;DEV_MDS.MDS_INTERNAL_SHREDDED&amp;amp;quot;
ORA-06512: at line 1
[/sourcecode]

É só você recompilar as packages do pacote que está com erro. No caso acima é o DEV_MDS.MDS_INTERNAL_SHREDDED, mas também tive na DEV_MDS.MDS_INTERNAL_COMMON e DEV_MDS.MDS_INTERNAL_UTILS. Por algum motivo eles não são compilados no Oracle XE na instalação (RCU). Acesse: http://localhost:7001/sbconsole para verificar se a instalação e criação do domínio foi bem sucedida.

 

Oracle Service Bus : Dashboard - SLA Alerts - Mozilla Firefox
Oracle Service Bus : Dashboard - SLA Alerts - Mozilla Firefox

Outra recomendação é configurar o Listen Address do weblogic acessando o console: http://localhost:7001/console dentro do nó Environment/Servers do seu domínio para um IP e alterar o localhost do Eclipse para esse mesmo IP. Se aparecer a mensagem [ERROR] AdapterManager – ServletContainerAdapter manager not initialized correctly no log, pode ignorar, pois é um bug conhecido que consiste na exibição incorreta dessa mensagem.

Com a instalação do OSB, também foi configurado o plugin do OSB no OEPE. Agora é só começar o desenvolvimento. O Hello World fica para um próximo post! 🙂

]]>
https://thiagovespa.com.br/blog/2011/01/27/oracle-service-bus/feed/ 18
Oracle SOA e BPM Suite https://thiagovespa.com.br/blog/2010/12/23/oracle-soa-e-bpm-suite/ https://thiagovespa.com.br/blog/2010/12/23/oracle-soa-e-bpm-suite/#comments Thu, 23 Dec 2010 12:47:03 +0000 http://www.thiagovespa.com.br/blog/?p=805 Continue lendo Oracle SOA e BPM Suite→]]> O SOA e o BPM Suite são produtos que fazem parte do Oracle Fusion Middleware. Eles servem para facilitar o desenvolvimento de aplicações SOA e prover um local único de configuração e administração de aplicações distribuídas. A instalação é um pouco trabalhosa e irei abordar nesse post. Esse conteúdo é sujeito à alterações posteriores.

Essa configuração é apenas para desenvolvimento. Não realize esse procedimento em ambiente de produção!

Garanta que o seu sistema tenha os pré-requisitos mínimos:

  • 2GB de memória RAM (Eu recomendo 4GB ou mais)
  • Processador Dual Core 1.5GHz ou superior
  • 15GB de espaço em disco

Eu estou instalando em um Ubuntu 64 bits, mas o recomendando é Red Hat ou Solaris. Faça o download dos seguintes produtos Oracle:

  • Database
  • Weblogic Server
  • Repository Creation Utility
  • BPM Suite e Patch
  • JDeveloper
  • SOA e BPM extensions para JDeveloper
  • WebCenter Suite (Opcional e abordarei em outro post)
  • Universal Content Management (Opcional e abordarei em outro post)

Os links para os produtos patchs e atualizações pode ser encontrado em: http://www.oracle.com/technetwork/middleware/bpm/downloads/index.html

Atualização dia 19/01/2011: Execute os procedimentos descritos aqui, antes de prosseguir com a instalação. Verifique também se seu arquivo /etc/hosts está com o 127.0.0.1 e o IP da máquina apontando para localhost.

Instalação da Base

Garanta que sua base Oracle esteja instalada e em execução. No Blog do Luan tem um passo a passo da instação do Oracle XE no Ubuntu.

Instalação do Weblogic Server (WLS)

Faça o download o Weblogic Server para sua plataforma em: http://www.oracle.com/technetwork/middleware/ias/downloads/wls-main-097127.html

Eu escolhi a versão 10.3.3 com o Coherence e OEPE porque vou utilizar para outros projetos. Sinta-se livre para escolher sem esses recursos. Transforme o arquivo em executável se você estiver no linux: chmod +x wls1033_oepe111150_linux32.bin e execute-o ./wls1033_oepe111150_linux32.bin (ou .exe, caso Windows).

Oracle Installer - WebLogic 10.3.3.0
Oracle Installer - WebLogic 10.3.3.0

Clique em Next. Defina um local que você tenha permissão para sua Middleware Home e clique em Next. Se vocẽ tiver suporte da Oracle informe na próxima tela, senão é só desmarcar e clicar em Next. Escolha a opção Tipical (mais prático), Next. Aceite os caminhos para a instalação, Next e na próxima tela, verifique as informações e clique em Next novamente. Após a instalação, clique em Done.

Instalação do Repository Creation Utility (RCU)

O RCU tem alguns pré-requisitos na base, acesse o SQLPlus como SYSDBA (conn \ as sysdba) e digite os seguintes comandos:

  • alter system set processes=500 scope=spfile;
  • alter system set open_cursors=500 scope=spfile;

Reinicie a base (comando shutdown; e startup;). Faça o download do RCU para sua plataforma. Descompacte o arquivo em uma pasta, acesse rcuHome/bin e execute o arquivo rcu.

Repository Creation Utility - Welcome
Repository Creation Utility - Welcome

Clique em Next e selecione a opção Create e Next novamente. Informe os seguintes dados para uma base Oracle XE local e clique em Next:

Repository Creation Utility - Step 2 of 7 : Database Connection Details
Repository Creation Utility - Step 2 of 7 : Database Connection Details

Ao executar os scripts você receberá a seguinte mensagem de erro:

The database you are connecting is not a supported version. Enter Database with version equal to or higher than 10.2.0.4.0 in 10g or version equal or higher than 11.1.0.7.0 in 11g. Refer to certification matrix for supported DB versions.

Repository Creation Utility
Repository Creation Utility

Isso irá ocorrer se você estiver utilizando a versão XE do Oracle 10g. Pode selecionar Ignore. Clique em OK após a execução. Selecione os componentes que irá utilizar, exceto o Oracle Identity Manager e Oracle Adaptive Access Manager se você estiver utilizando a base XE. E para a instalação ficar mais rápida, não selecione a opção Portal se você não for precisar. Também tive problemas com o AS Common Schemas/Enterprise Scheduler Service no XE, caso for utilizar, será necessário ignorar alguns erros de SQL na criação das tabelas.

Se você não for instalar o BAM, apenas o BPM, as seguintes opções já são suficientes:

  • AS Common Schemas
    • Metadata Services
  • SOA and BPM infra
    • SOA Infra
    • User Messaging Service

Após a verificação dos pré-requisitos, clique em Ok. Informe uma senha para os schemas e clique em Next. Informe um ID para o repositório master e work (valor entre 0 e 50), as senhas, um nome pro repositório work e o tipo D para especificar que é para desenvolvimento, clique em Next. Altere os Tablespaces, caso necessário, e clique em Next e OK para criar as tablespaces. Clique em OK após a criação. Verifique as informações e clique em Create. Aguarde um bom tempo para criação das tabelas, tablespaces e afins. Verifique o Completion Summary e clique em Close. Guarde esse instalador para posterior Drop em tabelas, caso se faça necessário.

Instalação do SOA/BPM Suite + Patch

Se você instalou a base Oracle localmente já deve ter  quase todos pacotes nativos que são pré-requisitos para o SOA Suite. Adicione o sysstat que é um conjunto de ferramentas de monitoramento de desempenho utilizado pelo SOA Suite e o RPM: sudo apt-get install sysstat rpm

Crie também um link simbólico para o RPM: sudo ln -s /usr/bin/rpm /bin/rpm

Para a versão 11.1.1.3.0 é necessário instalar a versão 11.1.1.2.0 e depois o patch para a 11.1.1.3.0. Baixe os dois arquivos e descompacte-os em pastas separadas. Cada arquivo desse gerará algumas pastas: Disk 1, Disk 2, …. Acesse a pasta Disk 1 e execute o arquivo runInstaller (ou setup.exe se for Windows). Caso ele pergunte, especifique o caminho do seu JDK.

Oracle Fusion Middleware 11g SOA Suite Installation - Step 1 of 6
Oracle Fusion Middleware 11g SOA Suite Installation - Step 1 of 6

Execute o seguinte comando no terminal: sudo bash ~/oraInventory/createCentralInventory.sh

Clique em Next. Se você não estiver executando o Oracle Enterprise Linux, Red Hat, Solaris, HP-UX ou Suse, o Status das verificações ficarão em Warning ou Error, pois ele não saberá qual a versão do Sistema Operacional. Clique em Continue. Nessa próxima tela, selecione o caminho de instalação do Middleware Home onde foi instalado o Weblogic Server e especifique um nome pro Home do SOA Suite, clique em Next. Verifique os valores fornecidos e clique em Install. Após a instalação, clique em Next e Finish.

Agora é necessário instalar o patch set descompactado anteriormente. Acesse o Disk1 do patch e execute o runInstaller no Linux e setup.exe no Windows. Especifique a localização da JVM e irá abrir a seguinte tela.

Oracle Fusion Middleware 11g SOA Patchset Installation - Step 1 of 5
Oracle Fusion Middleware 11g SOA Patchset Installation - Step 1 of 5

Clique em Next. Selecione o Middleware Home que foi definido anteriormente, clique em Next e install. Após a instalação, clique em Next e Finish.

Abra o SQLPlus e digite o seguinte comando: alter system set aq_tm_processes=1 scope=both;

Criação do domínio

Execute o seguinte arquivo: <DIR DO SOA SUITE>/Middleware/wlserver_10.3/common/bin/config.sh.

Fusion Middleware Configuration Wizard
Fusion Middleware Configuration Wizard

Clique em Next. Escolhas as opções desejadas.

Fusion Middleware Configuration Wizard-1
Fusion Middleware Configuration Wizard-1

Clique em Next. Dê um nome para o domínio e especifique o local do domínio e aplicações e clique em Next. Especifique o usuário e senha do usuário administrativo e clique em Next. Escolha o jdk e o modo do domínio e clique em Next. Selecione os checkboxes, configure a senha (informada no rcu), serviço e hostname. Importante: não modifique o Schema Owner!

Fusion Middleware Configuration Wizard-2
Fusion Middleware Configuration Wizard-2

Clique em Next. Teste as conexões e clique em Next. Clique em Next novamente e Create para a criação do domain. Após a criação clique em Done.

Fusion Middleware Configuration Wizard-3
Fusion Middleware Configuration Wizard-3

Domínio criado!

Inicie o Node Manager: <DIR DO SOA SUITE>/Middleware/wlserver_10.3/server/bin/startNodeManager.sh. Ele irá criar um arquivo de configuração. Aperte Ctrl+C para parar a execução. Execute o seguinte arquivo: <DIR DO SOA SUITE>/Middleware/oracle_common/common/bin/setNMProps.sh. Ele irá alterar o arquivo <DIR DO SOA SUITE>/Middleware/wlserver_10.3/common/nodemanager/nodemanager.properties.

Uma boa alteração de se fazer é alterar os parâmetros de memória no arquivo startWeblogic.sh ou no setDomainEnv.sh, mas isso fica para um próximo post. Outra recomendação é executar o smart update para correções de possíveis problemas: <DIR DO SOA SUITE>/Middleware/utils/bsu/bsu.sh

Oracle Smart Update
Oracle Smart Update

Executando o domínio

Para facilitar a execução eu criei um script responsável pela inicialização do Node Manager e do Admin Server.

[sourcecode lang=”bash”]
#!/bin/bash

SOA_DOMAIN_HOME=/opt/Oracle11gSOABPM
SOA_DOMAIN_PATH=$SOA_DOMAIN_HOME/Middleware/user_projects/domains/base_domain

NODE_MANAGER=`ps -ef | grep -v grep | grep nodemanager | wc -l`

if [ &quot;0&quot; = &quot;$NODE_MANAGER&quot; ];
then
echo Starting SOA Domain Node Manager…
nohup $SOA_DOMAIN_HOME/Middleware/wlserver_10.3/server/bin/startNodeManager.sh &gt; nodeManager.log &amp;
else
echo SOA Domain Node Manager already running, skipping…
fi
echo Starting Weblogic Admin Server…
nohup $SOA_DOMAIN_PATH/startWebLogic.sh &gt; adminServer.log &amp;
[/sourcecode]

Altere o SOA_DOMAIN_HOME e o SOA_DOMAIN_PATH para os caminhos adequados do seu ambiente. Deixe o arquivo executável: chmod +x startSOADomain.sh

Agora é só executar o script e acompanhar o log de execução nodeManager.log e adminServer.log. Depois acesse o Enterprise Manager: http://localhost:7001/em e inicie o SOA Server.

Farm_base_domain (Oracle Fusion Middleware Farm)
Farm_base_domain (Oracle Fusion Middleware Farm)

Instalação JDeveloper + Extensions

Faça o download do JDeveloper em: http://www.oracle.com/technetwork/developer-tools/jdev/downloads/soft11-098086.html

Prossiga com a instalação padrão. Abra o JDeveloper, no linux fica no caminho: jdeveloper/jdev/bin/jdev.

Acesse Help, Check for Updates, clique em Next, marque o Update Center do Oracle Fusion Middleware e Clique em Next.

Check for Updates - Step 2 of 5
Check for Updates - Step 2 of 5

Siga as instruções descritas no post: http://www.thiagovespa.com.br/blog/2010/09/21/instalacao-do-oracle-bpm-studio/

Há ainda a possibilidade de instalar o WebCenter Suite e o Universal Content Management, mas esses ficam pra uma próxima oportunidade 😉

]]>
https://thiagovespa.com.br/blog/2010/12/23/oracle-soa-e-bpm-suite/feed/ 7
Otimizar memória Oracle DB em Desenvolvimento https://thiagovespa.com.br/blog/2010/12/22/otimizar-memoria-oracle-db-em-desenvolvimento/ https://thiagovespa.com.br/blog/2010/12/22/otimizar-memoria-oracle-db-em-desenvolvimento/#respond Wed, 22 Dec 2010 18:09:29 +0000 http://www.thiagovespa.com.br/blog/?p=853 Continue lendo Otimizar memória Oracle DB em Desenvolvimento→]]> Máquina de desenvolvedor deveria ter memória infinita 🙂 ou próximo disso. Como isso ainda não é possível, utilizamos algumas maneira de otimizar o consumo de memória. Vamos ver como fazer isso para o Oracle 10g XE em ambiente de desenvolvimento. Não faça isso em ambientes de produção! Nós iremos modificar o SGA (System Global Area) do Oracle. Para mais informações sobre o que é SGA, veja nesse site.
  1. Faça backup do seguinte arquivo: $ORACLE_HOME/dbs/spfileXE.ora que é o arquivo que iremos alterar. No meu linux ele está localizado em: /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/dbs/spfileXE.ora
  2. Abra o SQL Plus (Linux: “sqlplus /nolog” | Windows: “sqlplus.exe /nolog“).
  3. Conecte com um usuário SYSDBA: “conn / as sysdba”
  4. Verifique a SGA com o comando: “show sga”. Deve aparecer algo parecido com isso:
    SQL> show sga
    
    Total System Global Area  805306368 bytes
    Fixed Size                  1261444 bytes
    Variable Size             213909628 bytes
    Database Buffers          587202560 bytes
    Redo Buffers                2932736 bytes
  5. Verifique os parametros do SGA com o comando: “show parameter sga“.
    SQL> show parameter sga
    
    NAME                     TYPE     VALUE
    ------------------------------------ ----------- ------------------------------
    lock_sga                 boolean     FALSE
    pre_page_sga             boolean     FALSE
    sga_max_size             big integer 768M
    sga_target               big integer 768M
  6. Altere o sga_target para 130M (creio que seja mais que suficiente para máquina de desenvolvimento): “alter system set SGA_TARGET=130M scope=spfile;“
  7. Altere o sga_max_size para 256M: “alter system set sga_max_size=256M scope=spfile;“
  8. Desligue a base: “shutdown;”
  9. Ligue novamente: “startup;”
  10. Execute o: “show sga“:
    SQL> show sga
    
    Total System Global Area  268435456 bytes
    Fixed Size                  1258392 bytes
    Variable Size             188746856 bytes
    Database Buffers           75497472 bytes
    Redo Buffers                2932736 bytes
  11. Execute o: “show parameter sga“:
    SQL> show parameter sga
    
    NAME                     TYPE     VALUE
    ------------------------------------ ----------- ------------------------------
    lock_sga                 boolean     FALSE
    pre_page_sga             boolean     FALSE
    sga_max_size             big integer 256M
    sga_target               big integer 132M

Como podemos ver, o uso de memória do SGA está bem reduzido. Caso você tenha algum problema similar a esse:

ORA-00604: error occurred at recursive SQL level 1
ORA-04030: out of process memory when trying to allocate 16 bytes (sql area,kglhin: temp)

restaure o backup do arquivo spfileXE.ora e se você esqueceu de fazer o backup utilize o procedimento de reinstalação do oracle-xe.

]]>
https://thiagovespa.com.br/blog/2010/12/22/otimizar-memoria-oracle-db-em-desenvolvimento/feed/ 0
[Des|re]instalação do oracle-xe https://thiagovespa.com.br/blog/2010/12/22/desreinstalacao-do-oracle-xe/ https://thiagovespa.com.br/blog/2010/12/22/desreinstalacao-do-oracle-xe/#comments Wed, 22 Dec 2010 17:41:53 +0000 http://www.thiagovespa.com.br/blog/?p=863 Continue lendo [Des|re]instalação do oracle-xe→]]> Tive um problema no Oracle XE no Ubuntu e não conseguia remover do jeito tradicional: apt-get remove <pacote>. Como o pacote havia sido instalado com o dpkg para remover é só digitar: “dpkg –purge oracle-xe-universal“. O problema é que pode ficar alguns “lixos” espalhados pelo linux. Caso isso ocorra, remover os seguinte arquivos/pastas:
  • /etc/xdg/menus/oraclexe.menu
  • /etc/init.d/oracle-xe
  • /etc/default/oracle-xe
  • Pasta: /usr/lib/oracle
  • (Opcional) Arquivos com *oracle* na pasta /usr/share (a lista de arquivos está disponível dentro do arquivo deb da instalação)

Para reinstalar é necessária a instalação tradicional e digitar o seguinte comando para que ele recrie a base do XE corretamente: “sudo dpkg-reconfigure oracle-xe-universal“. Agora é só seguir as instruções que serão exibidas no console.

]]>
https://thiagovespa.com.br/blog/2010/12/22/desreinstalacao-do-oracle-xe/feed/ 1