Configuração do banco de dados para Oracle

Esta página fornece instruções para configurar o Confluence com o intuito de usar um banco de dados Oracle. O processo de preparação envolve a configuração do seu servidor Oracle e do seu site Confluence.

Passo 1. Verificar os pré-requisitos

Verifique o seguinte antes de começar:

  • Certifique-se de que sua versão do Oracle seja com suporte. Consulte Plataformas com suporte. Se a sua versão do Oracle não for com suporte, atualize para uma versão com suporte antes de instalar o Confluence.
  • Se você estiver avaliando o Confluence e desejar transferir seus dados para um novo banco de dados, consulte primeiro o guia a seguir: Migrando para outro banco de dados.
  • Se você estiver migrando de outro banco de dados, consulte primeiro o guia a seguir: Migrando para outro banco de dados.
  • Nota: Esse banco de dados pode ser instalado apenas por um administrador de banco de dados (DBA) Oracle. A instalação do Oracle é difícil. Se você não for um DBA e não tiver acesso a uma DBA Oracle experiente, recomendamos que escolha um banco de dados alternativo. Para obter uma lista de bancos de dados com suporte, consulte Plataformas com suporte. Se estiver avaliando o Confluence, recomendamos começar com um banco de dados alternativo e pense em migrar para o Oracle apenas após a aprovação do seu DBA. Se você solicitar o suporte técnico da Atlassian devido a dificuldades na instalação do Oracle, partiremos do princípio de que você tem alto nível de conhecimento necessário para uma instalação do Oracle.

Passo 2. Instalar seu servidor Oracle

Se você ainda não tiver um servidor de banco de dados Oracle operacional, baixe o pacote de instalação da página de download do Oracle e siga as instruções da documentação do Oracle.

Em seguida, siga os passos abaixo para implantar o Confluence em um esquema no seu servidor Oracle.

Nota: Seu banco de dados deve ser configurado para usar a mesma codificação de caracteres do Confluence. A codificação recomendada é AL32UTF8 (a equivalente Oracle da Unicode UTF-8). Consulte Configurando a codificação de caracteres do banco de dados.

Passo 3. Configure seu usuário Oracle com privilégios de criação de esquema

Neste passo, você criará um usuário Confluence no Oracle e concederá as devidas funções ao usuário, para que ele possa configurar uma conexão, criar objetos em seu próprio esquema e configurar o esquema.

Para criar o usuário e atribuir seus privilégios:

  1. Acesse a interface de linha de comando para o Oracle usando o comando "sqlplus".

    sqlplus user/password <as sysdba|as sysoper>

    É necessário adicionar a opção "as sysdba" ou "as sysoper" se estiver fazendo login com o usuário "sys". Isso determina que função sys você está usando.
    Ao fazer login, você pode digitar comandos SQL arbitrários.

  2. Crie um usuário Confluence (<user>) no Oracle e conceda as devidas funções apenas para o usuário:

    • A função connect é necessária para configurar uma conexão.
    • A função resource é necessária para permitir que o usuário crie objetos em seu próprio esquema. 
    • Create table, sequence e trigger são necessários para configurar o esquema.

      create user <user> identified by <password> default tablespace <tablespace_name> quota unlimited on <tablespace_name>;
      grant connect to <user>;
      grant resource to <user>;
      grant create table to <user>;
      grant create sequence to <user>;
      grant create trigger to <user>;
      


      Nota:

      • É muito importante que o usuário receba exatamente os mesmos privilégios indicados acima. O Confluence exige apenas esses privilégios; por isso, você deve conceder privilégios específicos ao usuário e não atribuir uma função ao usuário.

      • Não conceda ao usuário a permissão select any table. Essa permissão pode causar problemas com outros esquemas. Consulte o relatório de bugs CONF-3613.

      • Ao criar um usuário, especifique o tablespace para o objeto de tabela conforme mostrado acima.

  3. Adicione uma exibição local all_objects ao esquema do usuário para evitar um conflito que pode ocorrer quando existe uma tabela em outro esquema com o mesmo nome de uma das tabelas do Confluence. Essa é uma solução para o bug CONF-3613:

    create view <user>.all_objects as
    select *
    from sys.all_objects
    where owner = upper('<user>');

Passo 4. Instalar o Confluence

Instale o Confluence se você ainda não tiver feito isso. Consulte o Guia de instalação do Confluence. Pare imediatamente após a instalação, antes de abrir o Assistente de Instalação do Confluence em seu navegador e siga os passos abaixo.

Se você já tiver avançado pelo Assistente de Instalação do Confluence, pare no passo de instalação do banco de dados e siga os passos abaixo. Você poderá reiniciar o assistente de instalação na mesma etapa posteriormente.

Passo 5. Determine o URL do seu JDBC

O driver pequeno do JDBC para Oracle usa três estilos de URL diferentes:

  • Estilo novo:

    New Style
     jdbc:oracle:thin:@//[HOST][:PORT]/SERVICE
  • Estilo antigo:

    Old Style
    jdbc:oracle:thin:@[HOST][:PORT]:SID
  • Estilo "tnsnames":

    tnsnames
    jdbc:oracle:thin:@(DESCRIPTION=
                        (SDU=32768)
                        (enable=broken)
                        (LOAD_BALANCE=yes)
                        (FAILOVER=yes)
                        (ADDRESS=
                          (PROTOCOL=TCP)
                          (HOST=dbserver1.example.com)
                          (PORT=1525))
                        (ADDRESS=
                          (PROTOCOL=TCP)
                          (HOST=dbserver2.example.com)
                          (PORT=1525))
                        (CONNECT_DATA=
                          (SERVICE_NAME=CONFDB)))
    

