quarta-feira, 1 de junho de 2016

Aumentando Data File Oracle / Increasing Oracle Data file

O tamanho de uma tablespace é o tamanho de seu "datafile". Vou comentar sobre duas maneiras de aumentar o nosso banco:

1)Adicionar um "datafile" a uma tablespace

2)Incrementar o tamanho do seu "datafile"

1)Quando você adiciona um novo "datafile" para uma tablespace que já existe, você está incrementando o espaço em disco alocado para a correspondente tablespace.

Ex:

ALTER TABLESPACE usuário ADD DATAFILE 'DATA.ORA'

2)Incrementar o tamanho do seu "datafile"

Ex:

alter database datafile 'C:\ORACLE\ORADATA\DATA_1.DBF' resize 1000m;

Deixando assim o seu "datafile" com 1000 MB

--------------------------------------------------------------------------------------------------------------


The size of a table space is the size of your " datafile " . I will comment on two ways to increase our bank :

1 ) Add a " datafile " to a table space

2 ) Increase the size of your " datafile "

1 ) When you add a new " datafile " for a table space that already exists, you are increasing the disk space allocated for the corresponding tablespace.

Ex:

ALTER TABLESPACE ADD DATAFILE user ' DATA.ORA '

2 ) Increase the size of your " datafile "

Ex:

alter database datafile 'C: \ ORACLE \ oradata \ DATA_1.DBF ' resize 1000m ;

thus leaving his " datafile " with 1000 MB

Conectando a uma instância Remota Banco Oracle/ Connecting in a remote oracle instance

Para realizar tal façanha não tem nada de complicado. Sendo necessário apenas ter instalado em sua máquina:
  1. Banco oracle ou 
  2. Client do Banco oracle. 
De forma que seja possível executar o aplicativo sqlplus. Abaixo demonstro um exemplo a ser seguido:

  • Abra o cmd(Caso Windows) ou terminal (Linux) e digite o seguinte (fazendo as devidas alterações de nome de usuário,host, port e sid conforme sua necessidade)

sqlplus user/password@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=db_hostname)(Port=1521))(CONNECT_DATA=(SID=instance)))

------------------------------------------------------------------------

To accomplish such a feat is nothing complicated. It is necessary to have only installed on your machine :

So you can run sqlplus application. Below we show an example to be followed :
  1. Oracle Database or
  2. Oracle Database Client.
  • Open cmd ( If Windows) or Terminal (Linux ) and type the following (making the appropriate user name changes , host , port, and sid as needed )

sqlplus user/password@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=db_hostname)(Port=1521))(CONNECT_DATA=(SID=instance)))

terça-feira, 31 de maio de 2016

Informatica Powercenter - Comparação com valor Nulo / Comparing with null value

Um ponto que devemos prestar atenção utilizando o Informatica Powercenter é comparando uma coluna com outra. Pois caso alguma das colunas tenha valor nulo a comparação não será feita.

Por Ex:

Tabela 1
Coluna 1(País)               Coluna 2(Capital)
Brasil                               Rio de Janeiro
Estados Unidos               Washington
Austrália                          NULL

Tabela 2
Coluna 3(País)               Coluna 4(Capital)
Brasil                               Brasília
Estados Unidos               Washington
Austrália                          Camberra

O nosso objetivo é atualizar a tabela 1 conforme a tabela 2. Para isso faremos o seguinte tratamento de update:

Coluna 1(País)=Coluna 3(País) AND
Coluna 2(Capital)!=Coluna 4(Capital)

Com esse tratamento o resultado final da tabela 1 fica assim:

Tabela 1
Coluna 1(País)               Coluna 2(Capital)
Brasil                               Brasília
Estados Unidos               Washington
Austrália                          NULL

É alterada a capital do Brasil, mas não a da Austrália. Devido o valor da Coluna 2(Capital) na Tabela 1 ser NULL. Vejo duas possíveis Soluções:


  1. Atualizar valores nulos para "Não Informado". Pois dessa forma será possível fazer a comparação e posteriormente a atualização.
  2. Fazer o tratamento no join:

Coluna 1(País)=Coluna 3(País) AND
Coluna 2(Capital)!=IIF(ISNULL(Coluna 4(Capital)),'Não Informado',Coluna 4(Capital))

          Dessa forma a tabela 1 será atualizada com o valor da tabela 2, mas o seu conteúdo antes da comparação continua como null.

Tenham uma ótima Semana.



sexta-feira, 27 de maio de 2016

Create Database link / Criar link de Banco de Dados - Oracle

Via formulário/ By connect string

