Archive for March, 2010

ORA-01031: insufficient privileges

Wednesday, March 31st, 2010

Numa consultoria que estava fazendo numa empresa, me topei com o problema aonde tinha instalado um banco de dados num pc com Windows que ninguém conhecia a senha do usuário system.
Eu precisava me conectar como system para criar um novo usuário.
Ao tentar me conectar como SYSDBA o resultado foi o erro ORA-01031: insufficient privileges

Ou seja abri o a janela de shell de windows e executei

c:\>sqlplus /nolog
SLQ>connect / as sysdba;
ORA-01031: insufficient privileges

Isto pode acontecer por vários motivos, um deles é porque não foi especificado que Oracle permita usar autenticação nativa, justamente para não permitir conexões como sysdba sem senha.

Para entrar como sysdba e poder trocar a senha do usuário system, procurei o arquivo sqlnet.ora que estava na pasta %ORACLE_HOME%\network\admin neste caso era C:\oracle\product\10.2.0\db_1\network\admin
e tirei o “#” que comentava a seguinte linha.

SQLNET.AUTHENTICATION_SERVICES= (NTS)

Fechei o shell de windows e abri de novo, repeti os comandos e consegui conectar como sysdba e trocar a senha do usuário system.

Depois novamente comentei a linha usando o caracter “#” para deixar tudo como era antes.

Fabricio De los Santos
Gerência de Projetos – Consultoria GeneXus – Agente K2B Tools

Veja meus blogs em:
www.fabriciodelossantos.com

 

“Produtividade ao 300% com GeneXus e …”



As K2BTools são um conjunto de ferramentas que conjugadas a GeneXus, colaboram fortemente no desenvolvimento de Aplicações Web ou na sua conversão desde ambientes Win ou telas de texto plano. Conte com Fabricio De los Santos, Agente K2B Tools, com 15 anos de experiência internacional em GeneXus, para tirar qualquer dúvida e seja mais PRODUTIVO.

Autonumber em GeneXus com ORACLE

Monday, March 29th, 2010

Quando marcamos um atributo como Autonumber = True em GeneXus com ORACLE, GeneXus cria 2 objetos no schema de Banco de Dados que definimos como usuário.
Estes objetos são:

1 Sequence
1 Trigger

Algo tipo assim:

CREATE SEQUENCE Nome_Atributo
START WITH 1
MAXVALUE 999999999999999999999999999
MINVALUE 1
NOCYCLE
CACHE 20
NOORDER;

CREATE OR REPLACE TRIGGER AN$NNNNome_Atributo BEFORE INSERT ON Tabela_Atributo
FOR EACH ROW
BEGIN SELECT Nome_Atributo.NEXTVAL INTO :new.Nome_Atributo FROM DUAL; END;
/

Onde em AN$NNNNome_Atributo:

NNN = O número interno do Atributo na Base de Conhecimento GeneXus
Nome_Atributo = Nome que usamos para o Atributo em nossa TRN.

e Tabela_Atributo é o nome de Tabela que corresponde a nossa TRN em GeneXus.

A grande debilidade deste script usando a SEQUENCE está no CACHE.

Existem alguns problemas relatados com Sequence em ORACLE fazendo referência ao CACHE utilizado, e a prova está que se olhamos os identificadores internos de nossas tabelas criadas com GeneXus em ORACLE a medida que vamos inserindo registros vemos que estos Identificadores não são sempre uma sequência perfeita. Os números começam a pular, exemplo:

de 101,102,103, passa para 122,123, etc.

Uma alternativa que temos usado para corrigir isto, é alterar o CACHE de oracle para 2, simplesmente em sqlplus, usando o comando:

ALTER SEQUENCE Nome_Atributo CACHE 2;

Com isto evitamos que ORACLE reserve 20 números para esta SEQUENCE e depois por algum problema fique esse buraco em nossos identificadores.

Agora bem, quando temos muitas TRNs e queremos alterar o CACHE de todas, como fazemos?

Bem, o que devemos fazer nesse casso é montar um pequeno script que lendo o dicionário de ORACLE nos informe todas as sequences que temos criadas e anexando o texto que completa o comando nos daria como resultado nosso script.

Então o que fazemos é o seguinte:

Conectado ao sqlplus, com um usuário que tenha acesso ao Dicionário de Dados de Oracle e a vista User_sequences executamos o seguinte comando:

SELECT ‘ALTER SEQUENCE ‘||SEQUENCE_NAME||’ CACHE 2;’ FROM USER_SEQUENCES;

Cuidado em respeitar os espaços para que o texto resultado seja correto.
A saída deste select seria algo assim:

ALTER SEQUENCE Nome_Atributo1 CACHE 2;
ALTER SEQUENCE Nome_Atributo2 CACHE 2;
ALTER SEQUENCE Nome_Atributo3 CACHE 2;
ALTER …

onde Nome_Atributo1, 2, 3 … são os nossos atributos que foram criados como autonumber em todas nossas TRNs GeneXus.

Seu usuário não tem direito ao dicionário de ORACLE?
De permissões momentâneas de DBA ao seu usuário e quando se conecte de novo ao Banco de dados, vai conseguir.

Para dar essas permissões, conectado como System execute GRANT DBA to Usuário_Schema;

Onde Usuário_Schema é o usuário que você configura no GeneXus nas DBMS Options.

Espero este post seja de ajuda a Comunidade GeneXus.

Fabricio De los Santos
Gerência de Projetos – Consultoria GeneXus – Agente K2B Tools

Veja meus blogs em:
www.fabriciodelossantos.com

 

“Produtividade ao 300% com GeneXus e …”