Nota:

  • O estilo tnsnames é necessário para se conectar a um cluster Oracle RAC. Para facilitar a leitura, dividimos o exemplo acima em várias linhas, mas você deve compactá-lo em uma única linha. Esses valores podem precisar de mais análise do que a documentada aqui; por isso, você deve buscar o auxílio de um DBA experiente.
  • Se você usar o URL em estilo novo, o SERVICE pode ser um SID ou um nome de serviço.
  • Se você usar o URL em estilo antigo, o SERVICE pode ser apenas o SID.

Para determinar o host, porta, nome do serviço e/ou SID, execute o seguinte comando como o usuário que executa o Oracle. (Por padrão, o usuário é "oracle"):

 lsnrctl status

 

Para referência, temos aqui um exemplo de resultado:

SNRCTL for Linux: Version 11.2.0.2.0 - Beta on 29-JUN-2012 15:20:59
Copyright (c) 1991, 2010, Oracle.  All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_XE)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.2.0 - Beta
Start Date                06-JUN-2012 08:36:34
Uptime                    23 days 6 hr. 44 min. 25 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Default Service           XE
Listener Parameter File   /u01/app/oracle/product/11.2.0/xe/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/<HOSTNAME>/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC_FOR_XE)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=<HOSTNAME>)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=<HOSTNAME>)(PORT=8080))(Presentation=HTTP)(Session=RAW))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "XE" has 1 instance(s).
  Instance "XE", status READY, has 1 handler(s) for this service...
Service "XEXDB" has 1 instance(s).
  Instance "XE", status READY, has 1 handler(s) for this service...
The command completed successfully

 

Notas:

  • O host e a porta são determinados pela linha que contém PROTOCOL=tcpwithout Presentation=HTTP.
  • Em Services Summary, cada serviço que tenha uma instância com status READY é um serviço conectável. O nome após Service é um nome de serviço para se conectar ao nome do banco de dados após Instance na linha seguinte.
  • O SID é o nome da instância do banco de dados conforme definida pela variável $ORACLE_SID quando se envia o ambiente Oracle ao shell.

Por exemplo, partindo do princípio de que você está executando o Confluence no mesmo servidor do banco de dados Oracle, com o resultado de status lsnrctl acima, você usaria um dos seguintes URLs:

jdbc:oracle:thin:@//localhost:1521/XE
jdbc:oracle:thin:@localhost:1521:XE

 

O URL pode ser usado tanto em uma conexão JDBC direta ou usando uma fonte de dados Tomcat.

Para obter mais informações sobre URLs Oracle JDBC, consulte as Perguntas frequentes do Oracle JDBC.

Passo 6. Baixe e instale o driver do banco de dados Oracle

Decida se você configurará uma conexão JDBC direta ou uma conexão de fonte de dados para o Oracle, para se adequar ao seu ambiente. Se não tiver certeza do que fazer, escolha JDBC direta.

Para configurar uma conexão JDBC direta:

Se você planeja configurar uma conexão JDBC direta ao Oracle, precisará copiar o driver Oracle JDBC para sua instalação do Confluence.

  1. Baixe o driver de banco de dados com suporte mais recente. Há links para os drivers de banco de dados adequados disponíveis nesta página: Drivers JDBC de banco de dados.
  2. Copie o arquivo JAR do driver para a pasta <Confluence installation>/confluence/WEB-INF/lib em sua nova instalação do Confluence.

Para configurar uma conexão de fonte de dados:

Se você planeja configurar uma conexão de fonte de dados ao Oracle, siga os passos descritos em Configurando uma fonte de dados Oracle no Apache Tomcat.

Passo 7. Configure sua conexão de banco de dados no Assistente de Instalação do Confluence

Inicie o Confluence e vá até o Assistente de Configuração do Confluence em seu navegador. Siga os passos a seguir para definir a nova configuração:

  1. Siga os passos iniciais no Guia de configuração do Confluence.
  2. Quando for pedido a você que escolha uma instalação de avaliação ou de produção, escolha instalação de produção.
  3. Quando for pedido a você que escolha um banco de dados integrado ou externo, selecione Oracle xx na lista suspensa, onde "xx" é a sua versão do Oracle, e escolha Banco de dados externo.
  4. Escolha a conexão JDBC direta ou de fonte de dados de modo a se adequar à escolha que você fez anteriormente ao configurar o driver de banco de dados do Oracle.
    • Para a conexão JDBC: Insira o URL do banco de dados para que corresponda ao URL JDBC que você determinou na seção anterior. Insira o nome de usuário (por exemplo, confluenceuser) e a senha que você escolheu ao adicionar o banco de dados do Confluence ao Oracle.
    • Para uma conexão de fonte de dados: Defina o nome JNDI como java:comp/env/jdbc/confluence.
  5. Espere um pouco, pois o Confluence criará o esquema no Oracle.

Parabéns! Agora o Confluence já está usando seu banco de dados do Oracle para armazenar seus dados.

Solução de problemas

  • Se o Confluence informar que está faltando um arquivo de classe, é possível que você tenha colocado o driver JDBC na pasta errada.
  • Se nenhuma das opções acima descrever o seu problema, crie um chamado de suporte em http://support.atlassian.com e não deixe de incluir seus logs (encontrados em <CONFLUENCE-INSTALLATION>/logs e <CONFLUENCE-HOME>/logs).
Last modified on Aug 7, 2017

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.