Eu estarei por lá, principalmente no dia 11, onde teremos uma trilha de TV Digital. Compareça!
]]>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.

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.

Clique em Generate Script. Escolha o caminho que queira salvar e clique em Apply. Se quiser, execute o script para corrigir as diferenças.
]]>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:

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.
]]>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]
[sourcecode language=”sql”]
select *
from v$version;
[/sourcecode]
ou
[sourcecode language=”sql”]
select *
from product_component_version;
[/sourcecode]
[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]
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.

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:
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.

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.
Altere os nomes dos nós para ficarem mais amigáveis.
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.
]]>
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.

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.

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.

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.

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.

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.

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.

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:
Clique em Next.

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;quot;persistence-config&amp;quot;
MDS-01370: MetadataStore configuration for metadata-store-usage &amp;quot;soa-infra-store&amp;quot; is invalid.
ORA-04063: package body &amp;quot;DEV_MDS.MDS_INTERNAL_SHREDDED&amp;quot; has errors
ORA-06508: PL/SQL: could not find program unit being called: &amp;quot;DEV_MDS.MDS_INTERNAL_SHREDDED&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.

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! 
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:
Eu estou instalando em um Ubuntu 64 bits, mas o recomendando é Red Hat ou Solaris. Faça o download dos seguintes produtos Oracle:
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.
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.
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).

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.
O RCU tem alguns pré-requisitos na base, acesse o SQLPlus como SYSDBA (conn \ as sysdba) e digite os seguintes comandos:
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.

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:

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.
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:
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.
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.

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.

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;
Execute o seguinte arquivo: <DIR DO SOA SUITE>/Middleware/wlserver_10.3/common/bin/config.sh.

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

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!

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.

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
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 [ "0" = "$NODE_MANAGER" ];
then
echo Starting SOA Domain Node Manager…
nohup $SOA_DOMAIN_HOME/Middleware/wlserver_10.3/server/bin/startNodeManager.sh > nodeManager.log &
else
echo SOA Domain Node Manager already running, skipping…
fi
echo Starting Weblogic Admin Server…
nohup $SOA_DOMAIN_PATH/startWebLogic.sh > adminServer.log &
[/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.

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.
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 
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.
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
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
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
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.
]]>