As K2BTools são um conjunto de ferramentas que conjugadas a GeneXus, colaboram fortemente no desenvolvimento de Aplicações Web ou na sua conversão desde ambientes Win ou telas de texto plano. Conte com Fabricio De los Santos, Agente K2B Tools, com 15 anos de experiência internacional em GeneXus, para tirar qualquer dúvida e seja mais PRODUTIVO.

Opções de Hosting para GeneXus

Monday, March 22nd, 2010

Alguns dias atrás, preguntei no forum de GeneXus, por empresas ou sites para Hosting GeneXus.

Particularmente eu tinha usado alguns em USA, Inglaterra, porque geralmente eram mais baratos em relação espaço, transferência de dados com o preço mensal.

A continuação segue o análise que fiz dos que consegui testar ou me recomendaram de alguma forma.
Em ordem alfabética:

www.1and1.com
Não permite conexão remota as bases de dados, por tal motivo não consegui rodar as reorgs.

www.aplus.net
Funcionou muito bem alguns anos atrás em java, mas quando testei agora em .net tive problemas com segurança que em GeneXus exigiam Full Trust e Aplus não permitia isso.

www.godaddy.com
Não consegui fazer funcionar, enviei emails pedindo suporte, a resposta demorava muito, e não conseguia resolver os meus problemas.

www.hostingmontevideo.com
Este fornecedor está em Montevidéu, Uruguai, achei excelente o serviço dele em java, até me deu 1 mês para teste de graça com um domínio predefinido por ele, achei muito rápido e fácil, mas meu interesse era em .Net e quando habilitou para testar o .Net já estava avançado com a Locaweb e o Painel de controle não era tão simples assim como o de java, por isso não cheguei a testar, mas vale a pena testar com ele antes de definir alguma coisa. O suporte deles é muito mais rápido em responder emails que qualquer outro hosting dos testados.

www.ig.com.br
Alguns anos atrás usei, mas o suporte não me convenceu muito e por isso acabei abandonando. Entrei para ver os preços e foi difícil até saber se a empresa continuava fazendo o serviço, porque o site virou site de noticias.

www.locaweb.com
Foi bem recomendado por pessoas aqui do Brasil, achei os preços em conta e o Painel de Controle simples de usar.
Foi a que escolhi porque reunia todos os requisitos que estava considerando, painel simples, suporte em português, preço razoável e recomendado aqui no Brasil por colegas reconhecidos usando GeneXus. Tem um programa tipo fidelidade, se você menciona o usuário que o recomendou ele ganha alguns beneficios. Se gostam deste hosting talvez queiram me indicar como quem recomendou 😉 meu usuário é fabriciodls. Obrigado! Também está em outros países o que permite suporte em seu idioma.

www.netuy.net
Me recomendaram este hosting, que usavam com java e mysql, não testei, mas considero também outra opção viável.

www.ribeirotech.com.br
Me comentaram que tem usado o serviço desta empresa, mas não testei, mas é uma outra alternativa viável, é aqui no Brasil.

www.specialhosting.net
Empresa especializada em Hosting GeneXus, mas preço elevado para as minhas necessidades atuais.

www.vrban.com.br
Quando fiz a pergunta no forum o Bruno, já me mandou as informações do meu usuário criado para testar, isso é iniciativa!
O hosting dele era java, e eu precisava .net, não deu para testar, mas considero uma opção viável.

Se vocês acharem outro hosting para GeneXus, por favor comentar para acrescentar a lista.
Muito obrigado!

Fabricio De los Santos
Gerência de Projetos – Consultoria GeneXus – Agente K2B Tools

Veja meus blogs em:
www.fabriciodelossantos.com

 

“Produtividade ao 300% com GeneXus e …”



As K2BTools são um conjunto de ferramentas que conjugadas a GeneXus, colaboram fortemente no desenvolvimento de Aplicações Web ou na sua conversão desde ambientes Win ou telas de texto plano. Conte com Fabricio De los Santos, Agente K2B Tools, com 15 anos de experiência internacional em GeneXus, para tirar qualquer dúvida e seja mais PRODUTIVO.

Profissionais GeneXus Brasil

Thursday, March 18th, 2010

Profissionais GeneXus Brasil

Estou muito contente com o avanço do Grupo de Profissionais GeneXus Brasil no linkedin.

O Grupo já aparece em 3° lugar em quantidade de participantes, quando procuramos um Grupo GeneXus, e considerando que o 1° é da Comunidade inteira e o 2° é do último Evento de GeneXus, acho que esta muito bem, mas devemos seguir crescendo!

Já existe um post de job lá, e a idéia é sejam postados muitos mais, vamos colocar algumas dicas referente ao laboral, já colocamos o resultado de 1 enquete feita algum tempo atrás.

Participe, colabore, é um beneficio para todos, profissionais e empresas.

Siga o link

http://www.linkedin.com/groups?gid=2844625&trk=anetsrch_name&goback=.gdr_1268179898577_3

Obrigado

Fabricio De los Santos

www.fabriciodelossantos.com

Profissionais GeneXus Brasil

Wednesday, March 10th, 2010

Profissionais GeneXus Brasil

Foi criado o Grupo de Profissionais GeneXus Brasil no linkedin.

O objetivo do Grupo de Profissionais GeneXus no Brasil é comentar e discutir idéias relacionadas a GeneXus.
Carreira, Perspetiva Salarial, Tipo de Contratação, Distintos Beneficios, Cursos, Bolsas, Estágios, Grupos de Usuários, Futuro de GeneXus no Brasil e no mundo, e todo tipo de informação que acreditemos seja em beneficio do Profissional GeneXus no Brasil.

Segue o link, para quem tenha interesse em participar.

http://www.linkedin.com/groups?gid=2844625&trk=anetsrch_name&goback=.gdr_1268179898577_3

Obrigado

Fabricio De los Santos

www.fabriciodelossantos.com