[oracle_br] Segurança
Tenho a seguinte situação: Oracle 10gR2, e preciso implementar segurança em determinadas colunas de algumas tabelas da seguinte maneira: Um usuário que cadastrou um registro na tabela A somente ele e mais ninguém poderá ver o registro, inclusive num select com permissões de DBA eu não posso ver o conteúdo do registro, ele precisa vir criptografado. Alguém tem alguma idéia de qual caminho seguir? Abraço a todos e desde já agradeço a ajuda Ricardo Lyrio [As partes desta mensagem que não continham texto foram removidas] -- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ --__ Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine __ O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o link do mesmo para evitar trafego(pedidos) desnecessário. Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
[oracle_br] Dificuldades no sql*plus worksheet...
Primeiramente um bom dia a todos. Estou tentando aprender a como usar o oracle, estudando em casa, passo o dia todo estudando... como sou de família humilde que se encontra distante de mim, e no momento encontro em situação desagradável, estando desempregado, não tenho condições de pagar um curso ou algo parecido, que no mercado está com preços elevadíssimos, fora de meu alcance... O chiappa a semanas atrás disse que deveria estudar algumas coisas básicas do oracle... Legal peguei alguns livros e continuei meu estudo, como o estudo é individual e não tenho pessoas próximas de mim, continuo com dificuldades em operar o oracle... E neste momento gostaria de contar com vcs para exclarecerem minhas dúvidas... Tenho como SO o windows xp e instalado o oracle 9i versão 9.0.1.1.1, gostaria de saber o seguinte: Primeiramente gostaria de mostrar minha dificuldade... Estou tentando criar uma tabela conectado com o sql*plus worksheet, digitando assim: create table intrutores (cod_instrutor number(3) constraint instrutores_pk primary key, nome_instrutor varchar2(30) constraint instrutores_nome_nu not null, tel_instrutor varchar2(10), admissao date default sysdate); Apareceu que foi criada a tabela correto. Mas quando do o comando describe instrutores aparece um erro... ERROR: ORA-04043: o objeto instrutores não existe Bom na minha cabeça consta então que não deu certo criar essa tabela, e digito novamente a comando create table... e aparece novamente outro erro... ERRO na linha 1: ORA-00955: nome já está sendo usado por um objeto existente isso está sendo minha dificuldade... O que estou fazendo de errado que não aparece o comando describe instrutores? Deveria estar usando o sql*plus no lugar do sql*plus worksheet? Gostaria de saber também se posso contar com vcs para esclarecerem minhas dúvidas, já que são dúvidas de principiante e tenho certeza que tem vários colegas de grupo que se encontram em um elevado nível de utilização do oracle? Aqui segue minha dificuldade no momento e gostaria de agradecelos pela pasciência comigo... abraços... -- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ --__ Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine __ O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o link do mesmo para evitar trafego(pedidos) desnecessário. Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: RES: [oracle_br] Dificuldades no sql*plus worksheet...
Obrigado pela observação realmente foi uma falha que não reparei... agradeço... --- Em oracle_br@yahoogrupos.com.br, Mauricio Roberto Maciel [EMAIL PROTECTED] escreveu Voce digitou intrutores, ao invés de instrutores -Mensagem original- De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] nome de paulofalves Enviada em: terça-feira, 28 de março de 2006 09:41 Para: oracle_br@yahoogrupos.com.br Assunto: [oracle_br] Dificuldades no sql*plus worksheet... Primeiramente um bom dia a todos. Estou tentando aprender a como usar o oracle, estudando em casa, passo o dia todo estudando... como sou de família humilde que se encontra distante de mim, e no momento encontro em situação desagradável, estando desempregado, não tenho condições de pagar um curso ou algo parecido, que no mercado está com preços elevadíssimos, fora de meu alcance... O chiappa a semanas atrás disse que deveria estudar algumas coisas básicas do oracle... Legal peguei alguns livros e continuei meu estudo, como o estudo é individual e não tenho pessoas próximas de mim, continuo com dificuldades em operar o oracle... E neste momento gostaria de contar com vcs para exclarecerem minhas dúvidas... Tenho como SO o windows xp e instalado o oracle 9i versão 9.0.1.1.1, gostaria de saber o seguinte: Primeiramente gostaria de mostrar minha dificuldade... Estou tentando criar uma tabela conectado com o sql*plus worksheet, digitando assim: create table intrutores (cod_instrutor number(3) constraint instrutores_pk primary key, nome_instrutor varchar2(30) constraint instrutores_nome_nu not null, tel_instrutor varchar2(10), admissao date default sysdate); Apareceu que foi criada a tabela correto. Mas quando do o comando describe instrutores aparece um erro... ERROR: ORA-04043: o objeto instrutores não existe Bom na minha cabeça consta então que não deu certo criar essa tabela, e digito novamente a comando create table... e aparece novamente outro erro... ERRO na linha 1: ORA-00955: nome já está sendo usado por um objeto existente isso está sendo minha dificuldade... O que estou fazendo de errado que não aparece o comando describe instrutores? Deveria estar usando o sql*plus no lugar do sql*plus worksheet? Gostaria de saber também se posso contar com vcs para esclarecerem minhas dúvidas, já que são dúvidas de principiante e tenho certeza que tem vários colegas de grupo que se encontram em um elevado nível de utilização do oracle? Aqui segue minha dificuldade no momento e gostaria de agradecelos pela pasciência comigo... abraços... --- - -- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ --- - -- __ Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine __ O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o link do mesmo para evitar trafego(pedidos) desnecessário. Links do Yahoo! Grupos -- No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.1.385 / Virus Database: 268.3.1/291 - Release Date: 24/03/2006 -- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ --__ Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine __ O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o link do mesmo para evitar trafego(pedidos) desnecessário. Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
[oracle_br] problemas com a função alter table...
Bom dia a todos, como estou estudando, aprendendo como utilizar o oracle, estou querendo aprender pelo menos os principais comandos do oracle... Bom criei algumas tabelas acompanhado o livro... Usando o alter table incluí a coluna endereco dessa maneira: alter table instrutores add endereco varchar2(40); Nessa função tudo bem... depois quis alterar a coluna endereco: alter table endereco modify endereco varchar2(60); Ocorreu tudo certo digitei desc instrutores(aproveitei estar na função alter table e já corrigi a falha na digitação, rsrsrsrs...)e apareceu que tava realmente modificado... mas na terceira fução gostaria de eliminar essa coluna, deu um erro: alter table instrutores drop column endereco; e apareceu o seguinte erro: alter table instrutores drop column endereco * ERRO na linha 1: ORA-12988: não é possível eliminar coluna de tabela pertencente ao SYS Gosria de saber o motivo do erro (acho que desta vez digitei certo...rsrsrs...), algo que estou fazendo errado? agradeço de coração o tempo que dedicaram a mim... abraços... -- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ --__ Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine __ O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o link do mesmo para evitar trafego(pedidos) desnecessário. Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
[oracle_br] Erro???
Pessoal, Fiz o seguinte teste de backup: SHUTDOWN IMMEDIATE STARTUP MOUNT BACKUP DATABASE FORMAT 'D:\ORACLE - BKP\DATABASE_%U.DBF' PLUS ARCHIVELOG TAG=DATAFILE; BACKUP CURRENT CONTROLFILE FORMAT 'D:\ORACLE - BKP\CONTROLFILES_%U.CTL' TAG=CONTROLFILE; BACKUP TABLESPACE SYSTEM, UNDOTBS1, DRSYS, TOOLS, USERS, XDB, ESTUDO FORMAT 'D:\ORACLE - BKP\TABLESPACES_%U.DBF' TAG=TABLESPACE; BACKUP SPFILE FORMAT 'D:\ORACLE - BKP\SPFILE_%U.DBF' TAG=SPFILE; ALTER DATABASE OPEN; Quando vou restaurar os arquivos, aparece o seguinte erro: - CONTROLFILES RMAN RESTORE CONTROLFILE FROM TAG='CONTROLFILE'; Iniciando restore em 28/03/06 canal alocado: ORA_DISK_1 canal ORA_DISK_1: sid=11 devtype=DISK RMAN-00571: === RMAN-00569: === ERROR MESSAGE STACK FOLLOWS === RMAN-00571: === RMAN-03002: failure of restore command at 03/28/2006 12:44:59 RMAN-06563: controlfile or SPFILE must be restored using FROM AUTOBACKUP - DATABASE RMAN RESTORE DATABASE FROM TAG='DATABASE'; Iniciando restore em 28/03/06 canal alocado: ORA_DISK_1 canal ORA_DISK_1: sid=11 devtype=DISK RMAN-00571: === RMAN-00569: === ERROR MESSAGE STACK FOLLOWS === RMAN-00571: === RMAN-03002: failure of restore command at 03/28/2006 12:46:36 RMAN-06026: some targets not found - aborting restore RMAN-06023: no backup or copy of datafile 8 found to restore RMAN-06023: no backup or copy of datafile 7 found to restore RMAN-06023: no backup or copy of datafile 6 found to restore RMAN-06023: no backup or copy of datafile 5 found to restore RMAN-06023: no backup or copy of datafile 4 found to restore RMAN-06023: no backup or copy of datafile 3 found to restore RMAN-06023: no backup or copy of datafile 2 found to restore RMAN-06023: no backup or copy of datafile 1 found to restore O q pode estar acontecendo Obrigado!! [As partes desta mensagem que não continham texto foram removidas] -- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ --__ Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine __ O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o link do mesmo para evitar trafego(pedidos) desnecessário. Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
[oracle_br] Cursor
Caros amigos... Montei o seguinte cursor : begin vCdReduzido := 'x'; for rx in cur_class loop if vCdReduzido rx.reduzido then vCdReduzido := rx.reduzido; vLetra := 65; end if; dbms_output.put_line('Class.Fiscal: '||rx.class_limpa||' Reduz: '||rx.reduzido|| ' ' || chr(vLetra)); vLetra := vLetra + 1; end loop; Ele me mostra o seguinte resultado : Class.Fiscal: 30031012 Reduz: 3003 A Class.Fiscal: 30032011 Reduz: 3003 B Class.Fiscal: 30032019 Reduz: 3003 C Class.Fiscal: 30032021 Reduz: 3003 D Class.Fiscal: 30032029 Reduz: 3003 E... ( e assim por diante )... O problema é que tenho muitos registros 3003, e chega em um ponto que ele começa a repetir as letras, por exemplo, as letras em minúsculo e eu preciso de cada um com uma letra diferente de identificação. E um detalha, com apenas 5 dígitos.. Poderiam me dar uma ajuda? Obrigado André -- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ --__ Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine __ O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o link do mesmo para evitar trafego(pedidos) desnecessário. Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: [oracle_br] Configuração Banco Desenvolv imento
Bom dia Diones. Tente o seguinte. Troque os seguintes parâmetros do seu initsid.ora db_block_buffers = 38400(150 Mb) shared_pool_size = 73400320 (70 Mb) Large_pool_size = 20971520 (20 Mb) java_pool_size = Se você não utilizar aplicações java você pode excluir este param. Retire este parâmetro - db_block_lru_latches = 4 Desabilite os serviços do Windows como spool de impressão e outros que você não utilize. Retire ícones da área de trabalho do desktop na resolução de tela coloque o valor que você realmente precise (sem levar em conta a estética). Faça isso e de um boot na máquina... Abs, Luis Figueiredo. --- Diones Kleber Machado da Cruz [EMAIL PROTECTED] escreveu: - Bom dia Pessoal, Estou com um problema no meu banco de desenvolvimento. A pouco tempo troquei meu banco de desenvolvimento de uma máquina muito ruim para uma menos ruim. A máquina hoje: AMD ATHLON XP 2600+ 490 MB Ram disponível (de 512Mb) Windows 2000 SP4 Oracle 8i (1.7.4) O problema: É o seguinte, quando efetuamos algum transacao DML o banco trava, e ninguém mais consegue executar nem Select. O INIT.ORA esta assim: db_block_buffers = 51200 db_block_lru_latches = 4 db_block_size = 4096 db_files = 1024 db_file_multiblock_read_count = 8 dml_locks = 200 distributed_transactions = 10 log_buffer = 163840 log_checkpoints_to_alert = true log_checkpoint_interval = 5120 log_checkpoint_timeout = 0 shared_pool_size = 20480 java_pool_size = 10485760 large_pool_size = 41943040 sort_area_size = 524288 sort_area_retained_size = 524288 max_dump_file_size = 10240 Alguma sugestão para solucionar o problema? Att. Diones Kleber Cruz -- DBA Oracle 9i Desenv de Sistemas Senior [EMAIL PROTECTED] [EMAIL PROTECTED] -- [As partes desta mensagem que não continham texto foram removidas] -- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ --__ Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine __ O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o link do mesmo para evitar trafego(pedidos) desnecessário. Yahoo! Grupos, um serviço oferecido por:PUBLICIDADE - Links do Yahoo! Grupos Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!. __ Faça ligações para outros computadores com o novo Yahoo! Messenger http://br.beta.messenger.yahoo.com/ -- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ --__ Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine __ O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o link do mesmo para evitar trafego(pedidos) desnecessário. Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
[oracle_br] Re: Dúvida com tamanho de campos
Seguinte : realmente se vc deixa um campo como NUMBER e outro como NUMBER(3), e o usuário informa (digamos) o valor 100 para ambos, seja como NUMBER seja como NUMBER(3) dois bytes serão gastos (o bd guarda compactados valores numéricos) : [EMAIL PROTECTED]:SQLcreate table TTT (c1 number, c2 number(3)); Tabela criada. [EMAIL PROTECTED]:SQLinsert into TTT values(100, 100); 1 linha criada. [EMAIL PROTECTED]:SQLselect c1, length(c1), vsize(c1), c2, length(c2), vsize (c2) from TTT; C1 LENGTH(C1) VSIZE(C1) C2 LENGTH(C2) VSIZE(C2) --- -- - --- -- - 100 3 2 100 3 2 Acontece porém que tamanho e precisão são SEGURANÇAS pros seus dados, um campo NUMBER sem definição VAI permitir que o usuário informe QUALQUER valor até o máximo de 38 dígitos (que logicamente VAI consumir um espaço correspondente), já o NUMBER(3) vai REJEITAR entradas maiores : [EMAIL PROTECTED]:SQLinsert into TTT values(1234567890, 98765432); insert into TTT values(1234567890, 98765432) * ERRO na linha 1: ORA-01438: valor maior que a precisão especificada usado para esta coluna Quanto à outros tipos numéricos não-Oracle (como FLOAT, INTEGER, etc) eles serão tratados como NUMBER com as máscaras apropriadas, assim um INTEGER padrão ANSI nada mais é do que um NUMBER(38). No manual Oracle SQL Reference capítulo de Datatypes, isso é documentado em detalhes. Quanto à VARCHAR2, vc necessariamente tem que informar o tamanho máximo : [EMAIL PROTECTED]:SQLcreate table TT (c1 varchar2); create table TT (c1 varchar2) * ERRO na linha 1: ORA-00906: parêntese esquerdo ausente [EMAIL PROTECTED]:SQLcreate table TT (c1 varchar2(10)); Tabela criada. e como ele é variável, a qquer momento ele pode usar até esse tamanho máximo informado, se a informação a armazenar é menor, apenas os bytes usados serão usados : [EMAIL PROTECTED]:SQLinsert into TT values('ABCDE'); 1 linha criada. [EMAIL PROTECTED]:SQLinsert into TT values('ABCDEFGHIJ'); 1 linha criada. [EMAIL PROTECTED]:SQLselect c1, length(c1), vsize(c1) from TT; C1 LENGTH(C1) VSIZE(C1) -- -- -- ABCDE 5 5 ABCDEFGHIJ 10 10 == No caso de caracteres, ainda há a questão de que vc PODE, opcionalmente, configurar o banco para aceitar strings em línguas não- ocidentais com mais de 255 caracteres (como chinês, árabe, etc), nessas línguas cada caracter ocupa 2 bytes, num caso desses os 10 caracteres do exemplo acima ocupariam 20 bytes, no mesmo manual isso é explicado também. []s Chiappa --- Em oracle_br@yahoogrupos.com.br, Aldo Moreira Beleza [EMAIL PROTECTED] escreveu Bom dia pessoal , Alguém poderia me tirar uma dúvida com relação ao tamanhos de campos com tipo numerico , um amigo me informou que não havia diferença em declarar por exemplo um number(3) pois internamente o Oralce armazenaria com o tamanho default dele, isto procede? Se for verdade como o oracle trata outros tipos, como varchar e float? Agradeço desde já, Aldo Beleza. [As partes desta mensagem que não continham texto foram removidas] -- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ --__ Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine __ O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o link do mesmo para evitar trafego(pedidos) desnecessário. Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
[oracle_br] Re: Segurança
Bom, não há uma receita de bolo exata e precisa pra isso, mas de modo geral : necessidade 1, criptografar : vc vai precisar escrever uma pequena rotina pra isso, tradicionalmente isso era feito com a package DBMS_OBFUSCATION_TOOLKIT, no 10g foi introduzida a DBMS_CRYPTO, que é uma melhoria dela. No manual 10g de Supplied Packages vc acha as sintaxes e alguns exemplos de ambas, em http://www.dbasupport.com/oracle/ora10g/10g_PLSQL01.shtml , http://www.dbasupport.com/oracle/ora10g/DBMS_OBFUSCATION_TOOLKIT.shtml e http://asktom.oracle.com (use a opção Search procurando por DBMS_CRYPTO) algumas dicas. necessidade 2, restringir acesso de acordo com usuário : primeira coisa, o nome do usuário que fez a inserção ** NÃO ** fica automaticamente guardado em lugar algum, vc VAI ter que guardar isso pra poder usar depois na hora de SELECTs - o mais comum seria vc ter uma coluna NOME_USUARIO nas tabelas, provavelmente preenchida automaticamente por um trigger. Uma vez vc já tendo a informação de quem inseriu (e portanto pode enxergar) cada linha, pra que cada usuário só veja os seus registros, OU vc só dá pros usuários acesso a uma VIEW que filtra isso, tipo CREATE VIEW V_TABELA as (select * from tabela where NOME_USUARIO=user; , OU então vc usa o recurso do FGAC (Fine Grained Access Control), também conhecido como VPD (Virtual Private Database), com esse recurso automaticamente o banco vai interceptar cada SQL que vc indicar e adicionar uma condição de WHERE , no caso a condição de where NOME_USUARIO=user , o que dá o resultado desejado também. []s Chiappa --- Em oracle_br@yahoogrupos.com.br, Ricardo Lyrio [EMAIL PROTECTED] escreveu Tenho a seguinte situação: Oracle 10gR2, e preciso implementar segurança em determinadas colunas de algumas tabelas da seguinte maneira: Um usuário que cadastrou um registro na tabela A somente ele e mais ninguém poderá ver o registro, inclusive num select com permissões de DBA eu não posso ver o conteúdo do registro, ele precisa vir criptografado. Alguém tem alguma idéia de qual caminho seguir? Abraço a todos e desde já agradeço a ajuda Ricardo Lyrio [As partes desta mensagem que não continham texto foram removidas] -- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ --__ Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine __ O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o link do mesmo para evitar trafego(pedidos) desnecessário. Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
[oracle_br] Configuração Minima para o Oracle Databas e 10g Express Edition
Qual a configuração minima para uma maquina rodar o Oracle Database 10g Express Edition att, Welvis Douglas ___ Yahoo! doce lar. Faça do Yahoo! sua homepage. http://br.yahoo.com/homepageset.html -- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ --__ Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine __ O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o link do mesmo para evitar trafego(pedidos) desnecessário. Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
[oracle_br] Re: Configuração Banco Desenvolvimento
Eu complementaria : além de alterar params (que eu vou recomendar alguns, também), eu diria pra antes de tudo vc verificar as ESTRUTURAS desse banco, banco desenvolvimento é por demais comum o sujeito deixar tudo à lá vonté , aí desenvolvedores fazem e acontecem, mesmo... E sendo a máquina ruim, tudo fica inda pior... Assim, checar por : - versão de banco, os últimos releases do 8i (ie, 8.1.7.4.x) corrigiram DIVERSOS bugs importantes, inclusive de performance, recomendo FORTEMENTE que vc vá pra esse release se já não estiver - tamanho de bloco, 4 Kb muitas vezes é pequeno demais, eu diria pra vc ir pra 8 Kb - NINGUÉM afora o SYS usando a tablespace SYSTEM para criar nada , nem ter como default tablespace SYSTEM - ter-se apenas tablespaces LMT nesse banco, de preferência de acordo com a política mostrada em http://www.oracle.com/technology/deploy/availability/pdf/defrag.pdf - no possível, tentar evitar contenção, espalhando os objetos por várias tablespaces, e as tablespaces por vários discos - ter-se a máquina otimizada em nível de hardware e soft : por exemplo, se discos IDE, faz uma diferença ENORME vc habilitar acesso ATA-full como mostrado em http://www.clubedohardware.com.br/artigos/1055, e (como dito pelo outro colega) a nível de windows vc desabilitar TODAS as animações, active directory, ter a resolução mínima, diminuir ao máximo enfim a utilização de hw pelo win... - ter uma tablespace temporário que use TEMPFILES, e nunca datafiles, e ** TODOS ** os usuários, inclusive o SYS, necessariamente TEM que ter essa tablespace como default tamporary - configurar e usar CBO, já que é desenvolvimento novo - isso implica em alteração dos params optimizer, em estats frequentes... - tenha log files em boa quantidade (ao menos uns 6) e em tamanho generoso (ao menos algumas dezenas de Mbs cada um) - a tablespace de rollback TEM que ser LMT, uniform size de extent (1Mb é razoável) e ao menos uns 100 Mb de tamanho e uns 20 extents iniciais : isso, junto com os log files, MUITO provavelmente deve te ajudar nos DMLs - checar de que jeito foram criadas as tabelas, se necessário especificar pctfree/pctused/initrans/maxtrans nas mais usadas - setar um buffer_pool_keep e um buffer_pool_recycle se houver tabelas que se beneficiem deles Quanto aos params, eu sugiro (assumindo banco de 8k de blocksize) : db_block_buffers = 6400 # isso dá 50 Mb de cache de dados, pruma máquina de desenvolvimento, onde DIFICILMENTE a mesma consulta roda várias e várias vezes, tá de bom tamanho db_files = 1024 # DIMINUA isso prum número mais real, mais próximo da qtdade real de datafiles, isso interfere em alguns cálculos de performance no 8i db_file_multiblock_read_count = 8 # 8 blocos de 4kb (que era o seu caso) é ridículo, isso representa 32 Kb de I/O por vez, até um disco IDE vagabundão é capaz de mais que isso, teste via trace qual é o limite, mas normalmente 1 Mb é o limite real em hardware comum log_buffer = 163840 # suba isso, normalmente algo por volta de 512 Kb a 1 Mb vai melhor log_checkpoints_to_alert = true # se vc não precisa dos warnings, bote FALSE shared_pool_size = 20480 # 200 Mb de shared pool, quase metade da RAM aproveitável da máquina Ridículo, uns 64 Mb já tão de bom tamanho, SE vc começar a receber erros de falta de shared em picos de uso aumente um pouquinho mais, mas não muito java_pool_size = 10485760 # não zere java_pool, alguns utilitários do banco usam ele, deixe esses 10 Mb mesmo, ou um pouquinho mais large_pool_size = 41943040 # vc USA MTS ou paralelismo, pra que tenha large pool habilitado ?? sort_area_size = 524288 # 500 kb de sort ??? Negativo, isso não dá pra nada, ao menos alguns Mbs aqui... Vc não mostra, mas sort_area_size max_dump_file_size = 10240 # isso não interfere em performance, mas recomendo vc deixar um valor bem grande pra poder fazer os traces mais facilmente... vc não mostra, mas cito como importante também se ter no 8i : hash_join_enabled como TRUE, compatible com o valor correto do banco, e de preferência ter timed_statistics como TRUE, pra que vc possa fazer análises mais facilmente. == Não é garantido que tudo isso resolva (resolver com garantia normalmente é algo que só se pode fazer localmente), mas deve SIM ajudar e muito. []s Chiappa --- Em oracle_br@yahoogrupos.com.br, Luis Claudio Arruda Figueiredo [EMAIL PROTECTED] escreveu Bom dia Diones. Tente o seguinte. Troque os seguintes parâmetros do seu initsid.ora db_block_buffers = 38400(150 Mb) shared_pool_size = 73400320 (70 Mb) Large_pool_size = 20971520 (20 Mb) java_pool_size = Se você não utilizar aplicações java você pode excluir este param. Retire este parâmetro - db_block_lru_latches = 4 Desabilite os serviços do Windows como spool de impressão e outros que você não utilize. Retire ícones da área de trabalho do desktop na resolução de tela coloque o valor que você realmente precise (sem levar em conta
[oracle_br] Re: Configuração Minima para o Oracle Database 10g Express Edition
Seguinte, no mesmo site onde vc baixa o software, vc tem links pros manuais (http://www.oracle.com/pls/xe102/portal.all_books ), inclusive o Guia de Instalação , que lista as exigências de instalação , além da RAM (256 Mb) exige-se : Operating system One of the following 32-bit Windows operating systems: Windows 2000 Service Pack 4 or later Windows Server 2003 Windows XP Professional Service Pack 1 or later 2.2 Permissions Requirement for Installing Oracle Database XE You must be part of the Administrators group on Windows to install Oracle Database XE. If you are logged in as a domain user, ensure sure that you are connected to the network before you install Oracle Database XE Server. 2.3 Web Browser Requirements For both the server and client components of Oracle Database XE, ensure that the Web browsers you plan to use support JavaScript and the HTML 4.0 and CSS 1.0 standards. Ensure also that cookies are enabled. The following browsers meet this requirement: Microsoft Internet Explorer 6.0 or later Netscape Navigator 7.2 or later Mozilla 1.7 or later Firefox 1.0 or later Oracle Application Express does not support the Corel SVG Viewer. == A versão de SO é importante, SE vc não tem um desses SOs (por exemplo, é XP Home ao invés de Professional), ou não tem o service pack citado instalado, absolutamente NÃO rola, mesmo de resto, processador em princípio qquer um, e espaço em disco livre (afora o que vc vá usar pros seus dados) ele não especifica afaik, mas uns 3 ou 4 Gb, digamos (nem é tudo isso, mas vamos ter uma folguinha). []s Chiappa --- Em oracle_br@yahoogrupos.com.br, Welvis Douglas Silva Moreto [EMAIL PROTECTED] escreveu Qual a configuração minima para uma maquina rodar o Oracle Database 10g Express Edition att, Welvis Douglas ___ Yahoo! doce lar. Faça do Yahoo! sua homepage. http://br.yahoo.com/homepageset.html -- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ --__ Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine __ O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o link do mesmo para evitar trafego(pedidos) desnecessário. Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: [oracle_br] Re: Dúvida com tamanho de campos
Muito obrigado pela explicação Chiappa, Tem uma outra razão de eu perguntar isso, é que tenho tabelas no BD, que foram criadas com os tipos numericos defaults, e foi me dito também que estariam ocupando mais espaços do que se as tivesse declarado especificando a precisão.Agora tenho como argumentar. Valeu ;) []'s Aldo. Em 28/03/06, jlchiappa [EMAIL PROTECTED] escreveu: Seguinte : realmente se vc deixa um campo como NUMBER e outro como NUMBER(3), e o usuário informa (digamos) o valor 100 para ambos, seja como NUMBER seja como NUMBER(3) dois bytes serão gastos (o bd guarda compactados valores numéricos) : [EMAIL PROTECTED]:SQLcreate table TTT (c1 number, c2 number(3)); Tabela criada. [EMAIL PROTECTED]:SQLinsert into TTT values(100, 100); 1 linha criada. [EMAIL PROTECTED]:SQLselect c1, length(c1), vsize(c1), c2, length(c2), vsize (c2) from TTT; C1 LENGTH(C1) VSIZE(C1) C2 LENGTH(C2) VSIZE(C2) --- -- - --- -- - 100 3 2 100 3 2 Acontece porém que tamanho e precisão são SEGURANÇAS pros seus dados, um campo NUMBER sem definição VAI permitir que o usuário informe QUALQUER valor até o máximo de 38 dígitos (que logicamente VAI consumir um espaço correspondente), já o NUMBER(3) vai REJEITAR entradas maiores : [EMAIL PROTECTED]:SQLinsert into TTT values(1234567890, 98765432); insert into TTT values(1234567890, 98765432) * ERRO na linha 1: ORA-01438: valor maior que a precisão especificada usado para esta coluna Quanto à outros tipos numéricos não-Oracle (como FLOAT, INTEGER, etc) eles serão tratados como NUMBER com as máscaras apropriadas, assim um INTEGER padrão ANSI nada mais é do que um NUMBER(38). No manual Oracle SQL Reference capítulo de Datatypes, isso é documentado em detalhes. Quanto à VARCHAR2, vc necessariamente tem que informar o tamanho máximo : [EMAIL PROTECTED]:SQLcreate table TT (c1 varchar2); create table TT (c1 varchar2) * ERRO na linha 1: ORA-00906: parêntese esquerdo ausente [EMAIL PROTECTED]:SQLcreate table TT (c1 varchar2(10)); Tabela criada. e como ele é variável, a qquer momento ele pode usar até esse tamanho máximo informado, se a informação a armazenar é menor, apenas os bytes usados serão usados : [EMAIL PROTECTED]:SQLinsert into TT values('ABCDE'); 1 linha criada. [EMAIL PROTECTED]:SQLinsert into TT values('ABCDEFGHIJ'); 1 linha criada. [EMAIL PROTECTED]:SQLselect c1, length(c1), vsize(c1) from TT; C1 LENGTH(C1) VSIZE(C1) -- -- -- ABCDE 5 5 ABCDEFGHIJ 10 10 == No caso de caracteres, ainda há a questão de que vc PODE, opcionalmente, configurar o banco para aceitar strings em línguas não- ocidentais com mais de 255 caracteres (como chinês, árabe, etc), nessas línguas cada caracter ocupa 2 bytes, num caso desses os 10 caracteres do exemplo acima ocupariam 20 bytes, no mesmo manual isso é explicado também. []s Chiappa --- Em oracle_br@yahoogrupos.com.br, Aldo Moreira Beleza [EMAIL PROTECTED] escreveu Bom dia pessoal , Alguém poderia me tirar uma dúvida com relação ao tamanhos de campos com tipo numerico , um amigo me informou que não havia diferença em declarar por exemplo um number(3) pois internamente o Oralce armazenaria com o tamanho default dele, isto procede? Se for verdade como o oracle trata outros tipos, como varchar e float? Agradeço desde já, Aldo Beleza. [As partes desta mensagem que não continham texto foram removidas] -- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ --__ Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine __ O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o link do mesmo para evitar trafego(pedidos) desnecessário. -- *Links do Yahoo! Grupos* - Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ - Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED][EMAIL PROTECTED] - O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo! http://br.yahoo.com/info/utos.html. [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] APACHE(URGENTE)
Boa tarde a todos!! Tenho o IIS e OPACHE instalado, sendo, gostaria de colocar o apache em uma outra porta sem ser a porta 80..Aode posso mudar??? SO Windows XP... Obrigado, Luiz Claudio - Yahoo! doce lar. Faça do Yahoo! sua homepage. [As partes desta mensagem que não continham texto foram removidas] -- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ --__ Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine __ O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o link do mesmo para evitar trafego(pedidos) desnecessário. Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
[Spam] Re: [oracle_br] APACHE(URGENTE)
Para alterar a porta do Apache é simples basta abrir o arquivo conf (se vc usar o Apache 2.0 ou superior vc pode acessar esse arquivo pelo menu do Windows ou se for um versão inferior basta procura-lo dentro da pasta de instalação do Apache) lá dentro terá uma configuração da porta, geralmente fica na 80, basta alterar para o número que vc quiser, salvar o arquivo e em seguida reiniciar o Apache. Luiz Claudio Felicio escreveu: Boa tarde a todos!! Tenho o IIS e OPACHE instalado, sendo, gostaria de colocar o apache em uma outra porta sem ser a porta 80..Aode posso mudar??? SO Windows XP... Obrigado, Luiz Claudio - Yahoo! doce lar. Faça do Yahoo! sua homepage. [As partes desta mensagem que não continham texto foram removidas] -- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ --__ Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine __ O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o link do mesmo para evitar trafego(pedidos) desnecessário. *Links do Yahoo! Grupos* * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo! http://br.yahoo.com/info/utos.html. -- --- Petter R. Villa Real Silva - TI www.bebidaswilson.com.br Fone: 55 (18) 3941-9000 --- -- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ --__ Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine __ O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o link do mesmo para evitar trafego(pedidos) desnecessário. Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
[oracle_br] Instalar Package do Oracle Enterprise no Standard
Gostaria de saber se é possível, e como faço, para instalar um pacote que existe na versão Enterprise do Oracle 10g mas não está completa na versão Standard. Trata-se do pacote DBMS_SCHEDULER. Preciso fazer uso de alguns procedimentos que só tem, por padrão, na versão Enterprise!!! Tem como??? Desde já obrigado -- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ --__ Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine __ O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o link do mesmo para evitar trafego(pedidos) desnecessário. Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
[oracle_br] Re: Execução de programa
Se esse servidor é o mesmo servidor onde o bd Oracle roda, consegue sim, desde que : a) o usuário que instalou e é dono do Oracle tenha acesso à essa pasta e à esse executável e b) vc tem instalado (ou tem permissão de instalar) nesse banco e nessa máquina OU Java OU external procedures OU uma linguagem de programação capaz de executar programas ler arquivos-texto e/ou se conectar no banco : às vezes por questão de segurança essas coisas são desabilitadas/proibidas. Em não sendo proibido, qquer uma dessas opções pode ter servir, dá uma pesquisada nas msgs antigas aqui do grupo que já rolaram exemplos/dicas de todas elas. []s Chiappa --- Em oracle_br@yahoogrupos.com.br, am_balielo [EMAIL PROTECTED] escreveu Boa Tarde pessoal do forum Gostaria de saber se uma procedure banco consegue executar um programa que está na raiz do servidor. Ex: Teste.exe Este servidor é Windows 2000 server e o banco é o Oracle 9i (9.2.0.6). Desde já muito obrigado. Alessandro -- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ --__ Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine __ O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o link do mesmo para evitar trafego(pedidos) desnecessário. Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
[oracle_br] Form
Pessoal, Existe alguma maneira de, no forms, saber qual a data do arquivo executável. Exemplo : estou executando o form PROGRAMA.FMX e preciso mostrar na WINDOW, qual a data deste executável. FORM 5.0.6.23.1 Oracle8i Enterprise Edition Release 8.1.5.1.0 - Production PL/SQL Release 8.1.5.1.0 - Production CORE Version 8.1.3.0.0 - Production TNS for Solaris: Version 8.1.5.0.0 - Production NLSRTL Version 3.4.0.0.0 - Production Grato, Carlos As informações contidas nesse e-mail e documentos anexos são dirigidas exclusivamente ao(s) destinatário(s) acima indicados, podendo ser confidenciais, particulares ou privilegiadas. Qualquer tipo de utilização dessas informações por pessoas não autorizadas está sujeito às penalidades legais. Caso você tenha recebido esse e-mail por engano, por favor envie uma mensagem ao remetente, deletando-o em seguida. Quaisquer opiniões ou informações expressadas neste e-mail pertencem ao seu remetente e não necessariamente coincidem com aquelas da Editora Globo. -- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ --__ Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine __ O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o link do mesmo para evitar trafego(pedidos) desnecessário. Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
[oracle_br] VPD e FGA
Chiappa, VPD e FGA não são coisas diferentes? VPD não seria para controlar a segurança à nivel de linha e a nível de coluna, e FGA não seria para fazer auditoria de instruções SELECT e DMLs? A package de manipulação do VPD seria o DBMS_RLS e do FGA o DBMS_FGA, correto? Abs Jonathan Barbosa - Original Message - From: jlchiappa [EMAIL PROTECTED] To: oracle_br@yahoogrupos.com.br Sent: Tuesday, March 28, 2006 1:38 PM Subject: [oracle_br] Re: Segurança Bom, não há uma receita de bolo exata e precisa pra isso, mas de modo geral : necessidade 1, criptografar : vc vai precisar escrever uma pequena rotina pra isso, tradicionalmente isso era feito com a package DBMS_OBFUSCATION_TOOLKIT, no 10g foi introduzida a DBMS_CRYPTO, que é uma melhoria dela. No manual 10g de Supplied Packages vc acha as sintaxes e alguns exemplos de ambas, em http://www.dbasupport.com/oracle/ora10g/10g_PLSQL01.shtml , http://www.dbasupport.com/oracle/ora10g/DBMS_OBFUSCATION_TOOLKIT.shtml e http://asktom.oracle.com (use a opção Search procurando por DBMS_CRYPTO) algumas dicas. necessidade 2, restringir acesso de acordo com usuário : primeira coisa, o nome do usuário que fez a inserção ** NÃO ** fica automaticamente guardado em lugar algum, vc VAI ter que guardar isso pra poder usar depois na hora de SELECTs - o mais comum seria vc ter uma coluna NOME_USUARIO nas tabelas, provavelmente preenchida automaticamente por um trigger. Uma vez vc já tendo a informação de quem inseriu (e portanto pode enxergar) cada linha, pra que cada usuário só veja os seus registros, OU vc só dá pros usuários acesso a uma VIEW que filtra isso, tipo CREATE VIEW V_TABELA as (select * from tabela where NOME_USUARIO=user; , OU então vc usa o recurso do FGAC (Fine Grained Access Control), também conhecido como VPD (Virtual Private Database), com esse recurso automaticamente o banco vai interceptar cada SQL que vc indicar e adicionar uma condição de WHERE , no caso a condição de where NOME_USUARIO=user , o que dá o resultado desejado também. []s Chiappa --- Em oracle_br@yahoogrupos.com.br, Ricardo Lyrio [EMAIL PROTECTED] escreveu Tenho a seguinte situação: Oracle 10gR2, e preciso implementar segurança em determinadas colunas de algumas tabelas da seguinte maneira: Um usuário que cadastrou um registro na tabela A somente ele e mais ninguém poderá ver o registro, inclusive num select com permissões de DBA eu não posso ver o conteúdo do registro, ele precisa vir criptografado. Alguém tem alguma idéia de qual caminho seguir? Abraço a todos e desde já agradeço a ajuda Ricardo Lyrio [As partes desta mensagem que não continham texto foram removidas] -- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ --__ Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine __ O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o link do mesmo para evitar trafego(pedidos) desnecessário. Links do Yahoo! Grupos -- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ --__ Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine __ O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o link do mesmo para evitar trafego(pedidos) desnecessário. Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
RES: [oracle_br] Form
Nos demos tem uma biblioteca D2KWUTIL lá tem: WIN_API_FILE.MODIFIED_DATE(ARQUIVO, DATA_ARQUIVO, MSEGUNDOS, ERRO); if MSEGUNDOS 0 then DATA_ARQUIVO := DATA_ARQUIVO + (MSEGUNDOS/1000/60/60/24); end if; -Mensagem original- De: Carlos Roberto Silva - Tecnologia da Informação - Editora Globo [mailto:[EMAIL PROTECTED] Enviada em: terça-feira, 28 de março de 2006 16:09 Para: oracle_br@yahoogrupos.com.br Assunto: [oracle_br] Form Pessoal, Existe alguma maneira de, no forms, saber qual a data do arquivo executável. Exemplo : estou executando o form PROGRAMA.FMX e preciso mostrar na WINDOW, qual a data deste executável. FORM 5.0.6.23.1 Oracle8i Enterprise Edition Release 8.1.5.1.0 - Production PL/SQL Release 8.1.5.1.0 - Production CORE Version 8.1.3.0.0 - Production TNS for Solaris: Version 8.1.5.0.0 - Production NLSRTL Version 3.4.0.0.0 - Production Grato, Carlos As informações contidas nesse e-mail e documentos anexos são dirigidas exclusivamente ao(s) destinatário(s) acima indicados, podendo ser confidenciais, particulares ou privilegiadas. Qualquer tipo de utilização dessas informações por pessoas não autorizadas está sujeito às penalidades legais. Caso você tenha recebido esse e-mail por engano, por favor envie uma mensagem ao remetente, deletando-o em seguida. Quaisquer opiniões ou informações expressadas neste e-mail pertencem ao seu remetente e não necessariamente coincidem com aquelas da Editora Globo. -- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ --__ Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine __ O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o link do mesmo para evitar trafego(pedidos) desnecessário. Links do Yahoo! Grupos -- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ --__ Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine __ O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o link do mesmo para evitar trafego(pedidos) desnecessário. Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
[oracle_br] Tech Leader / System Analyst
ProAtiv Recursos Humanos Estamos selecionando para atuação em Porto Alegre/RS. Tech Leader / System Analyst Oracle Applications / Financials PL / SQL Test Konowledge English Fluent Bachelors degree Computer Science or Engineering Master Degree- Desirable Oracle Certification - Desirable Experience on General Ledger (GL) processes customization. Responsibilities include development of software to specifications, unit testing and integration tests. Consolidated experience in software projects development using Oracle. Experience in code development to document technical specifications. Development of software specifications, unit testing and integration testing Currículos para [EMAIL PROTECTED], informando pretensão salarial. Um abraço Ester Martin Branco Pinto _ ProAtiv - Gestão e Desenvolvimento S/C www.proativ.com.br e-mail e msn - [EMAIL PROTECTED] 51 3342.8482 / 9268.1294 -- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ --__ Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine __ O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o link do mesmo para evitar trafego(pedidos) desnecessário. Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
RES: [oracle_br ] Re: Configuração Banco Desenvolvim ento
Boa tarde Pessoal, Agradeço pela ajuda, em especial ao Luis Claudio e ao Chiappa, Coloquei a configuração que o Luis me enviou e verifiquei as estruturas desse banco. O Banco agora esta funcionando, conforme pode, sem travar. Obrigado. Att. Diones Kleber Cruz -- DBA Oracle 9i Desenv de Sistemas Senior [EMAIL PROTECTED] [EMAIL PROTECTED] -- -Mensagem original- De: jlchiappa [mailto:[EMAIL PROTECTED] Enviada em: terça-feira, 28 de março de 2006 14:34 Para: oracle_br@yahoogrupos.com.br Assunto: [oracle_br] Re: Configuração Banco Desenvolvimento Eu complementaria : além de alterar params (que eu vou recomendar alguns, também), eu diria pra antes de tudo vc verificar as ESTRUTURAS desse banco, banco desenvolvimento é por demais comum o sujeito deixar tudo à lá vonté , aí desenvolvedores fazem e acontecem, mesmo... E sendo a máquina ruim, tudo fica inda pior... Assim, checar por : - versão de banco, os últimos releases do 8i (ie, 8.1.7.4.x) corrigiram DIVERSOS bugs importantes, inclusive de performance, recomendo FORTEMENTE que vc vá pra esse release se já não estiver - tamanho de bloco, 4 Kb muitas vezes é pequeno demais, eu diria pra vc ir pra 8 Kb - NINGUÉM afora o SYS usando a tablespace SYSTEM para criar nada , nem ter como default tablespace SYSTEM - ter-se apenas tablespaces LMT nesse banco, de preferência de acordo com a política mostrada em http://www.oracle.com/technology/deploy/availability/pdf/defrag.pdf - no possível, tentar evitar contenção, espalhando os objetos por várias tablespaces, e as tablespaces por vários discos - ter-se a máquina otimizada em nível de hardware e soft : por exemplo, se discos IDE, faz uma diferença ENORME vc habilitar acesso ATA-full como mostrado em http://www.clubedohardware.com.br/artigos/1055, e (como dito pelo outro colega) a nível de windows vc desabilitar TODAS as animações, active directory, ter a resolução mínima, diminuir ao máximo enfim a utilização de hw pelo win... - ter uma tablespace temporário que use TEMPFILES, e nunca datafiles, e ** TODOS ** os usuários, inclusive o SYS, necessariamente TEM que ter essa tablespace como default tamporary - configurar e usar CBO, já que é desenvolvimento novo - isso implica em alteração dos params optimizer, em estats frequentes... - tenha log files em boa quantidade (ao menos uns 6) e em tamanho generoso (ao menos algumas dezenas de Mbs cada um) - a tablespace de rollback TEM que ser LMT, uniform size de extent (1Mb é razoável) e ao menos uns 100 Mb de tamanho e uns 20 extents iniciais : isso, junto com os log files, MUITO provavelmente deve te ajudar nos DMLs - checar de que jeito foram criadas as tabelas, se necessário especificar pctfree/pctused/initrans/maxtrans nas mais usadas - setar um buffer_pool_keep e um buffer_pool_recycle se houver tabelas que se beneficiem deles Quanto aos params, eu sugiro (assumindo banco de 8k de blocksize) : db_block_buffers = 6400 # isso dá 50 Mb de cache de dados, pruma máquina de desenvolvimento, onde DIFICILMENTE a mesma consulta roda várias e várias vezes, tá de bom tamanho db_files = 1024 # DIMINUA isso prum número mais real, mais próximo da qtdade real de datafiles, isso interfere em alguns cálculos de performance no 8i db_file_multiblock_read_count = 8 # 8 blocos de 4kb (que era o seu caso) é ridículo, isso representa 32 Kb de I/O por vez, até um disco IDE vagabundão é capaz de mais que isso, teste via trace qual é o limite, mas normalmente 1 Mb é o limite real em hardware comum log_buffer = 163840 # suba isso, normalmente algo por volta de 512 Kb a 1 Mb vai melhor log_checkpoints_to_alert = true # se vc não precisa dos warnings, bote FALSE shared_pool_size = 20480 # 200 Mb de shared pool, quase metade da RAM aproveitável da máquina Ridículo, uns 64 Mb já tão de bom tamanho, SE vc começar a receber erros de falta de shared em picos de uso aumente um pouquinho mais, mas não muito java_pool_size = 10485760 # não zere java_pool, alguns utilitários do banco usam ele, deixe esses 10 Mb mesmo, ou um pouquinho mais large_pool_size = 41943040 # vc USA MTS ou paralelismo, pra que tenha large pool habilitado ?? sort_area_size = 524288 # 500 kb de sort ??? Negativo, isso não dá pra nada, ao menos alguns Mbs aqui... Vc não mostra, mas sort_area_size max_dump_file_size = 10240 # isso não interfere em performance, mas recomendo vc deixar um valor bem grande pra poder fazer os traces mais facilmente... vc não mostra, mas cito como importante também se ter no 8i : hash_join_enabled como TRUE, compatible com o valor correto do banco, e de preferência ter timed_statistics como TRUE, pra que vc possa fazer análises mais facilmente. == Não é garantido que tudo isso resolva (resolver com garantia normalmente é algo que só se pode fazer localmente), mas deve SIM ajudar e
Re: RES: [oracle_br] Form
Ou se usa a alternativa de baixa tecnologia, ie : HOST('DIR p:\path\nomedoform.fmx c:\arq.txt') - dependendo da versão de win pode ser HOST('DIR ou HOST ('CMD/C DIR ou variantes do tipo) - , e depois abre-se e se lê C:\ARQ.TXT via text_IO, tá lá a informação. []s Chiappa --- Em oracle_br@yahoogrupos.com.br, Valtemir Araujo de Lima [EMAIL PROTECTED] escreveu Nos demos tem uma biblioteca D2KWUTIL lá tem: WIN_API_FILE.MODIFIED_DATE(ARQUIVO, DATA_ARQUIVO, MSEGUNDOS, ERRO); if MSEGUNDOS 0 then DATA_ARQUIVO := DATA_ARQUIVO + (MSEGUNDOS/1000/60/60/24); end if; -Mensagem original- De: Carlos Roberto Silva - Tecnologia da Informação - Editora Globo [mailto:[EMAIL PROTECTED] Enviada em: terça-feira, 28 de março de 2006 16:09 Para: oracle_br@yahoogrupos.com.br Assunto: [oracle_br] Form Pessoal, Existe alguma maneira de, no forms, saber qual a data do arquivo executável. Exemplo : estou executando o form PROGRAMA.FMX e preciso mostrar na WINDOW, qual a data deste executável. FORM 5.0.6.23.1 Oracle8i Enterprise Edition Release 8.1.5.1.0 - Production PL/SQL Release 8.1.5.1.0 - Production CORE Version 8.1.3.0.0 - Production TNS for Solaris: Version 8.1.5.0.0 - Production NLSRTL Version 3.4.0.0.0 - Production Grato, Carlos As informações contidas nesse e-mail e documentos anexos são dirigidas exclusivamente ao(s) destinatário(s) acima indicados, podendo ser confidenciais, particulares ou privilegiadas. Qualquer tipo de utilização dessas informações por pessoas não autorizadas está sujeito às penalidades legais. Caso você tenha recebido esse e-mail por engano, por favor envie uma mensagem ao remetente, deletando-o em seguida. Quaisquer opiniões ou informações expressadas neste e-mail pertencem ao seu remetente e não necessariamente coincidem com aquelas da Editora Globo. -- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ -- __ Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine __ O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o link do mesmo para evitar trafego(pedidos) desnecessário. Links do Yahoo! Grupos -- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ --__ Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine __ O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o link do mesmo para evitar trafego(pedidos) desnecessário. Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
[Spam] Re: Re: Re: [oracle_br] APACHE(URGENTE)
Olha eu nunca fiz isso mas sei que jeito tem, a 1 ano atrás +/- eu participava de uma lista sobre PHP e o pessoal lá tava configurando o IIS/PHP e o Apache/PHP em uma mesma máquina, se não me engano tinha que mexer no gerenciador de serviços do Windows, pois no fundo são dois softwares para o mesmo tipo de serviço, e após fazer isso tinha que configurar o IIS também. Mas no final quem tava fazendo isso reclamava muito de instabilidade dos servidores, lentidão e até travamento no Windows. O ideal é só um operando na mesma máquina. Luiz Claudio Felicio escreveu: Obrigado Petter..Mais uma informação é possivel os dois estarem rodando ao mesmo tempo? IIS E APACHE?, pois eu já tinha alterado nesse arquivo config, mas dai quando eu rodo uma pagina o IIS da erro, é preciso parar o apache para que a mesma funcione..Teria uma forma para que os dois serviços funcionarem ao mesmo tempo.. Obrigado pelas informações.. Petter R. Villa Real Silva [EMAIL PROTECTED] escreveu: Para alterar a porta do Apache é simples basta abrir o arquivo conf (se vc usar o Apache 2.0 ou superior vc pode acessar esse arquivo pelo menu do Windows ou se for um versão inferior basta procura-lo dentro da pasta de instalação do Apache) lá dentro terá uma configuração da porta, geralmente fica na 80, basta alterar para o número que vc quiser, salvar o arquivo e em seguida reiniciar o Apache. Luiz Claudio Felicio escreveu: Boa tarde a todos!! Tenho o IIS e OPACHE instalado, sendo, gostaria de colocar o apache em uma outra porta sem ser a porta 80..Aode posso mudar??? SO Windows XP... Obrigado, Luiz Claudio - Yahoo! doce lar. Faça do Yahoo! sua homepage. [As partes desta mensagem que não continham texto foram removidas] -- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ --__ Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine __ O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o link do mesmo para evitar trafego(pedidos) desnecessário. *Links do Yahoo! Grupos* * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo! . -- --- Petter R. Villa Real Silva - TI www.bebidaswilson.com.br Fone: 55 (18) 3941-9000 --- -- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ --__ Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine __ O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o link do mesmo para evitar trafego(pedidos) desnecessário. Links do Yahoo! Grupos - Yahoo! Acesso Grátis Internet rápida e grátis. Instale o discador agora! [As partes desta mensagem que não continham texto foram removidas] -- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ --__ Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine __ O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o link do mesmo para evitar trafego(pedidos) desnecessário.
[oracle_br] GRANTS DE EXECUTE
Pessoal, boa tarde, como faço para saber quais usuários e quais roles tem privilégio de execute em functions, procedures, e packages através da views de sistemas (tipo a dba_tab_privs) ??? Obrigado Rodrigo [As partes desta mensagem que não continham texto foram removidas] -- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ --__ Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine __ O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o link do mesmo para evitar trafego(pedidos) desnecessário. Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: [oracle_br] Re: VPD e FGA
VPD (Virtual Private Database), com esse recurso automaticamente o banco vai interceptar cada SQL que vc indicar Só para ficar mais claro, você não indica o SQL (SELECT), e sim a Tabela, View ou Sinônimo. No 10g, você ainda pode ir mais longe, além de indicar a Tabela (como citado acima), tu pode indicar o nome da Coluna (isto é, se no SELECT enviado, conter o nome da Tabela e o nome da Coluna), o VPD/RLS/FGAC entra em ação. Anderson Haertel Rodrigues Administrador de Banco de Dados - DBA Florianópolis/SC --- jlchiappa [EMAIL PROTECTED] escreveu: Não é FGA, é FGAC que eu disse (Fine Grained Access Control), FGAC sim é o mesmo que VPD, sim, é implementado pela package citado. FGA existe, é sim implementado pela DBMS_FGA sim, mas FGA (Fine Grained Audit) serve pra auditoria, é coisa diferente . []s Chiappa --- Em oracle_br@yahoogrupos.com.br, [EMAIL PROTECTED] escreveu Chiappa, VPD e FGA não são coisas diferentes? VPD não seria para controlar a segurança à nivel de linha e a nível de coluna, e FGA não seria para fazer auditoria de instruções SELECT e DMLs? A package de manipulação do VPD seria o DBMS_RLS e do FGA o DBMS_FGA, correto? Abs Jonathan Barbosa - Original Message - From: jlchiappa [EMAIL PROTECTED] To: oracle_br@yahoogrupos.com.br Sent: Tuesday, March 28, 2006 1:38 PM Subject: [oracle_br] Re: Segurança Bom, não há uma receita de bolo exata e precisa pra isso, mas de modo geral : necessidade 1, criptografar : vc vai precisar escrever uma pequena rotina pra isso, tradicionalmente isso era feito com a package DBMS_OBFUSCATION_TOOLKIT, no 10g foi introduzida a DBMS_CRYPTO, que é uma melhoria dela. No manual 10g de Supplied Packages vc acha as sintaxes e alguns exemplos de ambas, em http://www.dbasupport.com/oracle/ora10g/10g_PLSQL01.shtml , http://www.dbasupport.com/oracle/ora10g/DBMS_OBFUSCATION_TOOLKIT.shtml e http://asktom.oracle.com (use a opção Search procurando por DBMS_CRYPTO) algumas dicas. necessidade 2, restringir acesso de acordo com usuário : primeira coisa, o nome do usuário que fez a inserção ** NÃO ** fica automaticamente guardado em lugar algum, vc VAI ter que guardar isso pra poder usar depois na hora de SELECTs - o mais comum seria vc ter uma coluna NOME_USUARIO nas tabelas, provavelmente preenchida automaticamente por um trigger. Uma vez vc já tendo a informação de quem inseriu (e portanto pode enxergar) cada linha, pra que cada usuário só veja os seus registros, OU vc só dá pros usuários acesso a uma VIEW que filtra isso, tipo CREATE VIEW V_TABELA as (select * from tabela where NOME_USUARIO=user; , OU então vc usa o recurso do FGAC (Fine Grained Access Control), também conhecido como VPD (Virtual Private Database), com esse recurso automaticamente o banco vai interceptar cada SQL que vc indicar e adicionar uma condição de WHERE , no caso a condição de where NOME_USUARIO=user , o que dá o resultado desejado também. []s Chiappa --- Em oracle_br@yahoogrupos.com.br, Ricardo Lyrio [EMAIL PROTECTED] escreveu Tenho a seguinte situação: Oracle 10gR2, e preciso implementar segurança em determinadas colunas de algumas tabelas da seguinte maneira: Um usuário que cadastrou um registro na tabela A somente ele e mais ninguém poderá ver o registro, inclusive num select com permissões de DBA eu não posso ver o conteúdo do registro, ele precisa vir criptografado. Alguém tem alguma idéia de qual caminho seguir? Abraço a todos e desde já agradeço a ajuda Ricardo Lyrio Anderson Haertel Rodrigues Administrador de Banco de Dados - DBA Florianópolis/SC ___ Yahoo! doce lar. Faça do Yahoo! sua homepage. http://br.yahoo.com/homepageset.html -- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ --__ Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine __ O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o link do mesmo para evitar trafego(pedidos) desnecessário. Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do
[oracle_br] Re: VPD e FGA
É, relendo realmente não ficou bem claro no meu texto original, mas é isso mesmo : vc indica o elemento participante do SQL (seja tabela ou view ou similar), o banco monitora os SQLs recebidos, assim que um SQL com esse elemento chegar, o SQL é capturado, alterado adicionando-se o WHERE desejado, e essa versão alterada é que será executada, sim... []s Chiappa --- Em oracle_br@yahoogrupos.com.br, Anderson Haertel Rodrigues [EMAIL PROTECTED] escreveu VPD (Virtual Private Database), com esse recurso automaticamente o banco vai interceptar cada SQL que vc indicar Só para ficar mais claro, você não indica o SQL (SELECT), e sim a Tabela, View ou Sinônimo. No 10g, você ainda pode ir mais longe, além de indicar a Tabela (como citado acima), tu pode indicar o nome da Coluna (isto é, se no SELECT enviado, conter o nome da Tabela e o nome da Coluna), o VPD/RLS/FGAC entra em ação. Anderson Haertel Rodrigues Administrador de Banco de Dados - DBA Florianópolis/SC --- jlchiappa [EMAIL PROTECTED] escreveu: Não é FGA, é FGAC que eu disse (Fine Grained Access Control), FGAC sim é o mesmo que VPD, sim, é implementado pela package citado. FGA existe, é sim implementado pela DBMS_FGA sim, mas FGA (Fine Grained Audit) serve pra auditoria, é coisa diferente . []s Chiappa --- Em oracle_br@yahoogrupos.com.br, [EMAIL PROTECTED] escreveu Chiappa, VPD e FGA não são coisas diferentes? VPD não seria para controlar a segurança à nivel de linha e a nível de coluna, e FGA não seria para fazer auditoria de instruções SELECT e DMLs? A package de manipulação do VPD seria o DBMS_RLS e do FGA o DBMS_FGA, correto? Abs Jonathan Barbosa - Original Message - From: jlchiappa [EMAIL PROTECTED] To: oracle_br@yahoogrupos.com.br Sent: Tuesday, March 28, 2006 1:38 PM Subject: [oracle_br] Re: Segurança Bom, não há uma receita de bolo exata e precisa pra isso, mas de modo geral : necessidade 1, criptografar : vc vai precisar escrever uma pequena rotina pra isso, tradicionalmente isso era feito com a package DBMS_OBFUSCATION_TOOLKIT, no 10g foi introduzida a DBMS_CRYPTO, que é uma melhoria dela. No manual 10g de Supplied Packages vc acha as sintaxes e alguns exemplos de ambas, em http://www.dbasupport.com/oracle/ora10g/10g_PLSQL01.shtml , http://www.dbasupport.com/oracle/ora10g/DBMS_OBFUSCATION_TOOLKIT.shtml e http://asktom.oracle.com (use a opção Search procurando por DBMS_CRYPTO) algumas dicas. necessidade 2, restringir acesso de acordo com usuário : primeira coisa, o nome do usuário que fez a inserção ** NÃO ** fica automaticamente guardado em lugar algum, vc VAI ter que guardar isso pra poder usar depois na hora de SELECTs - o mais comum seria vc ter uma coluna NOME_USUARIO nas tabelas, provavelmente preenchida automaticamente por um trigger. Uma vez vc já tendo a informação de quem inseriu (e portanto pode enxergar) cada linha, pra que cada usuário só veja os seus registros, OU vc só dá pros usuários acesso a uma VIEW que filtra isso, tipo CREATE VIEW V_TABELA as (select * from tabela where NOME_USUARIO=user; , OU então vc usa o recurso do FGAC (Fine Grained Access Control), também conhecido como VPD (Virtual Private Database), com esse recurso automaticamente o banco vai interceptar cada SQL que vc indicar e adicionar uma condição de WHERE , no caso a condição de where NOME_USUARIO=user , o que dá o resultado desejado também. []s Chiappa --- Em oracle_br@yahoogrupos.com.br, Ricardo Lyrio [EMAIL PROTECTED] escreveu Tenho a seguinte situação: Oracle 10gR2, e preciso implementar segurança em determinadas colunas de algumas tabelas da seguinte maneira: Um usuário que cadastrou um registro na tabela A somente ele e mais ninguém poderá ver o registro, inclusive num select com permissões de DBA eu não posso ver o conteúdo do registro, ele precisa vir criptografado. Alguém tem alguma idéia de qual caminho seguir? Abraço a todos e desde já agradeço a ajuda Ricardo Lyrio Anderson Haertel Rodrigues Administrador de Banco de Dados - DBA Florianópolis/SC ___ Yahoo! doce lar. Faça do Yahoo! sua homepage. http://br.yahoo.com/homepageset.html -- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
[oracle_br] Re: Copiar bancos
Marcio e chiappa, Qual o tempo que vc gastam para fazer Export. tenho um banco 9i, estou encontrando varios problemas de consumo excessivo de memoria e swap e para piorar quando executo um Export em geral demora umas 3 horas exportando. meu banco esta na casa de 10GB.. No meu servidor aix F50 Antigo com 1gb de memoria eu tinha uma performance excelente, hj com um servidor novo. p615 com 4gb de memo ele ta parecendo uma carroca.. a unica coisa que fiz para que melhore foi coloca-lo em mts. Abracos --- Em oracle_br@yahoogrupos.com.br, DBA - ORACLE [EMAIL PROTECTED] escreveu nossa sua resposta valeu como uma boa aula pra mim cara valeu mesmo Marcio Em 24/03/06, jlchiappa [EMAIL PROTECTED] escreveu: O que o export e o import fazem basicamente é enviar SQLs ao banco, e SGA não interfere fortemente na performance de um único SQL - os diversos caches (que são o principal componente da SGA) ajudam um pouco mas o que interfere muito mais são os params de I/O (em especial o db_file_multiblock_read_count), estatísticas frescas (se estiver usando CBO), os parâmetros de config gerais também usados pelo CBO (como os optmizer_nnn), e os parâmetros de alocação de sort/hash (ie, pga_aggregate_target se workarea_size_policy estiver como AUTO, ou sort_area_size e hash_area_size se workarea_size_policy estiver MANUAL. == A causa principal, porém, de má-performance no exp e no imp é a pessoa querer fazer uma sessão só de exp/imp, e/ou ** NÂO ** utilizar os parâmetros de performance citados no manual Oracle Utilies na hora de chamar o exp/imp, e/ou no caso do imp a pessoa deixar o imp checar constraints e criar índices em modo LOGGING, na maioria dos casos ambas as opções não se aplicam. Dependendo da velocidade de conexão de rede entre as duas máquinas e do tipo de dados, as outras opções (ie, dblink e geração de arquivo- texto) podem ser mais performantes, mas pro caso de exp/imp a idéia então pra vc obter a melhor performance possível neles é : num banco com os params acima citados checados e otimizados (ou até alterados na sessão que fará o exp, se for o caso), vc primeiro faz ** vários ** exps em paralelo (quantas a tua máquina suportar sem arrear), só de dados, cada um pegando uma porção das tabelas, com cada um sempre usando as opções do exp de DIRECT=Y BUFFER=valor razoável, uns 10 Mb talvez COMPRESS=N RECORDLENGTH=65535 STATISTICS=none GRANTS=n INDEXES=n CONSTRAINTS=n RECORD=n , isso gerará dump dos dados o mais rapidamente que o exp pode. Aí, vc gera um último dump só com os índices e constraints, depois vc gera um script .sql desses índices e constraints (opção INDEXFILE do imp), e altera esse script para criar os índices com NOLOGGING (e PARALLEL se a máquina suporta) e as constraints com ENABLE NOVALIDATE. Pra importar, vc ANTES pre-cria as tablespaces no banco-destino, depois abre ** várias ** sessões de imps, cada uma importando um dos .dmps de dados, e no final de tudo roda o script .SQL que vc criou com o indexfile. Veja lá se a performance do exp/imp desse jeito te atende (pra vc ter uma base, no meu banco que já está com as otimizações todas, no meu hardware que é bem potente - servidor 64 bits, array de discos , várias controladoras de fibra - , da última vez gerei o banco- destino de alguns Tbs em 18 horas, se o seu banco for de Gbs isso é trampo pra bem menos tempo... []s Chiappa --- Em oracle_br@yahoogrupos.com.br, DBA - ORACLE [EMAIL PROTECTED] escreveu entendi...bom então acho que terei que partir pro plano B mesmo...fazer via import, pois os diretórios além de serem diferentes a versão do windows tb éh.. só mais uma coisinha. : ) o parâmetro do banco interfere na performance do import? Pq da última vez que fiz desanimei...não sei se é pq deixei a sga total com 2400m sendo que o server tem 6G de memória Em 23/03/06, jlchiappa [EMAIL PROTECTED] escreveu: O bd Oracle se controla pelo controlfile, nele fica registrado o path de cada datafile, além de outras infos : assim, se no banco original os datafiles estavam em F:\DADOS (digamos), na máquina nova vc TEM QUE os ter copiados pra um drive F: com uma pasta DADOS e com as exatas permissões que estavam na ma´quina original , sob o mesmo usuário que existia na outra máquina. REPITO porém que isso só vale se os SOs forem exatamente os mesmos, se tiver diferença de versão já não se garante o procedimento. []s Chiappa --- Em oracle_br@yahoogrupos.com.br, DBA - ORACLE [EMAIL PROTECTED] escreveu blz então agora sei que posso fazer a cópia dos datafiles, controlfiles, logs, etc, só preciso saber que ao copiando todos estes arquivos pro local do novo banco...qual método para poder fazer com que o oracle novo reconheça os arquivos de dados...