CREATE DATABASE LINK nome_do_dblink
CONNECT TO nome_do_usuario_que_ira_se_conectar IDENTIFIED BY senha_do_usuario
USING '(DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = Host_do_usuario_que_irá_se_conectar)(PORT = Porta_do_host))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = Instância_do_banco_de_dados)
    )
  )';

quinta-feira, 8 de janeiro de 2015

ODI-10182: Uncategorized exception during repository access

Bom dia a todos,

Apenas um erro que é resolvido de maneira bem simples, mas que da uma dor de cabeça se não souber a solução. Esse erro geralmente acontece após a migração do repositório do ODI de um banco para outro, pois a conexão do work repositorie fica apontado para o banco antigo. Vamos lá:

ODI-10182: Uncategorized exception during repository access


Você precisará fazer o seguinte:

1- Edite sua conexão para que tenha selecionada apenas a opção "Somente Repositório Mestre";


2- Clique em Ok e Ok novamente para abrir o ODI apenas com o Repositório Mestre configurado. Em seguida vá para a aba de topologia, expanda a opção "Repositórios", em seguida expanda a opção "Repositórios de Trabalho". Clique duas vezes no repositório desejado. Vai dar um erro, afinal você também não estava conseguindo conectar.


3- Feche a janela de erro e clique no botão de conectar conforme imagem abaixo:


4- Selecione a opção JDBC e mude o nome/ip para o banco atual;

5- Faça Logout e modifique a conexão para conectar agora no repositório de trabalho.

Espero ter ajudado.

quarta-feira, 27 de agosto de 2014

Erro ORA-29913, ORA-29400, KUP-04020, ORA-06512 - found record longer than buffer size supported, 524288

Boa tarde a todos,
 
Seguem abaixo os erros que tive enquanto criava uma external table: 
 
ORA-29913: error in executing ODCIEXTTABLEFETCH callout
ORA-29400: data cartridge error
KUP-04020: found record longer than buffer size supported, 524288,
 in C:\PathToFile\FileToLoad.txt_
ORA-06512: at "SYS.ORACLE_LOADER", line 52
 
Código que utilizei:
 
ALTER SESSION SET nls_length_semantics = CHAR
/
CREATE TABLE teste
(
    teste VARCHAR2(2000)     NULL
)
ORGANIZATION EXTERNAL
 ( TYPE ORACLE_LOADER
   DEFAULT DIRECTORY DIRETORIO
   ACCESS PARAMETERS
    ( RECORDS DELIMITED BY NEWLINE
      CHARACTERSET UTF8
      STRING SIZES ARE IN CHARACTERS 
        logfile DIRETORIO:'sdp_tst_ext_%p.log'
        badfile DIRETORIO:'sdp_tst_ext_%p.bad'
        discardfile DIRETORIO:'sdp_tst_ext_%p.dsc'
        fields
    notrim
       (
             teste CHAR(2000)
           )
    )
   LOCATION ('teste_2_HOM.dat')
 )
REJECT LIMIT UNLIMITED
NOPARALLEL
NOROWDEPENDENCIES
/
 
 
Solução
 
Alterar:
RECORDS DELIMITED BY NEWLINE
 
Para:
RECORDS DELIMITED BY '\n'
 
Blog de consulta: 
http://gerardnico.com/wiki/database/oracle/external_table

quinta-feira, 21 de fevereiro de 2013

Iniciando/Parando o "Agent" do ODI - Starting/Stopping Odi Agent

Bom dia a todos,

Após já ter seu "Agent" criado e configurado para iniciar e para-lo basta seguir os seguintes passos:

Ps: Para criar e configurar segue um link da própria Oracle ensinando.

http://www.oracle.com/webfolder/technetwork/tutorials/obe/fmw/odi/odi_11g/setup_odi_agent/setup_odi_agent.htm

Iniciar

vá até a pasta de binários do "Agent" do ODI (no meu caso em um SO Linux):

cd /u01/oracle/middleware/Oracle_ODI1/oracledi/agent/bin

Em seguida iniciar o "Agent"

./agent_nomedoseuagent.sh

Ex.:


./agent_oraclediagent.sh


Assim que iniciar digite

Ctrl + z

Para o programa parar e em seguida digite:

bg

Para ele continuar executando em Background.

Parando "Agent"


vá até a pasta de binários do "Agent" do ODI (no meu caso em um SO Linux):

cd /u01/oracle/middleware/Oracle_ODI1/oracledi/agent/bin

Em seguida interromper o "Agent"

./agentstop.sh -PORT=porta -NAME=nome_do_agent

Ex.:

./agentstop.sh -PORT=11010 -NAME=oraclediagent

Abaixo segue uma imagem exemplificando:

(Imagem 1 - Iniciando/Parando Agent)









Obrigado pela atenção. Quaisquer dúvidas serão bem vindas.

Att.,

Lucas